最近有個(gè)這樣的需求,就是在不能獲取dll源碼情況下來(lái)檢測該dll的內存泄漏。并且該dll是release下的版本,鏈接了release版的CRT。由于不能獲取源碼,就不能重新編譯,比較好的解決方案就是hook api。尋思這事兒肯定有人干過(guò),搜了一下在code project上真有。收藏一下:
http://www.codeproject.com/Articles/150463/LeakMon-Track-Handle-leak-GDI-Leak-and-Memory-Leak
http://www.codeproject.com/Articles/175591/LeakMon-Part-2-Under-the-hood
基本原理是hook api,打印call stack,然后用dbg helper根據pdb解析成能看的call stack。
聯(lián)系客服