读书人

用Release版测试程序调试Dll如何不能

发布时间: 2012-03-26 15:46:56 作者: rapoo

用Release版测试程序调试Dll,怎么不能设置断点了?
dll程序编译通过,在debug状态下设置断点,用一个release版的程序来跑,可以进入dll中的断点,也可以单步跟踪,昨天,系统出了点毛病,我把系统重装了,结果今天再来就不能设断点,也跟不进去了,为什么?怎么再设置回来让它能单步跟呢?
(说明:环境一样 v6 + sp6 + platform sdk for xp-sp2)

[解决办法]
重新编译一下
[解决办法]
重编 "debug dll "。然后再调试。
[解决办法]
这个错误意思是连接失败,你的dll没有重新创建成功。
[解决办法]
1.使用release程序和debug版本的dll或者debug程序和release版本的dll这种组合,本身不是一种明智的选择,因为这样组合会出现莫名其妙的错误。
2.release设置的断点可能是无效的断点,需要修改工程的属性,使release下可以使用断点,我想系统重新安装,可能导致以前的设置无效,所以建议重新设置一下编译环境。
3.CVPACK : fatal error CK1007: invalid Types table in module obj\i386\objidl_i.obj
LINK : warning LNK4027: CVPACK error
这个错误可能是由于你的dll没有编译成功。
4.调试release程序可以使用输出日志的形式来测试。
[解决办法]
重新设置下环境,调试Release
1、在Project Settings里选Settings For为All Configurations。
2、在C/C++标签中,Debug info 选 Program Database。
3、在Link 标签中,Category选 Debug,选中Debug info 复选框和Microsoft format。
ASSERT宏在发行版本中不起作用,而应该用VERIFY来进行发行版的调试。如果发行版本运行有问题,可以先禁止所有代码优化再进行调试。

在需要加断点的地方加上:
__asm int 3
不过调试的时候无法显示C程序,只有asm代码。
[解决办法]
release程序好像不可以设置断点,我现在用调试是debug下进行。
[解决办法]
你会不会时DLL DEBUG时连接过APP的DEBUG,现在APP的DEBUG有问题,你还连的APP的DEBUG,跟APP的RELEASE没有关系,看一下工程设置
[解决办法]
http://blog.sina.com.cn/s/blog_4e5dcb9701000c4f.html
VC++6.0-在Release下实现单步调试

[解决办法]
ALT+F7,检查一下程序关联。
[解决办法]
可以设置断点...

ckt1120(不足,十分不足) 的就是答案/...

读书人网 >VC/MFC

热点推荐