gpt4 book ai didi

c++ - 当我什至无法进入代码时如何调试 "This application has requested the Runtime to terminate it in an unusual way."?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:05:26 25 4
gpt4 key购买 nike

我有一个 C++ 程序,它在进程启动后立即给出此错误 - 显然是在任何用户代码执行之前。它仅在启用内联时发生。即使内置了调试符号,我也无法进入代码。当我在 Visual Studio 中按下 F10 时,我收到了错误并且程序停止了。我在“调试/异常”中检查了所有异常/检查,但仍然没有休息。

通常我会认为这样的事情是由于缺少运行时依赖项造成的,但我很肯定这不是这里的情况(已通过 Dependency Walker 验证)。

编辑:我使用了 Steve Townsend 对 CDB 的推荐,现在我能够单步执行程序的预用户代码部分。最终的堆栈跟踪是:

Child-SP          RetAddr           Call Site
00000000`0008e308 00000000`7541601a ntdll!ZwTerminateProcess+0xa
00000000`0008e310 00000000`7540cf87 wow64!Wow64EmulateAtlThunk+0x86ba
00000000`0008e340 00000000`7539276d wow64!Wow64SystemServiceEx+0xd7
00000000`0008ec00 00000000`7540d07e wow64cpu!TurboDispatchJumpAddressEnd+0x24
00000000`0008ecc0 00000000`7540c549 wow64!Wow64SystemServiceEx+0x1ce
00000000`0008ed10 00000000`7776ae27 wow64!Wow64LdrpInitialize+0x429
00000000`0008f260 00000000`777672f8 ntdll!LdrGetKnownDllSectionHandle+0x1a7
00000000`0008f760 00000000`77752ace ntdll!RtlInitCodePageTable+0xe8
00000000`0008f7d0 00000000`00000000 ntdll!LdrInitializeThunk+0xe

最佳答案

您可以尝试设置 Process Dumper并为您的 EXE 配置它以在任何进程退出时创建转储。然后从命令行启动该过程以排除 IDE 的任何工件。

这应该为您提供一个用于事后调试的转储,也许还有一个来自退出线程的调用堆栈可能会有用。

关于c++ - 当我什至无法进入代码时如何调试 "This application has requested the Runtime to terminate it in an unusual way."?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6508700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com