Создание дампа потока процесса C ++ - PullRequest
0 голосов
/ 25 февраля 2011

Я хотел бы отладить и идентифицировать утечку памяти в одном / некоторых потоках в процессе C ++.Я хотел бы получить дамп потока процесса, когда использование памяти очень велико.

Я знаю, что для java работают следующие команды: 'kill -3' [linux] или 'sendignal.exe' (http://www.latenighthacking.com/projects/2003/sendSignal/)

Есть ли способ получить дамп потока для процесса C ++ в Windows.

может ли этот поток быть связан: Как программно вызвать дамп ядра в C / C ++

Спасибо.

Ответы [ 2 ]

3 голосов
/ 25 февраля 2011

Minidump, а не "поток дампа".Он встроен в Taskmgr.exe для Vista и Win7.Щелкните правой кнопкой мыши процесс на вкладке «Процессы», «Создать файл дампа».Все различные способы перечислены здесь .

1 голос
/ 08 марта 2011

Вы также можете автоматически создавать дампы памяти (мини-дампы) на основе счетчиков производительности (счетчик дескрипторов, потребление памяти), используя procdump из SysInternals: http://technet.microsoft.com/en-us/sysinternals/dd996900

Затем можно загрузить и проанализировать сгенерированный файл (s) в WinDbg (или в VS2010, который теперь также может загружать дампы памяти)

...