我的 C++ 应用程序有一些问题。当我使用 Clion 的调试器时 - 一切都很好。但是当我使用已编译的可执行文件(在 Windows 下)并尝试使用与在调试模式下相同的输入文件运行它时- 应用程序崩溃。因为我在调试中找不到迷恋的原因 - 在互联网上的一些搜索让我找到了微软的应用程序验证工具。
它可以诊断崩溃+显示堆栈跟踪,但我的问题是我无法将堆栈跟踪中的名称转换为 C++ 中的方法名称
这是错误部分(我的应用程序名称是 gridSolver):
<avrf:logEntry Time="2017-03-30 : 02:52:53" LayerName="Heaps" StopCode="0x13" Severity="Error">
<avrf:message>First chance access violation for current stack trace.</avrf:message>
<avrf:parameter1>7838000 - Invalid address causing the exception.</avrf:parameter1>
<avrf:parameter2>7fefe9f1151 - Code address executing the invalid access.</avrf:parameter2>
<avrf:parameter3>2280b0 - Exception record.</avrf:parameter3>
<avrf:parameter4>227bc0 - Context record.</avrf:parameter4>
<avrf:stackTrace>
<avrf:trace>vrfcore!VerifierDisableVerifier+950 ( @ 0)</avrf:trace>
<avrf:trace>ntdll!RtlApplicationVerifierStop+d3 ( @ 0)</avrf:trace>
<avrf:trace>vfbasics!+7fed38d26c5 ( @ 0)</avrf:trace>
<avrf:trace>vfbasics!+7fed38d4606 ( @ 0)</avrf:trace>
<avrf:trace>vfbasics!+7fed38d3c4a ( @ 0)</avrf:trace>
<avrf:trace>ntdll!vsprintf_s+12b ( @ 0)</avrf:trace>
<avrf:trace>ntdll!RtlUnwindEx+852 ( @ 0)</avrf:trace>
<avrf:trace>ntdll!KiUserExceptionDispatcher+2e ( @ 0)</avrf:trace>
<avrf:trace>msvcrt!memcpy+71 ( @ 0)</avrf:trace>
<avrf:trace>gridSolver!+4314fa ( @ 0)</avrf:trace>
<avrf:trace>gridSolver!+43171c ( @ 0)</avrf:trace>
<avrf:trace>gridSolver!+44bb29 ( @ 0)</avrf:trace>
<avrf:trace>gridSolver!+420a85 ( @ 0)</avrf:trace>
<avrf:trace>gridSolver!+402e4b ( @ 0)</avrf:trace>
<avrf:trace>gridSolver!+4013b5 ( @ 0)</avrf:trace>
<avrf:trace>gridSolver!+4014e8 ( @ 0)</avrf:trace>
<avrf:trace>KERNEL32!BaseThreadInitThunk+d ( @ 0)</avrf:trace>
<avrf:trace>ntdll!RtlUserThreadStart+21 ( @ 0)</avrf:trace>
</avrf:stackTrace>
</avrf:logEntry>
可以请人帮忙吗?也许还有其他方法可以解决这个问题?