Поделиться через


свалки

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

Сбор дампов

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

Замечание

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

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

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

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

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

Подсказка

Сведения об устранении неполадок и часто задаваемых вопросов о сборе дампов см. в разделе "Дампы: вопросы и ответы".

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

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

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

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

См. также

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