当前位置:编程学习 > wap >>

真机环境下调试C++ 编写的DLL,无法跟踪进DLL代码的问题

开发环境:VS2008 + WM Professional SDK 6

我在DLL工程所在的解决方案里面新建了一个调试工程,调试程序使用LoadLibrary显式加载DLL,编译后将调试程序EXE和DLL都部署到真机环境中,然后设置DLL工程为启动项目,并将远程可执行程序指向该调试程序;

结果发现调试程序中的断点会被执行,而DLL中设置的断点无法执行,在调试过程中,VS的模块窗口显示DLL的符号状态为已加载,但是DLL的名称下会出现一个红色的叹号;

我检查过模块窗口中显示的DLL的符号文件时间戳和路径,都与VS生成的pdb文件的时间戳和路径是一致的,我也参考过下面的帖子设置过pdb文件路径,但还是会出现无法跟踪的问题;
http://social.microsoft.com/Forums/zh-CN/1729/thread/4d8989cc-2eb9-4d6b-8a45-3d0f26cc8c73

请教下我的问题出在哪个方面?? --------------------编程问答-------------------- DLL是Debug版本的么? --------------------编程问答-------------------- DLL和调试工程都是DEBUG版本 --------------------编程问答-------------------- 把这个EXE和DLL的vcproj文件,都包括在1个sln文件中. --------------------编程问答-------------------- 这两个工程是包含在同一个解决方案里面的 --------------------编程问答-------------------- 你看一下调试的dll路径是不是不是指向编译出来的dll --------------------编程问答-------------------- 1、确认把DLL是DEBUG版本,且把项目属性中的所有优化选项关闭;
2、清理整个项目后重新调试;

若按上述两步操作后仍无法调试,试着删除原有的pdb文件,如下:
1、项目属性-》链接器-》调试-》生成调试信息设置为“否”;
2、清理项目,并删除DEBUG目录下所有文件;
3、重新设置生成调试信息为“是”;
4、重新编译后调试 --------------------编程问答-------------------- 在调试过程中,加载了需要调试的dll后,模块窗口里面会出现这个红色的叹号

[img=][/img] --------------------编程问答-------------------- 重新贴一下图
补充:移动开发 ,  Windows Phone
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,