Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Павел Колмаков «Leakvidator: WinDbg or not to WinDbg»

DotNetRu
December 06, 2019

Павел Колмаков «Leakvidator: WinDbg or not to WinDbg»

DotNetRu

December 06, 2019
Tweet

More Decks by DotNetRu

Other Decks in Programming

Transcript

  1. 5 План • Зачем же смотреть дампы; • Определим наши

    инструменты; • Осмотр дампов с прода; • Плюсы минусы инструментов и выводы.
  2. 6

  3. 7

  4. 9

  5. 10

  6. 11

  7. 13

  8. 14 Проблемы • С вашим приложением – инфу вашего процесса;

    • С сервером, но винят ваше приложение – инфу среды.
  9. 17

  10. 18 Снять дамп • Диспетчер задач 32/64; • Добавить ключ

    в реестре; • Использовать ProcDump…; • DotMemory, Windbg...
  11. 19

  12. 21

  13. 22

  14. 24

  15. 25

  16. 28

  17. 40 Плюсы • Студия может открыть дамп!; • Помогает увидеть

    простейшие утечки; • Показывает адреса ссылок; • Можно делать дифы.
  18. 41 Минусы • Интерфейс не очень удобен; • Помогает увидеть

    лишь примитивные утечки; • Нет никакой информации о процессе в целом; • Дорого для анализа дампов во всех смыслах; • Анализатор студии завис и перестал работать :(
  19. 42 Итоги • Для анализа дампов с прода не эффективен;

    • Нужно больше инфы об управляемой памяти; • Не увидеть проблемы производительности.
  20. 51

  21. 5 2

  22. 62 Плюсы • Анализ памяти максимально оптимален и приятен; •

    Дает значительно больше представление о памяти; • Различные варианты группировок; • Часть проблем находятся на первом же окне.
  23. 63 Минусы • Нет виртуальных адресов; • Не всегда показывает

    обработчики делегатов; • Всё еще не достаточно информации о процессе в целом; • Только для управляемой памяти.
  24. 64 Итоги • Подойдет для оценочного взгляда на кучи; •

    Нужно больше инфы об управляемой памяти; • Не увидеть проблемы производительности.
  25. 74

  26. 78

  27. 79

  28. 81

  29. 82 Плюсы • Бесплатный; • Более точная информация; • Достаточно

    информативный отчет; • Помогает определить почти все проблемы.
  30. 87 Плюсы • Всё пишешь сам на С#; • Доступ

    к управляемой памяти; • Есть возможность использовать команды windbg.
  31. 88 Минусы • Нужно разбираться как правильно писать; • Нужно

    частично понимать внутренности CLR; • На написание кода требуется много времени; • Код будут читать другие разработчики.
  32. 10 5 Плюсы • Бесплатный; • Доступ ко всей памяти

    процесса; • Наличие расширений для анализа управляемой памяти; • Возможность писать скрипты. 105