#node.js #windbg #memory-dump
Вопрос:
мы могли бы собрать дамп памяти node.exe с ProcDump, где мы можем использовать WinDbg, чтобы открыть его.
Существуют ли какие-либо инструменты или, возможно, расширения WinDbg, включая его команды, которые могли бы помочь нам исследовать объем памяти?
Комментарии:
1. Дамп — это стандартный формат, просто загрузите его в windbg и проверьте——————- windbg -c «!analyze -v» -z foo.dmp выведет трассировку стека и сведения об исключении.======для предварительного понимания глубокого погружения требуется некоторый опыт
2. В качестве быстрого и грязного первого анализа, учитывая, что у вас есть файл дампа, вы можете просто попробовать использовать strings64 из Sysinternals, чтобы найти все строки в файле dmp и передать вывод в файл. Чаще всего это может быть показательным. В противном случае вам может быть лучше использовать Windows Performance Recorder и, возможно, создать трассировку использования кучи, если вы можете ее воспроизвести?
3. @blabb Если вы установите условие высокой памяти в ProcDump, в аварийном дампе будет просто точка останова, ИМХО, и
!analyze
она совершенно бесполезна. Я не знаю, какая память node.js приложение выглядит следующим образом. Я думаю!address -summary
, это будет не очень полезно, поскольку это приводит либо к собственным кучам, либо к VirtualAlloc.4. Как насчет heapdump для просмотра памяти и siege для воспроизведения утечки? Используйте специальные инструменты JS. Я не сталкивался с узлом. Плагины JS для WinDbg.