我的程序release版出现“0x00415678引用0x0000000d”出错,请问如何找到0x00415678处的代码?

runbuff 2002-10-29 08:05:02
我已经输出了.cod文件,但该文件中的地址好象都是相对地址,没法找到。
有哪位大侠指点一下?
...全文
83 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zqone 2002-10-30
  • 打赏
  • 举报
回复
一般情况下,这应该是你的某个变量没有初始化,因为这是release与debug版的区别.你查一下,几乎可以肯定是这样!
vcsongs 2002-10-30
  • 打赏
  • 举报
回复
错误的原因不论. MAP文件里的信息是很详细的了. 你可以看看你出错的地址对应的是哪一个函数. 然后再仔细相应的函数. 如果出错的位置的函数不是你写的, 比如是库函数, API等就要麻烦一些了. 这个时候最好是编译包含调试信息的Release版. 然后看运行时的调用栈. 还有些选择就是用Softice这类的内核级调试器, 它的断点能力很强. ...
Kevin_qing 2002-10-30
  • 打赏
  • 举报
回复
修改release版本设置:(以vc6为例)

project setting->c/c++->general->debug info改为program database
project setting->link->general->generate debug info打勾

然后rebult就可以调试release版了

在vc里面运行刚才生成的exe,出错时会停留在错误行
realhill 2002-10-29
  • 打赏
  • 举报
回复
按我的经验一般是对某些结构变量在使用前没有初始化.
yonghengdizhen 2002-10-29
  • 打赏
  • 举报
回复
你检查一下你的指针变量的使用..
这是编译优化造成的,也用不着费尽心机去找那个所谓的内存地址了..
就算找到了,你也无从下手..
runbuff 2002-10-29
  • 打赏
  • 举报
回复
现在生成了map文件,但不够详细啊。
runbuff 2002-10-29
  • 打赏
  • 举报
回复
大侠,如何生成map文件啊。
vcsongs 2002-10-29
  • 打赏
  • 举报
回复
生成map文件. 用map文件来查看.

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧