使用 _crtBreakAlloc 查找内存泄漏 - 标识符“_crtBreakAlloc”无法识别

2024-04-09

我正在尝试使用_crtBreakAlloc在“监视”窗口中,如建议的那样this https://msdn.microsoft.com/en-us/library/x98tx3cf.aspx链接,但值行显示“标识符“_crtBreakAlloc”未识别”,并且它根本不起作用。

我究竟做错了什么?顺便说一句,我正在使用 Visual Studio。

代码示例:

#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>

#include <malloc.h>


int main()
{
    int *arr = (int*)malloc(10 * sizeof(int)); //breakpoint here
    free(arr);
    return 0;
}

然后,我将 _crtBreakAlloc 写入“监视”窗口的“名称”字段,并在遇到断点时按 Enter 键。


如果未加载 ucrtbased.dll 符号,_crtBreakAlloc 将报告为未识别。我遇到这个问题是因为我没有自动加载符号。您可以进入模块列表并手动加载 ucrtbased.dll 的符号,然后 _crtBreakAlloc 应该显示并工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 _crtBreakAlloc 查找内存泄漏 - 标识符“_crtBreakAlloc”无法识别 的相关文章

随机推荐