除錯C memory leak常用手段

2021-08-30 05:01:20 字數 970 閱讀 1642

from

1, check handle leak.

use lua script to search the codes.

2, check memory leak.

if you use crt, you could use:

_crtsetdbgflag(_crtsetdbgflag(_crtdbg_report_flag) | _crtdbg_leak_check_df);

//_crtsetbreakalloc(182366);

//

3, get performance data.

we could use pdh functions. cpdhdata

4, 注釋**隔離問題。

5, 1. 加乙個物件計數器, 哪種物件一直增加, 就是它了.

2. 申請比較多的類, 輪流內部增加乙個 char buffer[65536], 看看記憶體增加是否加快, 很快就可以找出了.

6, vld boundchecker adplus windbg sysinternals-tools (handle)

7, oanocache=1

8, some tools mozilla uses:

9, 啟用或禁用記憶體診斷可以呼叫全域性函式 afxenablememorytracking()

#ifdef _debug

cmemorystate oldmemstate, newmemstate, diffmemstate;

oldmemstate.checkpoint();

#endif

...(被測試的**)

...#ifdef _debug

newmemstate.checkpoint();

if(diffmemstate.difference(oldmemstate, newmemstate))

#endif

mysql常用除錯 除錯 mysql 常用命令

程式應用連線池的空閒鏈結 時間要小於mysql的超時時間。例 timebetweenevictionrunsmillis設定60秒,wait timeout設定100秒。show full processlist 顯示當前資料庫執行緒,可檢視sleep執行緒 set global wait time...

WinDBG常用除錯命令

查詢符號 3.檢視 event 物件的訊號狀態 object basenamedobjects dt b nt kevent xx 4.檢視 lasterror 值 gle 5.指定進製形式,0x 0n 0t 0y 分別表示 16 10 8 2 進製 0x12345678 0n10 evaluate...

GDB常用除錯命令

呼叫gdb編譯需要在cc後面加 g引數再加 o root redhat home gdb 除錯檔案 啟動gdb gdb l 字母l 從第一行開始列出原始碼 gdb break n 在第n行處設定斷點 gdb break func 在函式func 的入口處設定斷點 gdb info break 檢視斷...