解决VS调试时断点不会命中

断点调试是VS中的一大利器,有了它我们可以快速定位到代码的问题所在。在某些情况下会导致设置了断点后程序无法在断点处停下,下面分4种情况来解决断点不会命中的问题

百度经验:jingyan.baidu.com

方法/步骤

  1. 1

    1,检查VS的调试模式。VS的调试分为两种,Debug和Release。Debug是专门真对检查程序的bug而设置的一种模式。Release模式对程序的编译进行了优化,一般用于程序发布。首先确保是在Debug模式下设置的断点。

    步骤阅读

  2. 2

    2,检查设置断点的模块在调试时有没有输出。调试时遇到最多的警告“当前不会命中断点 还没有为该文档加载任何符号 ”。原因是我们设置断点的代码块并没有编译输出。

    步骤阅读

  3. 3

    找到程序的生成目录,通常是在bin文件夹下,删除设置断点代码文件对应的dll文件或exe文件。重新调试项目

    步骤阅读

  4. 4

    3,统一引用目录,将引用设置到同一个目录下,防止源码与dll版本不匹配

  5. 5

    4,工具——选项——调试——常规中的“要求源文件和原始版本完全匹配”的勾去掉

时间: 2024-11-06 12:15:46

解决VS调试时断点不会命中的相关文章

解决VS调试时断点不会命中的问题

在VS2010中进行ArcMap Add-in插件开发(ArcEngine10.1,ArcGIS10.1),运行时为.NET4.0,在程序中设置了断点进行调试,但是运行后程序并不会在断点处停止,且原来深褐色的断点圆圈标记变成了白色,还有个警告的符号,提示:当前不会命中断点,还没有为该文档加载任何符号. 网上搜索这句警告提示的解决办法发现这个问题很常见,解决办法也有好多.我按照网上的办法一一试了一遍结果都不能解决我的问题.又临近崩溃的边缘,差点想重装VS了. 由于运行程序时会自动启动ArcMap,

解决GDB调试时“ No symbol table is loaded. Use the "file" command”问题

1.解决的办法 : GDB调试时使用list命令时出现 “No symbol table is loaded. Use the "file" command”提示,其实是C编译器的选项CFLAGS没有设置好,gcc -o进行编译时不用不用写“-g”选项,只需在makefile文件开头写上“CFLAGS = -g”在编译时编译器就会自动使用CFLAGS的设置了. 2.探索的过程: 我的makefile文件是这样编写的: “make clear”.“make main”.“gdb main

VS2010开发AutoCAD 2012 .net应用程序调试时断点不起作用

VS2010+ AutoCAD 2012开发调试过程中,发现普通的Class里面的断点是可以跟踪到的,可能是创建自定义的Form做界面是,Form1.cs中的代码断点却不管用.原因在于AutoCAD的纤程(Fiber).是的,是纤程(Fiber)而不是线程(Thread).VS2010的调试器和AutoCAD的纤程一起工作时会有问题.解决的办法就是关闭AutoCAD纤程.通过系统环境变量FIBERWORLD来查看当前纤程是否打开,如果是1,则可以通过把系统环境变量NEXTFIBERWORLD设为

解决vs2005调试时出现未载入符号的问题

首先在以下的网址下载相应系统的符号包 http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx 下载完之后安装到一个文件夹比方D:\symbol 然后再系统变量里加入变量例如以下例如以下 _NT_SYMBOL_PATH=SRV*D:\symbol*http://msdl.microsoft.com/download/symbols D:\symbol就是你刚刚安装的文件夹.之后重新启动试一下 复制去Google翻译翻译结果 D

Visual Studio2012调试时无法命中断点

今天在调试代码的时候发现在Debug模式下无法命中断点,然后一步步去检查原因,最后发现是在项目-->属性-->生成-->高级-->调试信息被设置为None,然后在选项中将其选择为Full之后,问题就解决了. 然后看了一下,这几个选项:null .pdb-only.full,顾名思义当选择为null时,表示不输出调试信息,即当前项目不会生成.pdb文件,当我们选择启动时为Debug模式下,该项默认为full,当我们选择默认的启动项为Release模式时,该项默认为:pdb-only,

vscode c++ 编译生成后,调试时无法命中断点

1 //test.cpp 2 #include <stdio.h> 3 int g_var = 0; 4 void print_line(char *str) 5 { 6 if (str != NULL) 7 printf("%s\r\n", str); 8 else 9 printf("null string\r\n"); 10 } 11 int main (int argc, char **argv) 12 { 13 int l_var = 1; 1

VS2017调试代码显示“当前无法命中断点,还没有为该文档加载任何符号”

VS2017升级之后,代码调试无法进入,显示"当前无法命中断点,还没有为该文档加载任何符号"的问题解决思路: 1.性" 2.选中启动项目-右键属性-生成,取消勾选"优化代码" 3.选中启动项目-右键属性-Web,勾选"ASP.NET"和"启用编辑并继续" 4.工具栏-调试-选项-常规,取消勾选"启用仅我的代码",取消勾选"要求源文件与原始版本完全匹配",勾选"启用编辑

解决真机调试时Eclipse DDMS上打不开/data目录的问题

一般真机调试时DDMS里面的File Explorer是不能打开/data 目录的,不过也很容易解决. 1.首先手机要root.这个很简单,网上一大堆资料和软件. 2.仅仅root之后还不行,下载一个ES 文件浏览器(或类似的软件),授予该软件root权限. 3.然手在ES 里面找到/data 目录,修改它的属性.把它的读.写.执行的权限全部开放出来. 然后就大功告成了.

matlab调试时子函数断点不起作用

matlab调试代码时总是遇到这样一个奇怪的问题,就是当我在主程序(.m脚本)中调用子函数并在子函数中设置断点,然后开始调试运行主程序... 发现主程序直接运行到结束而并没有在调用子函数的时候在所设置的断点处停下来,而且所设置的断点也被清除... 但是如果在主程序中调用相应子函数的地方设置断点,调试时在此处停一下然后在继续运行则可以在子函数中的断点停下... 这个问题困扰我挺长时间,虽然用第二种方法能够实现需要的调试功能,但是总是要在主程序停一下,有点麻烦 so, 有事问谷歌--you get