设为首页 加入收藏

TOP

C语言断点调试和编译问题总结
2014-11-24 14:06:08 来源: 作者: 【 】 浏览:1
Tags:语言 断点 调试 编译 问题 总结

1. 编译环境使用VS2008,在调试过程中发现,某个函数的部分代码没有正确执行,在这部分代码处打断点调试,发现每次调试运行时总是提示断点无效。出问题的代码如下,在while(){}代码块内部打断点提示断点无效。


2. 那么,在什么情况下会导致运行时断点无效或不能在指定的位置打断点呢?
a) 是否编译时存在调试信息?
需要查看编译选项,debug or release(说白了就是编译时的optimizationlevel),debug会存在调试信息。
b) 在编译完成之后代码是否有改动?
代码可能已经和可执行文件不一致,导致打断点的位置和预期程序执行的位置不一致。如下图,断电停在a--的位置,但是程序已经输出了hello world。



c) 是否将这部分代码编译到了目标文件?
比如条件编译的影响,没有对这部分代码进行编译,当然就不可能打断点。那么,如何判断代码是否编译到了目标文件?


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Makefile的automake生成(HelloWo.. 下一篇Unix环境中Real time, User time ..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: