如何Release版的Exe如何在MAP中找到崩溃行

yusmt 2016-07-11 04:54:04
网上可以看到有LONG WINAPI MyUnhandledExceptionFilter(PEXCEPTION_POINTERS pExceptionInfo)的方式
但是如何是这样的一个异常,使用Map好像定位不到
void CTestSysErrorDlg::OnButton6()
{ throw 0;
}
异常地址为0x7594845d 这在Map文件中根本就找不到,

我测试用F5运行,发现出错后也是到0x7594845d,需要点击Call Stack的第三行才会定位到代码处

那么遇到这种情况能直接定位到Map的OnButton6() 的代码处吗?

或者有没有其它的办法?
谢谢了!

...全文
1516 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenyi0106 2016-07-13
  • 打赏
  • 举报
回复
生成DUMP文件,然后用windbg来查看就阔以了。 用SEH机制来生成DUMP文件
schlafenhamster 2016-07-12
  • 打赏
  • 举报
回复
"Release版的Exe如何在MAP中崩溃" 可能 变量 没初始化·, debug 时 变量会 有 编译器 初始化。
linda9989 2016-07-12
  • 打赏
  • 举报
回复
0x7594845d是调用栈的栈顶,已经是属于kernel32.dll的地址空间了, 你需要设置符号表环境变量才能看到函数名
linda9989 2016-07-12
  • 打赏
  • 举报
回复
vc驿站里面有篇贴子介绍的,注意生成的PDB要保存好 利用WinDbg找出程序崩溃的代码行号 http://www.cctry.com/thread-41078-1-1.html
yusmt 2016-07-12
  • 打赏
  • 举报
回复
引用 2 楼 linda9989 的回复:
0x7594845d是调用栈的栈顶,已经是属于kernel32.dll的地址空间了, 你需要设置符号表环境变量才能看到函数名
太感谢了,你的回答完美解决了我的问题!

1,649

社区成员

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

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