Я пытаюсь профилировать приложение с помощью инструмента massif
.Я запускаю его с помощью этой команды:
./valgrind.bin --tool=massif --stacks=yes --heap=yes --trace-children=yes --vgdb=yes /usr/bin/agl_proxy
Приложение работает очень долго.Как правило, когда приложение получает сигнал прерывания, оно будет чисто завершено, и massif
создаст файл профиля со многими снимками:
desc: --stacks=yes --heap=yes
cmd: /usr/bin/app
time_unit: i
#-----------
snapshot=0
#-----------
time=0
mem_heap_B=0
mem_heap_extra_B=0
mem_stacks_B=0
heap_tree=empty
#-----------
snapshot=1
#-----------
time=4501979
mem_heap_B=0
mem_heap_extra_B=0
mem_stacks_B=1480
heap_tree=empty
Однако это конкретное приложение просто сбрасывает запас и зависает, не завершаясь должным образом и, таким образом, без правильное создание файла результатов.Я могу использовать vgdb
, чтобы получить снимок во время работы приложения.Но он генерирует только один снимок.
Есть ли способ объединить снимки?Я попытался добавить снимок в файл с заголовком snapshot=#
, но MassifVisualizer жалуется на формат.Возможно, есть возможность объединить их или какой-нибудь инструмент.