c/c++开发分享使用_crtBreakAlloc查找内存泄漏 – 标识符“_crtBreakAlloc”未识别

我试图在Watch窗口中使用_crtBreakAlloc , 如此链接中所建议的那样,但是值行显示“identifier”_crtBreakAlloc“未识别”并且它根本不起作用。

我究竟做错了什么? 我顺便使用Visual Studio。

代码示例:

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

然后我将_crtBreakAlloc写入Watch窗口的Name字段,并在遇到断点时按Enter键。

    _crtBreakAlloc是VS2015下的一个宏,它被一个函数调用替换为返回指向int的指针。 在监视窗口中跟踪变量似乎不是一种选择。
    更好地插入您的(调试)代码,如下所示:

     _crtBreakAlloc = 18; 

    如果您使用的是CRT的multithreading版本,请在监视窗口(列名称)中输入以下内容:

     (int*){,,ucrtbased.dll}_crtBreakAlloc 

    然后按Enter键并将值-1更改为导致用户定义断点的新分配编号。

    使用_crtBreakAlloc查找内存泄漏 – 标识符“_crtBreakAlloc”未识别

    似乎对于Visual Studio 2015,有必要使用两个下划线:

     (int*){,,ucrtbased.dll}__crtBreakAlloc 

      以上就是c/c++开发分享使用_crtBreakAlloc查找内存泄漏 – 标识符“_crtBreakAlloc”未识别相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注(猴子技术宅)。

      本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

      如若转载,请注明出处:https://www.ssfiction.com/c-cyuyankaifa/546462.html

      发表评论

      电子邮件地址不会被公开。 必填项已用*标注