2016年7月22日 星期五

VS调试无法进入DLL中断点解决方法

虽然使用的版本是2015,但用次方法亦可以调式dll

转自:http://blog.csdn.net/srzhz/article/details/7033985


开发环境 VS2005
应用情况: 开发的DLL在被调用进行调试时候,为跟踪DLL运行情况,而在DLL中设定的断点无效,不能进入DLL源码调试
经检查,项目下的DLLLIB.h都同步更新,排除了调用不同步的情况。
解决办法:
1.       进入DLL项目,在工程属性页中“Alt+F7”>“配置属性>“C/C++”>“常规>“调试信息格式,选择用于编辑并继续的程序数据库(/ZI)”
2.       配置属性>“链接器>“调试>“生成调试信息中,选择
编译重新更新,运行,断点生效
其他可能情况收集:来源于http://blog.csdn.net/desow/archive/2009/11/20/4843556.aspx
3.       解决方案配置是 release ,直接F5调试就可以,VS会提示你“没有找到调试信息,要继续调试吗?”,选择“是”即可。
4.       检查工程所在路径是不是有中文,有VS不支持中文路径的可能(参照http://blog.csdn.net/red_hope/archive/2007/10/20/1833916.aspx的经验)。
5.       删掉.ncb.optrebuild all
6.       看是否有:“warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失”警告,把那个cpp文件用记事本打开,另存为unicode格式,再重新编译。(参照http://www.cppblog.com/qiujian5628/archive/2008/04/11/41806.html vs2005奇怪的断点无效问题
7.       工具->选项->调试->常规,将”要求源文件与原始版本完全匹配”的勾取消就可以了!

沒有留言:

張貼留言