_crtBreakAlloc在VS2017中工作吗?

时间:2018-05-17 09:41:52

标签: c++ memory-leaks visual-studio-2017 crt

我尝试使用CRT找出内存泄漏。我正在使用Visual Studio 2017社区。 我按照本手册中的步骤进行了操作:https://support.microsoft.com/en-us/help/151585/how-to-use-crtbreakalloc-to-debug-a-memory-allocation 但它不起作用。

我在Watch窗口中尝试了不同的输入。这就是我得到的: _crtBreakAlloc标识符" _crtBreakAlloc"未定义

我尝试了我在Using _crtBreakAlloc to find memory leaks - identifier "_crtBreakAlloc" is unidentified找到的建议并获得了相同的结果:

(int *){,, ucrtbased.dll} _crtBreakAlloc identifier" _crtBreakAlloc"未定义

(int *){,, ucrtbased.dll} __ crtBreakAlloc identifier" __ crtBreakAlloc"未定义

这是Debug构建,rutime libraray是多线程调试DLL(/ MDd)

我尝试调用函数_CrtSetBreakAlloc并且它可以工作。

那么重新编译并调用此函数是唯一的选择吗? 或者我错过了一些明显的东西?

1 个答案:

答案 0 :(得分:1)

尝试:

{,,ucrtbased.dll}_crtBreakAlloc

确保已加载符号(工具/选项/调试/符号)。