_CRTDBG_MAP_ALLOC根本不提供任何输出

_CRTDBG_MAP_ALLOC gives no output at all

本文关键字:任何 输出 CRTDBG MAP ALLOC      更新时间:2023-10-16

在调试Visual Studio 2008程序时,我希望获得堆调试信息,如手册页上所述,_CrtDumpMemoryLeaks()和相关页面。 但是,我没有得到任何格式的调试信息:

{4868} normal block at 0x04B82DF0, 69 bytes long.
Data: <    -   4       > B0 B6 F1 00 2D 00 00 00 34 00 00 00 01 00 00 00 

许多人问为什么他们在此转储中看不到文件名/行号,但我什至没有文件名/行号的转储。

这特别令人好奇,因为我回忆起在项目早期甚至需要它之前就"免费"获得它。

事实证明,当您调用exit()时,该输出就会出现,但是我已经将程序更改为调用ExitProcess(),而不是经历杀死所有本来会继续运行的子线程的麻烦。

我添加了代码来终止我的子线程,现在只需调用exit(),即可获得输出。