剛剛在IT博客網閑逛的時候看到了孤獨的夜的一片文章《如何調試MFC中的內存泄漏》,講道用設置{,,msvcrtd.dll}_crtBreakAlloc這個變量來調試內存泄露的問題。
在How to use _crtBreakAlloc to debug a memory allocation你可以找到英文的更完整的版本,靜態鏈接和動態連接到C運行庫的名稱是不一樣的
靜態:_crtBreakAlloc
動態:{,,msvcr40d.dll}*__p__crtBreakAlloc()? (vc++4.0 和4.1版本,估計沒人在用吧)
?????????{,,msvcrtd.dll}*__p__crtBreakAlloc()? (Visual C++ 4.2 or later)
?????????{,,msvcrtd.dll}_crtBreakAlloc (好像這樣也是可以的)
{,,msvcrtd.dll}__p__crtBreakAlloc()是個什么東西呢?
查看msdn索引“Advanced Breakpoint”and you will find out...
語法如下:
{[function],[source],[exe] } location
{[function],[source],[exe] } variable_name
{[function],[source],[exe] } expression