C++,MFC,VC,这个调试信息怎么打出来的?特别是堆栈调用,谢谢

发生异常时间:2013年10月18日 15时59分7秒
操作系统版本:Microsoft Windows 7 Service Pack 1 [Build 6.1.7601]
QQMusic版本:QQMusic 10.2.3366.1017
-----------------------------------

异常类型: EXCEPTION_ACCESS_VIOLATION
异常地址: 0x760B136D
异常码:0xC0000005
异常原因: 对 0x760B136D 地址进行 Write 操作

堆栈信息:
-----------------------------------
0x760A0000[1136D] Windows\syswow64\kernel32.dll: GetConsoleMode[0,117532296,1,6393696]
0x75C20000[25F8B] Windows\syswow64\WININET.dll: InternetGetCertByURLA[0,85916720,6393696,117330912]
0x75C20000[28BA0] Windows\syswow64\WININET.dll: InternetConfirmZoneCrossingW[117129704,8763,85916916,117330912]
0x75C20000[28515] Windows\syswow64\WININET.dll: InternetConfirmZoneCrossingW[117330912,85916804,85916936,85916788]
0x75C20000[1EA59] Windows\syswow64\WININET.dll: GetUrlCacheHeaderData[319289376,1531404352,0,374267504]
0x75C20000[1E61C] Windows\syswow64\WININET.dll: GetUrlCacheHeaderData[319289376,119044568,85917156,1998886162]
0x76760000[1B2B1] Windows\syswow64\SHLWAPI.dll: PathBuildRootW[374267504,1983798378,5918640,2]
0x771E0000[69512] Windows\SysWOW64\ntdll.dll: vsnprintf[374267504,119044568,1983798986,0]
0x771E0000[54429] Windows\SysWOW64\ntdll.dll: TpCallbackIndependent[5918632,85917584,1998692210,5918632]
0x760A0000[1336A] Windows\syswow64\kernel32.dll: BaseThreadInitThunk[5918632,1983798814,0,0]
0x771E0000[39F72] Windows\SysWOW64\ntdll.dll: RtlInitializeExceptionChain[1998798469,5918632,0,0]
0x771E0000[39F45] Windows\SysWOW64\ntdll.dll: RtlInitializeExceptionChain[1998798469,5918632,0,0]

这个是记录到windows日志的信息吧。

记录到日志(事件查看器)是一个API函数ReportEvent,需要RegisterEventSource打开,使用后关闭。

至于堆栈调用信息,MFC里面是通过CException 类实现的,用法大概是

try  {
//....
}
catch (CException* e) {
//这里记录
}

非MFC程序也有类似用法,只是没有封装,稍微繁琐

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答