`myLibrary!__scrt_stub_for_is_c_termination_complete+0x12345` 的符号是什么

What is the symbol `myLibrary!__scrt_stub_for_is_c_termination_complete+0x12345`

符号 myLibrary!__scrt_stub_for_is_c_termination_complete+0x12345 出现在崩溃应用程序的堆栈跟踪中。它是用 MSVC2015 编译的 C++,大量使用 Qt。

myLibrary 没有显式实现该名称的任何内容。

Google 显示了这个名字的一些命中,所以显然它不是这个应用程序所特有的。但是我找不到解释。

是图书馆名称:myLibrary
是函数名:__scrt_stub_for_is_c_termination_complete
与函数偏移量的距离:+0x12345

If you enter the disassembly mode, then you can see a function's address

Also you can see in the (quick)watch to function name, same as disassembly

您可以假设异常是从特定函数和哪一行引发的。

Watch out : If you debug in Release build , it would be hard to find which code raise the exception. In this case you can compare your assembly between Debug and Release (I cannot explain how it works 'til describing.). Use Debug Build to ease to Debug.

快乐编码:)

这是一个 "no idea where it crashed" 诊断。 +0x12345 偏移量太大。一点也不罕见,您需要好的 PDB 才能获得准确的堆栈跟踪。没有它们,它对您编写的代码一无所知,只能通过命名的 DLL 入口点。

由于似乎是在 C 运行时库中检测到崩溃,您可能会幸运地启用 Microsoft 符号服务器并让它生成您需要的 PDB。假设您在 VS 中打开了小型转储,请使用“工具”>“选项”>“调试”>“符号”来启用服务器。 this MSDN page.

中提供一般和 WinDbg 建议