Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Файл дампа — это моментальный снимок, показывающий процесс, который выполнялся и модули, загруженные для приложения в определенный момент времени. Дамп с информацией кучи также включает моментальный снимок памяти приложения в этом моменте.
Открытие файла дампа с содержимым кучи в Visual Studio похоже на остановку в точке останова в сеансе отладки. Хотя вы не можете продолжить выполнение, вы можете проверить стеки, потоки и переменные значения приложения во время дампа.
Дампы в основном используются для отладки ошибок на узлах, к которым разработчики не имеют доступа. Можно использовать файл дампа с компьютера заказчика, если вы не можете воспроизвести сбой или неотзывчивую программу на своем собственном компьютере. Тестировщики также создают дампы для сохранения данных аварийного завершения или зависшей программы, которые используют для последующего тестирования.
Отладчик Visual Studio может сохранять файлы дампа для управляемого или машинного кода. Он может отлаживать файлы дампа, созданные Visual Studio или другими приложениями, которые сохраняют файлы в формате мини-дампа .
Требования и ограничения
- Чтобы отладить файлы дампа с 64-разрядных компьютеров, Visual Studio должна работать на 64-разрядном компьютере.
- Visual Studio может отлаживать файлы дампа управляемых приложений из ОС Linux.
- Visual Studio может отлаживать файлы дампа собственных приложений с устройств ARM. Он также может отлаживать дампы управляемых приложений с устройств ARM, но только в собственном отладчике.
- Чтобы отладить файлы дампа в режиме ядра или использовать расширение отладки SOS.dll в Visual Studio, скачайте средства отладки для Windows в комплекте драйверов Windows (WDK).
- Visual Studio не может отлаживать файлы дампа, сохраненные в более старом формате дампа в полном режиме пользователя . Полный дамп в пользовательском режиме отличается от дампа с кучей.
- Отладка файлов дампа оптимизированного кода может быть запутана. Например, встраивание функций компилятора может привести к непредвиденным стекам вызовов, а другие оптимизации могут изменить время существования переменных.
Дамп-файлы с или без куч
Файлы дампа могут содержать сведения о куче.
Файлы дампа с кучами содержат моментальный снимок памяти приложения с фиксированными на момент дампа значениями переменных. Visual Studio также сохраняет двоичные файлы загруженных собственных модулей в файле дампа с кучей, что упрощает отладку. Visual Studio может загружать символы из файла дампа с кучей, даже если он не может найти двоичный файл приложения.
Файлы дампа без кучи меньше дампов с кучами, но отладчик должен загрузить двоичные файлы приложения, чтобы найти сведения о символах. Загруженные двоичные файлы должны точно соответствовать тем, которые выполняются во время создания дампа. Файлы дампа, не содержащие кучи, сохраняют только значения переменных стека.
Создание файла дампа
При отладке процесса в Visual Studio можно сохранить файл дампа, когда отладчик остановился на исключении или точке останова.
С поддержкой JIT-In-Time отладки можно подключить отладчик Visual Studio к аварийному процессу за пределами Visual Studio, а затем сохранить файл дампа из отладчика. См. раздел "Присоединение к выполняемым процессам".
Сохранение файла дампа:
Когда остановитесь на ошибке или точке останова во время отладки, выберите Отладка>Сохранить дамп как.
В диалоговом окне "Сохранить дамп как" в разделе "Сохранить как тип" выберите Minidump или Minidump с кучей (по умолчанию).
Перейдите к пути и выберите имя файла дампа, а затем нажмите кнопку "Сохранить".
Замечание
Файлы дампа можно создать с помощью любой программы, поддерживающей формат мини-модуля Windows. Например, служебная программа командной строки Procdump из Windows Sysinternals может создавать файлы аварийного дампа процесса на основе триггеров или по запросу. Сведения об использовании других средств для создания файлов дампа см. в разделе "Требования и ограничения ".
Открытие файла дампа
В Visual Studio выберите"Открыть>файл>".
В диалоговом окне "Открыть файл" найдите и выберите файл дампа. Обычно оно будет иметь расширение .dmp . Нажмите ОК.
В окне Сводка файла Minidump отображается информация о сводке и модуле для файла дампа, и действия, которые можно предпринять.
В разделе "Действия"
- Чтобы задать расположения загрузки символов, выберите "Задать пути символов".
- Чтобы начать отладку, выберите "Отладка только с управляемым кодом", "Отладка с смешанным кодом", "Отладка только с нативным кодом".
- Чтобы проанализировать управляемую память, выберите "Отладка управляемой памяти" и просмотрите отчеты об управляемых типах.
- Чтобы запустить анализатор памяти в дампах, выберите "Выполнить диагностический анализ " и просмотрите раздел Отладка управляемого дампа памяти с помощью анализаторов диагностики .NET.
Найдите .exe, .pdb и исходные файлы
Чтобы использовать полные функции отладки в файле дампа, Visual Studio нужны:
- Файл.exe, для который был создан дамп, и другие двоичные файлы (например, библиотеки DLL), используемые процессом дампа.
- Файлы символов (.pdb) для .exe и других двоичных файлов.
- Файлы.exe и .pdb, которые точно соответствуют версии и сборке файлов на момент создания дампа.
- Исходные файлы для соответствующих модулей. Вы можете использовать дизассембли модулей, если не удается найти исходные файлы.
Если в дампе есть данные кучи, Visual Studio может справиться с отсутствующими двоичными файлами для некоторых модулей, но необходимо иметь двоичные файлы для достаточного количества модулей, чтобы создать допустимые стеки вызовов.
Пути поиска для файлов .exe
Visual Studio автоматически выполняет поиск в следующих расположениях для .exe файлов, которые не включены в файл дампа:
Папка, содержащая файл дампа.
Путь к модулю, указанный в файле дампа, является путем модуля на компьютере, который собрал дамп.
- Пути к символам указываются в области Инструменты (или Отладка) >Параметры, в разделе Все настройки>Отладка>Символы. Вы также можете открыть страницу "Символы" на панели "Действия " окна "Сводка файла дампа ". На этой странице можно добавить дополнительные местоположения для поиска.
- Пути к символам указываются в диалоговом окне"Сервис" (или "Отладка") > в разделе "Отладочные>". Вы также можете открыть страницу "Символы" на панели "Действия " окна "Сводка файла дампа ". На этой странице можно добавить дополнительные местоположения для поиска.
Используйте страницы "Нет двоичных файлов", "Нет символов" или "Нет источников"
Если Visual Studio не удается найти файлы, необходимые для отладки модуля в дампах, он отображает страницу "Нет двоичных данных", "Нет найденных символов" или "Не найдено источника". На этих страницах приведены подробные сведения о причине проблемы и ссылки на действия, которые помогут найти файлы. См. Укажите символы (.pdb) и файлы исходного кода.