Дампы

Дамп — это файл, содержащий моментальный снимок процесса во время создания дампа, который может оказаться полезным для изучения состояния приложения. Дампы можно использовать для отладки приложения .NET, если к нему трудно подключить отладчик, например рабочие или среды CI. Использование дампов позволяет записать состояние проблемного процесса и изучить его без необходимости приостанавливать работу приложения.

Сбор дампов

Дампы можно собирать различными способами в зависимости от того, на какой платформе работает ваше приложение.

Примечание.

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

Совет

Часто задаваемые вопросы о сборе дампов, анализе и других предостережениях см. в разделе "Дампы: вопросы и ответы".

  • Переменные среды можно использовать для настройки приложения для сбора дампа при сбое.

  • Вы можете собрать дамп, когда приложение еще не завершило работу. Например, если вы хотите проверить состояние приложения, в котором, на ваш взгляд, возникла взаимоблокировка, настройка переменных среды для сбора дампов при сбое не будет полезна, так как приложение все еще работает.

  • dotnet-dump — это простое кроссплатформенное средство командной строки для сбора дампа. Некоторые другие средства отладчика, такие как Visual Studio или windbg , также имеют функции сбора дампов.

  • Если вы работаете приложение в рабочей среде или выполняете его в распределенном режиме (несколько служб, реплика), dotnet-monitor обеспечивает поддержку многих распространенных сценариев и нерегламентированных диагностических исследований, включая сбор дампов и исходящий трафик. Он позволяет собирать дампы удаленно или с условиями активации.

Анализ дампов

  • Перейдите в раздел Отладка дампов Linux для получения сведений об анализе дампов, собранных в Linux.

  • Перейдите в раздел Отладка дампов Windows для получения сведений об анализе дампов, собранных в Windows.

Анализ памяти

Вы можете выполнять анализ памяти в приложении, если память вашего приложения продолжает расти, но вы не уверены, почему это так. Руководство по утечке памяти отладки показывает, как отлаживать утечку памяти с помощью средств cli dotnet-sos с помощью команд dotnet-sos дампа и gcroot.

Анализ памяти Visual Studio можно использовать для диагностики утечки памяти в Windows.

См. также

Узнайте больше о том, как использовать дампы для диагностики проблем в приложении .NET.