开发环境 :VS2005 应用情况: 开发的DLL在被调用进行调试时候,为跟踪DLL运行情况,而在DLL中设定的断点无效,不能进入DLL源码调试 经检查,项目下的DLL、LIB、.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和.opt,rebuild all。 6. 看是否有:“warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失”警告,把那个cpp文件用记事本打开,另存为unicode格式,再重新编译。(参照http://www.cppblog.com/qiujian5628/archive/2008/04/11/41806.html vs2005奇怪的断点无效问题) 7. 工具->选项->调试->常规,将”要求源文件与原始版本完全匹配”的勾取消就可以了! 原文地址 http://wellwy.blog.51cto.com/1609602/542600 |
调试DLL (转 )
最新推荐文章于 2024-05-18 14:22:35 发布