zoukankan      html  css  js  c++  java
  • Visual Studio 当前不会命中断点的问题

    这个问题一般有两个版本

    1.当前不会命中断点,还没有为该文档加载任何符号。

    2.当前不会命中断点,源代码与原始版本不同。

    要解决第一个问题,就要了解一种文件格式“PDB(Program DataBase)”,我们在给一个.Net程序集设置断点的时候,所有的调试信息都存放在这个文件,这里不打算深入探讨它,只需要知道它描述了我们程序集的断点,要调试程序就得加载它就够了.

    那么第一个问题的描述我们可以看成是没有加载到PDB文件或者加载失败了,解决方法是

    在程序调试时,使用Visual Studio的 调试》窗口》模块 查看当前程序加载的所有模块,找到你要调试的模块,右键菜单中就有一个加载符号的选项,选择对应的PDB文件即可。

    image

    关于PDB文件更详细的介绍  PDB文件概说

    现在来讨论第二个问题

    其实这个问题应该是很容易解决的,我在网上搜索的时候发现很多人没描述到重点,甚至是重新建立了一个项目来解决.我们知道每次F5开始调试程序都算是生成了一个新版本,那么这个问题的极有可能就是PDB文件记录的源码版本与你现在调试的版本不一致.

    再让我们想想什么时候会出现这种情况呢,常见的会影响到程序版本的操作就是当你编译失败时,Visual Studio询问你是否继续并运行上次的成功生成

    image

    这个时候应该就影响到了程序的版本,但我有个不明白的地方就是为何PDB文件不会每次编译都重新生成呢?还是以上推断另有隐情?

    那么这个时候解决方案就只能是同一PDB文件与源码的版本一致啦,我一般图省事,都是清理整个解决方案再重新生成,解决.

    以上就是我对这个问题的一些经验,我觉得只能解决问题(反正我每次都可以( ̄y▽ ̄)╭),却感觉还没有摸到这个问题的更深本质,希望园子里遇到过的都来探讨一下。

  • 相关阅读:
    在线教程-Qt参考文档
    利用QT中Qpainter画点,直线,弧线等简单图形
    Office2013下载地址
    Linux下声卡的安装(ALSA)
    聆听自由的声音----Linux下声卡驱动软件ALSA的安装与配置
    linux找回root密码
    删除排序数组中重复的元素【数组专题】
    类模板派生出新的类模板
    TCP的拥塞控制
    linux运行级别
  • 原文地址:https://www.cnblogs.com/MigCoder/p/3368319.html
Copyright © 2011-2022 走看看