我有一个C++程序,在进程开始运行时就出现了这个错误,似乎是在任何用户代码执行之前就出现了。只有启用内联时才会发生。即使内置调试符号,我也无法进入代码。当我按下Visual Studio中的F10时,我立即收到错误并停止了程序。我检查了“调试/异常”中的所有异常/检查,但仍然没有断点。
通常我会认为这样的情况是由于缺少运行时依赖关系引起的,但我非常确定这不是这种情况(使用Dependency Walker进行验证)。
编辑:我使用了Steve Townsend的建议,使用CDB,现在我能够逐步执行程序的预用户代码部分。最终的堆栈跟踪如下:
通常我会认为这样的情况是由于缺少运行时依赖关系引起的,但我非常确定这不是这种情况(使用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
main()
执行之前吗?这只是一个猜测...全局变量是在主执行开始之前创建的,因此可能存在问题。 - Alok Save