2012-05-02 2 views
0

Я пытался проанализировать утечку, которая происходит при выполнении массового кода. Утечка была обнаружена в dbx, и утечка показана ниже.Анализ строки заменить утечку памяти

Total  Num of Leaked  Allocation call stack 
    Size  Blocks Block 
        Address 
========== ====== =========== ======================================= 

272033 4431  -  operator new < std::basic_string<char,std::char_traits<char>,std::allocator<char> >::__getRep < std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace 

Кто-нибудь сталкивался с этим типом утечки. Можно ли анализировать утечку с помощью комментариев DBX. Так как это большой код, то расположение места утечки в коде жестко

+3

Вы уверены, что это утечка? Вы видели, как этот процесс растет? Причина, по которой я спрашиваю, это то, что я часто видел, как инструменты сообщают о утечках, которые не обязательно являются * реальными * утечками - обычно в твердом стороннем коде. –

+0

Да, я уверен, что размер процесса растет как угодно. Он растет тем, что теряется вся память стека, и процесс падает из-за отсутствия памяти. Это происходит, повторяя процесс повторного тестирования. – sandy

+0

Ну, честный комментарий. Существуют такие инструменты, как «Очистить» (хотя это и коммерческий), который вы должны использовать, хотя он будет определять только, где это происходит, и если он находится в STL, тогда это большая проблема. Я также разместил ссылку ниже, которую вы можете найти полезной. –

ответ

1

Я бы попробовал запустить приложение с libumem, что помогает в определении проблем управления памятью.

Несмотря на то, что кодовая база огромна, вы можете решить эту проблему с помощью целевого обзора кода.

0

Быстрая проверка на линии выявила this issue, которая похожа на то, что вы видите. Это довольно старый вариант - какую версию компилятора вы используете?

Если это та же проблема, и полное обновление не является возможным, тогда ваша трудность будет заключаться в том, чтобы изолировать, где этот код вызывается и перерабатывать его, чтобы это не происходило.

Смежные вопросы