不能设置断点的检查步骤
2015-02-09 18:06
176 查看
不能设置断点的检查步骤
分类: 小技巧 调试 解决难题2009-02-0500:06 11804人阅读 评论(7) 收藏 举报
assemblydll.net笑话文档工具
在调试程序的时候,有的时候你会发现设置的断点不起作用,而且更糟糕的是,一般碰到这种情况的时候都是非常紧急或者是加班到夜已深、人寂静的时候了。正是应了那句玩笑话:“机器机器,越急越气!”。一般发生断点不起作用的话:
1. 你首先要判断的是断点是否真的设置上了?
a) 如果在Visual Studio里面,你的断点符号是一个实心圆,那么断点的确是设置上了,你要判断的是设置断点的语句是否真的被执行到了,这种情况的解决方案不在本文讨论当中。
b) 如果在Visual Studio里面,你的断点符号是一个空心圆,那么说明断点被你禁用了,那么启用就行了。
c) 如果在Visual Studio里面,你的断点符号是一个空心圆并且还带了一个小感叹号的话,如下图所示:
那么说明你的调试符号文件没有被正确加载,参看我这篇文档了解什么是符号文件:http://blog.csdn.net/Donjuan/archive/2008/12/05/3454597.aspx
2. 如果确定是符号文件没有加载正确,单击“调试”-- >“窗口”-- >“模块”列出程序加载的所有DLL文件,模块窗口还会列出每一个DLL文件的符号文件加载信息:
3. 由于我们设置的断点的源文件是TestWPF.exe源代码的一部分,从第二列里面可以看出Visual Studio没有找到TestWPF.exe的PDB文件,为了查看Visual Studio尝试在哪些路经加载我们的符号文件,可以右键单击TestWPF.exe那一行,在弹出菜单里面选择“符号文件加载信息”,打开的窗口里面详细显示了为什么Visual studio没有成功加载TestWPF.exe的PDB文件,这是一个输出的例子:
E:/Workspace/Study/Forum/Test/TestWPF/bin/Debug/TestWPF.pdb: Cannot find or open the PDB file. E:/Workspace/Study/Forum/Test/TestWPF/obj/Debug/TestWPF.pdb: Cannot find or open the PDB file. C:/WINDOWS/symbols/exe/TestWPF.pdb: Cannot find or open the PDB file. C:/WINDOWS/exe/TestWPF.pdb: Cannot find or open the PDB file. C:/WINDOWS/TestWPF.pdb: Cannot find or open the PDB file. |
a) 判断符号文件与模块是否匹配最简便的方法就是察看两者的创建时间是否相同,如果不同的话,那就肯定是不匹配的。
b) 如果时间相同,那有可能是因为模块文件是调试(Debug)版本,而符号文件是发布(Release)版本,这个时候,你可以用windbg自带的symchk程序来检查一下。命令的语法是:
Symchk.exe <模块的完整路径> /s <符号文件所在的文件夹>
下面两个图片分别是符号文件不匹配和匹配的输出示例:
符号文件和模块不匹配
符号文件和模块匹配的情形
c) 或者你有源代码的话,那就干脆重新编译一次就完了—这是最简单的方法。
5. 如果在“模块”窗口里面显示的是“跳过加载符号文件”,那么说明Visual studio默认认为这个模块的源代码不是程序的一部分,比如是程序引用到的一些.NET Framework的Assembly文件,因此它认为你不必要给这个模块排错。但是有的时候你需要看看堆栈信息或者需要单步跟踪进.NET Framwork的函数里面看看为什么调用会出错,因此你可以通过单击VS菜单里面的“工具”-- >“选项”-- >“调试”-- >“通用(General)”,勾掉“只调试我的代码”复选框,点击确定就可以了:
相关文章推荐
- 不能设置断点的检查步骤
- 不能设置断点的检查步骤
- 调试(DEGUG)之:不能设置断点(空心圆并且还带了一个小感叹号)的检查步骤
- 不能设置断点的检查步骤
- 不能设置断点的检查步骤
- 不能设置断点的检查步骤
- 不能设置断点的检查步骤
- TMS320F28335在Flash里面运行时不能设置断点的原因
- Eclipse不能设置断点的一种可能原因
- VS2005 调试不能设置断点的解决办法
- 如何解决IAR不能设置断点的问题
- VS2005 VS2010数据断点不能设置的原因 new data breakpoint is disabled
- VS2005 调试不能设置断点的解决办法
- vc6.0不能设置断点解决办法
- 在eclipse程序中设置的断点上有一个斜杠,正常启动debug不能够跳转到debug页面,怎么解决
- ubantu不能上网的几个检查步骤
- Eclipse不能设置断点解析
- VS”不能设置下面断点“和”无法单步执行“问题
- keil不能设置断点解决方法
- vs2008支持脚本设置断点调试,设置步骤如下: