cpp;gutter:false;
//在Watch面板加上可以观察当前断点处最后一条异常信息:@err,hr#include "stdafx.h"</p>
<h1>include</h1>
<p>using namespace std;</p>
<h1>ifdef _DEBUG</h1>
<h1>define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, <strong>FILE</strong>, <strong>LINE</strong>)</h1>
<h1>else</h1>
<h1>define DEBUG_CLIENTBLOCK</h1>
<h1>endif</h1>
<h1>define _CRTDBG_MAP_ALLOC</h1>
<h1>include</h1>
<h1>include</h1>
<h1>include</h1>
<h1>include</h1>
<h1>ifdef _DEBUG</h1>
<h1>define new DEBUG_CLIENTBLOCK</h1>
<h1>endif</h1>
<p>int _tmain(int argc, _TCHAR<em> argv[])
{
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
//_CrtSetBreakAlloc(52); char</em> d;
int <em>p;
d= (char</em>)malloc(100);
p = new int;</p>
<pre><code>/***这两行注释与不注释结果不一样
free(d);
delete p;
***/
_CrtDumpMemoryLeaks();
system("pause");
return 0;
</code></pre>
<p>}
在Visual C++ 中,可以在监视窗口添加 $err,hr
一行来实时现实错误。调试过程中,该项相当于在每次调用API函数之后调用GetLastError函数。其值由两部分组成,一个是错误代码(十六进制),另一个是错误代码所对应的文本提示。该方法支持多语言
Original: https://www.cnblogs.com/chuncn/archive/2012/04/01/2429305.html
Author: chuncn
Title: c++中捕捉内存泄露、异常
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/535562/
转载文章受原作者版权保护。转载请注明原作者出处!