Microsoft windows debugging symbols что это за программа
Разделы каталога
Microsoft Windows Debugging Symbols 2900
Нет комментариев для данной программы. |
Вы не можете оставлять комментарии. Только зарегистрированные пользователи могут оставлять комментарии к программам. |
Все программы в каталоге — это программы, которые установлены у наших пользователей на компьютерах. Информация о них обновляется автоматически и НЕ проверяется. Наша компания не имеет к данным программам никакого отношения (исключением, разумеется, является WinTuning), мы лишь предоставляем информацию о них. Следовательно, никаких гарантий за чужие программы мы предоставить не можем. Вы можете использовать программы из каталога на свой страх и риск.
Generated in 0.000350 secs.
Windows Debugging and Troubleshooting
Источник: oprogramme.ru
Анализ дампа памяти в Windows при BSOD с помощью WinDBG
12.07.2019
itpro
Windows 10, Windows Server 2016
комментариев 9
В момент критического сбоя операционная система Windows прерывает работу и показывает синий экран смерти (BSOD). Содержимое оперативной памяти и вся информация о возникшей ошибке записывается в файл подкачки. При следующей загрузке Windows создается аварийный дамп c отладочной информацией на основе сохраненных данных. В системном журнале событий создается запись о критической ошибке.
Внимание! Аварийный дамп не создается, если отказала дисковая подсистема или критическая ошибка возникла на начальной стадии загрузки Windows.
Типы аварийных дампов памяти Windows
На примере актуальной операционной системы Windows 10 (Windows Server 2016) рассмотрим основные типы дампов памяти, которые может создавать система:
- Мини дамп памяти (Small memory dump) (256 КБ). Этот тип файла включает минимальный объем информации. Он содержит только сообщение об ошибке BSOD, информацию о драйверах, процессах, которые были активны в момент сбоя, а также какой процесс или поток ядра вызвал сбой.
- Дамп памяти ядра (Kernel memory dump). Как правило, небольшой по размеру — одна треть объема физической памяти. Дамп памяти ядра является более подробным, чем мини дамп. Он содержит информацию о драйверах и программах в режиме ядра, включает память, выделенную ядру Windows и аппаратному уровню абстракции (HAL), а также память, выделенную драйверам и другим программам в режиме ядра.
- Полный дамп памяти (Complete memory dump). Самый большой по объему и требует памяти, равной оперативной памяти вашей системы плюс 1MB, необходимый Windows для создания этого файла.
- Автоматический дамп памяти (Automatic memory dump). Соответствует дампу памяти ядра с точки зрения информации. Отличается только тем, сколько места он использует для создания файла дампа. Этот тип файлов не существовал в Windows 7. Он был добавлен в Windows 8.
- Активный дамп памяти (Active memory dump). Этот тип отсеивает элементы, которые не могут определить причину сбоя системы. Это было добавлено в Windows 10 и особенно полезно, если вы используете виртуальную машину, или если ваша система является хостом Hyper-V.
Как включить создание дампа памяти в Windows?
С помощью Win+Pause откройте окно с параметрами системы, выберите «Дополнительные параметры системы» (Advanced system settings). Во вкладке «Дополнительно» (Advanced), раздел «Загрузка и восстановление» (Startup and Recovery) нажмите кнопку «Параметры» (Settings). В открывшемся окне настройте действия при отказе системы.
Программа не является приложением win32 — Как исправить?
Поставьте галку в чек-боксе «Записать события в системный журнал» (Write an event to the system log), выберите тип дампа, который должен создаваться при сбое системы. Если в чек-боксе «Заменять существующий файл дампа» (Overwrite any existing file) поставить галку, то файл будет перезаписываться при каждом сбое. Лучше эту галку снять, тогда у вас будет больше информации для анализа. Отключите также автоматическую перезагрузку системы (Automatically restart).
В большинстве случаев для анализа причины BSOD вам будет достаточно малого дампа памяти.
Теперь при возникновении BSOD вы сможете проанализировать файл дампа и найти причину сбоев. Мини дамп по умолчанию сохраняется в папке %systemroot%minidump. Для анализа файла дампа рекомендую воспользоваться программой WinDBG (Microsoft Kernel Debugger).
Установка WinDBG в Windows
Утилита WinDBG входит в «Пакет SDK для Windows 10» (Windows 10 SDK). Скачать можно здесь.
Файл называется winsdksetup.exe, размер 1,3 МБ.
WinDBG для Windows7 и более ранних систем включен в состав пакета «Microsoft Windows SDK for Windows 7 and .NET Framework 4». Скачать можно здесь.
Запустите установку и выберите, что именно нужно сделать – установить пакет на этот компьютер или загрузить для установки на другие компьютеры. Установим пакет на локальный компьютер.
Можете установить весь пакет, но для установки только инструмента отладки выберите Debugging Tools for Windows.
После установки ярлыки WinDBG можно найти в стартовом меню.
Настройка ассоциации .dmp файлов с WinDBG
Для того, чтобы открывать файлы дампов простым кликом, сопоставьте расширение .dmp с утилитой WinDBG.
- Откройте командную строку от имени администратора и выполните команды для 64-разрядной системы: cd C:Program Files (x86)Windows Kits10Debuggersx64
windbg.exe –IA
для 32-разрядной системы:
C:Program Files (x86)Windows Kits10Debuggersx86
windbg.exe –IA - В результате типы файлов: .DMP, .HDMP, .MDMP, .KDMP, .WEW – будут сопоставлены с WinDBG.
Настройка сервера отладочных символов в WinDBG
Отладочные символы (debug-символы или symbol files) – это блоки данных, генерируемые в процессе компиляции программы совместно с исполняемым файлом. В таких блоках данных содержится информация о именах переменных, вызываемых функциях, библиотеках и т.д. Эти данные не нужны при выполнении программы, но полезные при ее отладке. Компоненты Microsoft компилируются с символами, распространяемыми через Microsoft Symbol Server.
Настройте WinDBG на использование Microsoft Symbol Server:
- Откройте WinDBG;
- Перейдите в меню File –>Symbol File Path;
- Пропишите строку, содержащую URL для загрузки символов отладки с сайта Microsoft и папку для сохранения кэша: SRV*E:Sym_WinDBG*http://msdl.microsoft.com/download/symbols В примере кэш загружается в папку E:Sym_WinDBG, можете указать любую.
- Не забывайте сохранить изменения в меню File –>Save WorkSpace;
WinDBG произведет поиск символов в локальной папке и, если не обнаружит в ней необходимых символов, то самостоятельно загрузит символы с указанного сайта. Если вы хотите добавить собственную папку с символами, то можно сделать это так:
Если подключение к интернету отсутствует, то загрузите предварительно пакет символов с ресурса Windows Symbol Packages.
Анализ аварийного дампа памяти в WinDBG
Отладчик WinDBG открывает файл дампа и загружает необходимые символы для отладки из локальной папки или из интернета. Во время этого процесса вы не можете использовать WinDBG. Внизу окна (в командной строке отладчика) появляется надпись Debugee not connected.
Команды вводятся в командную строку, расположенную внизу окна.
Самое главное, на что нужно обратить внимание – это код ошибки, который всегда указывается в шестнадцатеричном значении и имеет вид 0xXXXXXXXX (указываются в одном из вариантов — STOP: 0x0000007B, 02.07.2019 0008F, 0x8F). В нашем примере код ошибки 0х139.
Полный справочник ошибок можно посмотреть здесь.
Отладчик предлагает выполнить команду !analyze -v, достаточно навести указатель мыши на ссылку и кликнуть. Для чего нужна эта команда?
- Она выполняет предварительный анализ дампа памяти и предоставляет подробную информацию для начала анализа.
- Эта команда отобразит STOP-код и символическое имя ошибки.
- Она показывает стек вызовов команд, которые привели к аварийному завершению.
- Кроме того, здесь отображаются неисправности IP-адреса, процессов и регистров.
- Команда может предоставить готовые рекомендации по решению проблемы.
Основные моменты, на которые вы должны обратить внимание при анализе после выполнения команды !analyze –v (листинг неполный).
*****************************************************************************
* *
* Bugcheck Analysis *
* *
*****************************************************************************
Символическое имя STOP-ошибки (BugCheck)
KERNEL_SECURITY_CHECK_FAILURE (139)
Описание ошибки (Компонент ядра повредил критическую структуру данных. Это повреждение потенциально может позволить злоумышленнику получить контроль над этой машиной):
A kernel component has corrupted a critical data structure. The corruption could potentially allow a malicious user to gain control of this machine.
Аргументы ошибки:
Arguments:
Arg1: 0000000000000003, A LIST_ENTRY has been corrupted (i.e. double remove).
Arg2: ffffd0003a20d5d0, Address of the trap frame for the exception that caused the bugcheck
Arg3: ffffd0003a20d528, Address of the exception record for the exception that caused the bugcheck
Arg4: 0000000000000000, Reserved
Debugging Details:
——————
Счетчик показывает сколько раз система упала с аналогичной ошибкой:
Основная категория текущего сбоя:
Код STOP-ошибки в сокращенном формате:
Процесс, во время исполнения которого произошел сбой (не обязательно причина ошибки, просто в момент сбоя в памяти выполнялся этот процесс):
Расшифровка кода ошибки: В этом приложении система обнаружила переполнение буфера стека, что может позволить злоумышленнику получить контроль над этим приложением.
ERROR_CODE: (NTSTATUS) 0xc0000409 — The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.
EXCEPTION_CODE: (NTSTATUS) 0xc0000409 — The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.
Последний вызов в стеке:
LAST_CONTROL_TRANSFER: from fffff8040117d6a9 to fffff8040116b0a0
Стек вызовов в момент сбоя:
STACK_TEXT:
ffffd000`3a20d2a8 fffff804`0117d6a9 : 00000000`00000139 00000000`00000003 ffffd000`3a20d5d0 ffffd000`3a20d528 : nt!KeBugCheckEx
ffffd000`3a20d2b0 fffff804`0117da50 : ffffe000`f3ab9080 ffffe000`fc37e001 ffffd000`3a20d5d0 fffff804`0116e2a2 : nt!KiBugCheckDispatch+0x69
ffffd000`3a20d3f0 fffff804`0117c150 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiFastFailDispatch+0xd0
ffffd000`3a20d5d0 fffff804`01199482 : ffffc000`701ba270 ffffc000`00000001 000000ea`73f68040 fffff804`000006f9 : nt!KiRaiseSecurityCheckFailure+0x3d0
ffffd000`3a20d760 fffff804`014a455d : 00000000`00000001 ffffd000`3a20d941 ffffe000`fcacb000 ffffd000`3a20d951 : nt! ?? ::FNODOBFM::`string’+0x17252
ffffd000`3a20d8c0 fffff804`013a34ac : 00000000`00000004 00000000`00000000 ffffd000`3a20d9d8 ffffe001`0a34c600 : nt!IopSynchronousServiceTail+0x379
ffffd000`3a20d990 fffff804`0117d313 : ffffffff`fffffffe 00000000`00000000 00000000`00000000 000000eb`a0cf1380 : nt!NtWriteFile+0x694
ffffd000`3a20da90 00007ffb`475307da : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x13
000000ee`f25ed2b8 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007ffb`475307da
Участок кода, где возникла ошибка:
FOLLOWUP_IP:
nt!KiFastFailDispatch+d0
fffff804`0117da50 c644242000 mov byte ptr [rsp+20h],0
FAULT_INSTR_CODE: 202444c6
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: nt!KiFastFailDispatch+d0
FOLLOWUP_NAME: MachineOwner
Имя модуля в таблице объектов ядра. Если анализатору удалось обнаружить проблемный драйвер, имя отображается в полях MODULE_NAME и IMAGE_NAME:
MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe
Если кликнете по ссылке модуля (nt), то увидите подробную информацию о пути и других свойствах модуля. Находите указанный файл, и изучаете его свойства.
1: kd> lmvm nt
Browse full module list
Loaded symbol image file: ntkrnlmp.exe
Mapped memory image file: C:ProgramDatadbgsymntoskrnl.exe5A9A2147787000ntoskrnl.exe
Image path: ntkrnlmp.exe
Image name: ntkrnlmp.exe
InternalName: ntkrnlmp.exe
OriginalFilename: ntkrnlmp.exe
ProductVersion: 6.3.9600.18946
FileVersion: 6.3.9600.18946 (winblue_ltsb_escrow.180302-1800)
В приведенном примере анализ указал на файл ядра ntkrnlmp.exe. Когда анализ дампа памяти указывает на системный драйвер (например, win32k.sys) или файл ядра (как в нашем примере ntkrnlmp.exe), вероятнее всего данный файл не является причиной проблемы. Очень часто оказывается, что проблема кроется в драйвере устройства, настройках BIOS или в неисправности оборудования.
Если вы увидели, что BSOD возник из-за стороннего драйвера, его имя будет указано в значениях MODULE_NAME и IMAGE_NAME.
Image path: SystemRootsystem32driverscmudaxp.sys
Image name: cmudaxp.sys
Откройте свойсва файла драйвера и проверьте его версию. В большинстве случаев проблема с драйверами решается их обнвовлением.
Предыдущая статья Следующая статья
Источник: winitpro.ru
Microsoft windows debugging symbols что это за программа
Как анализировать синий экран dump memory в Windows-01
Синий экран смерти или как его еще называют BSOD, может изрядно подпортить жизнь как компьютеру так и серверу, а еще выяснилось и виртуальной машине. Сегодня расскажу как анализировать синий экран dump memory в Windows, так как правильная диагностика и получение причины из за чего не работает ваша система, 99 процентов ее решения, тем более системный инженер, просто обязан уметь это делать, да и еще в кратчайшие сроки, так как от этого бизнес может в следствии простоя сервиса, терять кучу денег.
BSOD расшифровка
Давайте для начала разберем, что означает данная аббревиатура, BSOD от английского Blue Screen of Death или еще режим STOP ошибки.
Ошибки синего экрана смерти возникают по разным причинам, среди которых могут быть проблемы с драйверами, может быть какое то сбойное приложение, или сбойный модуль оперативной памяти. Как только у вас появился синий экран в Windows, то ваша система автоматически создаст файл crash memory dump, который мы и будем анализировать.
Как настроить создание memory dump
Как анализировать синий экран dump memory в Windows-Свойства компьютера
Далее идем в пункт Дополнительные параметры системы
Как анализировать синий экран dump memory в Windows-параметры системы
Переходим во вкладку Дополнительно-Загрузка и восстановление. Жмем кнопку Параметры
Как анализировать синий экран dump memory в Windows-Загрузка и восстановление
Где хранится файл memory.dmp
и видим, что во первых стоит галка выполнить автоматическую перезагрузку, для записи отладочной информации, выбрано Дамп памяти ядра и ниже есть пусть куда сохраняется дамп памяти %SystemRoot%MEMORY.DMP
Как анализировать синий экран dump memory в Windows-05
Перейдем в папку c:windows и найдем файл MEMORY.DMP в нем содержаться коды синего экрана смерти
Как анализировать синий экран dump memory в Windows-memory.dmp
Как настроить mini dump
В малый дамп памяти тоже записываются ошибки синего экрана смерти, настраивается он там же, нужно только его выбрать.
Как анализировать синий экран dump memory в Windows-07
Хранится он в папке c:windowsminidump. Преимущество в том, что он занимает меньше места и на каждый синий экран создается отдельным файлом. Всегда можно просмотреть историю появлений синего экрана.
Как анализировать синий экран dump memory в Windows-08
Как установить Microsoft Kernel Debugger
Скачиваем Microsoft Kernel Debugger, в итоге у вас будет маленький файл который позволит скачать из интернета все что вам нужно. Запускаем его.
Как установить Microsoft Kernel Debugger-01
присоединяться к программе по улучшению качества участвовать не будем
Как установить Microsoft Kernel Debugger-02
жмем Accept и соглашаемся с лицензией
Как установить Microsoft Kernel Debugger-соглашаемся с лицензией
Далее выбираем компонент и жмем install
Как установить Microsoft Kernel Debugger-04
начнется установка Microsoft Kernel Debugger
Как установить Microsoft Kernel Debugger-установка MKD
Видим, что Microsoft Kernel Debugger успешно установлен
Как установить Microsoft Kernel Debugger-06
После чего видим, что в пуске появилась папка Debugging Tools for Windows как для 32 так и для 64 битных систем.
Как установить Microsoft Kernel Debugger-07
Анализ синего экрана в Debugging Tools
После установки Debugging Symbols под систему на которой был синий экран смерти запускаем Debugging Tools
Как установить Microsoft Kernel Debugger-Запуск
Перед анализом содержимого дампа памяти, потребуется провести небольшую настройку отладчика. Конкретно — сообщить программе, по какому пути следует искать отладочные символы. Для этого выбираем в меню File > Symbol File Path…
Как установить Microsoft Kernel Debugger-09
Нажимаем кнопку Browse…
Как установить Microsoft Kernel Debugger10
и указываем папку, в которую мы установили отладочные символы для рассматриваемого дампа памяти, можно указать несколько папок через запятую и можно запрашивать информацию о требуемых отладочных символах прямо через Интернет, с публичного сервера Microsoft. Таким образом у вас будет самая новая версия символов. Сделать это можно следующим образом — в меню File > Symbol File Path… вводим:
SRV*%systemroot%symbols*http://msdl.microsoft.com/download/symbols
Как установить Microsoft Kernel Debugger-11
Как анализировать синий экран смерти
Копируем с компьютера где выскочил синий экран, файл memory.dmp или minidump, и открываем его, выбираем в меню File > Open Crash Dump… и выбираем требуемый для рассмотрения файл.
Как анализировать синий экран смерти-01
Выбираем для примера minidump
Как анализировать синий экран смерти-открываем minidump
Начнется анализ минидампа, видим появилась ссылка на ошибку, щелкаем по ней для более детальной информации о синем экране.
Как анализировать синий экран смерти-03
И видим сбойное приложение которое крушит вашу систему, так же можно еще детальнее посмотреть в чем дело, ткнув ссылку.
Как анализировать синий экран смерти-04
Получите более детальную информацию по причине синего экрана.
Как анализировать синий экран смерти-05
Если открыть memory.dmp то вы получите подобную картину и видим почему синий экран у вас появился.
Как анализировать синий экран смерти-06
Ткнув по ссылке в логе вы получаете самую детальную информацию об ошибке.
Как анализировать синий экран смерти-07
Вот так вот просто диагностировать и устранить синий экран смерти.
Популярные Похожие записи:
Ошибка whea uncorrectable error в Windows 10 anniversary update
- Как создать диск MS DaRT 10 для восстановления Windows
Как скачать Windows 11, за минуту
Chrome не открывает страницы, произошел сбой
Конвертирование формата evtx в log
Как скачать и установить MS Office 2019
14 Responses to Как анализировать синий экран dump memory в Windows
Добрый день! Можете пожалуйста помочь мне. На днях поменял процессор и видеокарту. Через пару часов выскочил синий экран. Можете анализировать мой дамп памяти и сказать что привело к ошибке ?
Иван Семин :
ну залейте его в облако и пришлите ссылку.
Простите за наглость. Запарился с синим экраном не могу понять в чем проблема прочитал сделал все как надо но так и не смог понять в чем дело можно вам переслать Дампы для анализа. Если да то какой лучше слать из 5 вариантов(автоматический, полный, дамп ядра, малый дамп или активный)? Если не затруднит дайте знать поможете или нет.
Иван Семин :
Я обычно делаю малый дамп. Вы коды ошибок получили из него?
да но я не смог понять что именно приводит к ошибке. Не нашел то что у вас в статье выделено на картинке Как анализировать синий экран смерти-04
Источник: pyatilistnik.org
Русские Блоги
Windbg — это просто программа для отладки пользовательского режима / режима ядра под Windows и анализа файлов Core Dump. Для анализа Crash, утечки ресурсов, взаимоблокировок и других проблем Windbg является мощным инструментом.
Во-первых, скачать
Windbg, предоставленный официальным веб-сайтом Microsoft, является версией Windows 10, которую нельзя использовать под Win 7. Чтобы использовать Windbg под Win7, вам нужно скачать его через Windows SDK.//www.microsoft.com/downloads/en/details.aspx?FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b Microsoft Visual C++ 2010 Redistributable Удалите, установка прошла успешно.
- Начните с Windbg
Перед использованием необходимо выполнить следующие задачи
- Определите, какое устройство выступает в качестве сервисной системы, а какое — в качестве клиентской системы. Отладчик работает в клиентской системе, а программа — в сервисной системе.
- Определите, собираетесь ли вы выполнять отладку в пользовательском режиме или в режиме ядра. Режим ядра может иметь большие разрешения и доступ к любой части системы. Многие основные функции операционной системы и драйверы оборудования работают в режиме ядра. Пользовательский режим имеет множество ограничений и может работать только в своем собственном пространстве виртуальной памяти и не имеет прямого доступа к системе.
Для режима отладки ядра, пожалуйста, обратитесь к:
Для отладки пользовательского режима, пожалуйста, обратитесь к:Getting Started with WinDbg (User-Mode) .
Кроме того, вам необходимо сделать следующее:
- Настройте таблицу символов. Чтобы использовать все расширенные функции, предоставляемые WinDbg, должна быть загружена правильная таблица символов. Может относиться к:Symbols for Windows debugging (WinDbg, KD, CDB, NTSD)。Таблица символов в Windows отладки
- Настройте исходный код. Если вашей целью является отладка собственного исходного кода, вам необходимо настроить исходный путь.
Таблица символов в Windows отладки
- О таблицах символов
- Таблица символов и файл символов
Когда приложение, библиотека, драйвер или операционная система связаны, соединитель генерирует exe-файлы или dll-файлы, а также генерирует много дополнительных файлов, называемых символьными файлами. В символьных файлах содержится много данных, которые не нужны при запуске двоичных файлов. , Но очень во время процесса отладки. Как правило, эти данные содержат следующую информацию:
- Глобальные переменные
- Локальная переменная
- Имена функций и адреса их указателей сущностей
- Таблица указателей кадров
- Строки исходного кода
Это так называемые символы. Например, простой файл символов Myprogram.pdb может содержать сотни таблиц символов. Вообще говоря, компании-разработчики выпускают две версии файла символов: одна представляет собой полный файл символов, содержащий все публичные символы и частные символы, а другая представляет собой упрощенную версию файла, которая содержит только публичные символы.
При отладке вы должны знать, что отладчик может получить файлы символов, которые соответствуют цели отладки. Для файлов оперативной отладки и аварийного дампа при сбое требуются символы.
Суффикс Windows pdb сохраняет символы, а vs сохраняет все символы в файлах pdb.
- Получить таблицу символов для отладки
Настройка символов является сложной задачей, особенно для отладки в режиме ядра. Часто требуется, чтобы вы знали все названия и выпуски ваших компьютерных продуктов. Отладчик должен иметь возможность найти файл символов каждого продукта.
Чтобы упростить трудности, файлы символов собираются в хранилище символов, которое можно получить через сервер символов. Хранилище символов — это набор файлов символов, индекс и инструмент для добавления и удаления файлов администраторами. Эти файлы индексируются некоторыми уникальными параметрами, такими как отметка времени или размер изображения. Debugging Tools for Windows contains a symbol store creation tool called SymStore . Debugging Tools for Windows contains a symbol server called SymSrv .
- Таблица символов конфигурации
Официальный сайт Microsoft более эвфемичен и не прост в управлении. Вот простой метод настройки.
- Добавьте каталог установки windbg в переменную окружения Path. Например: C: Program Files Средства отладки для Windows (x64)
- Создайте новое значение переменной среды _NT_SYMBOL_PATH: SRV*c:mysymbol* http://msdl.microsoft.com/download/symbols
Это предложение сообщает WinDbg, что мой файл символов хранится в папке c: mysymbol. На самом деле в нем ничего нет, даже эта папка не существует, но это не имеет значения. Если система не может найти ее, она создаст ее и загрузит по указанному выше URL-адресу. Перейти, чтобы помочь вам загрузить файл символов в нем.
- Перезагрузите компьютер
После перезагрузки компьютера, если вы найдете дополнительный файл mysymbol на диске C и откроете exe-файл с помощью windbg, вы увидите Symbol search path is: SRV*c:mysymbol* http://msdl.microsoft.com/download/symbolsПодсказка указывает, что конфигурация прошла успешно.
Примечание: После выполнения этого шага, если вы снова запустите VS, VS прочитает переменную среды _NT_SYMBOL_PATH и загрузит и прочитает из нее символ, что приведет к очень медленному запуску и отладке VS. Рекомендуется изменить _NT_SYMBOL_PATH на другое имя, когда Windbg не используется.
- Как отладчик распознает таблицу символов
- Проблемы с символами при отладке
Начало работы с отладкой в пользовательском режиме
Отладка вашей собственной программы
Предположим, вы написали следующую программу
void MyFunction(long p1, long p2, long p3) < long x = p1 + p2 + p3; long y = 0; y = x / p2; >void main()
(1) Используйте Visual studio 2015 для создания Helloworld.exe в x64 и режиме отладки, а также Helloworld.pdb.
(2) Скопируйте Helloworld.pdb в локальную папку символов (обратитесь к:Таблица символов конфигурации)。
(3) Откройте Helloworld.exe и Helloworld.cpp с помощью windbg.
Затем вы можете ввести команды отладки, например:
Средства установки точки останова в главном модуле HelloWorld
- Нажмите F11 для одношаговой отладки, пока программа не запустится до y = x / p2 Вылетит с сообщением об ошибке вроде этого:
(3058.3830): Integer divide-by-zero — code c0000094 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
00000001`3f2a16d3 f7bd28010000 idiv eax,dword ptr [rbp+128h] ss:00000000`0014f648=00000000
Это означает, что произошла ошибка деления на 0.
Будет сгруппирован анализ ошибок.
Обязательным условием для этого раздела является настройка символа (ссылка:Таблица символов конфигурации)。
- Откройте notepad.exe с помощью windbg, обычно в C:WindowsSystem32 Как показано на рисунке:
- пробег.reload, Найти и загрузить символы
- x notepad!WinMain
Найти все с WinMain согласование symbols 。
- bu notepad!WinMain Установить точку останова
- bl Показать информацию о точках останова, которые были установлены
- g Запустите программу до точки останова, сбоя или завершения программы.
- lm Показать модули, загруженные программой «Блокнот»
- kОтобразить трассировку стека текущего потока, то есть таблицу структуры вызова функции
- g Продолжай бежать
- Нажмите кнопку остановки в строке меню, чтобы остановить отладку
- bu ntdll!ZwWriteFile Установить новую точку останова
- bl Показать информацию о точке останова
- ~ Посмотреть все темы текущей программы
- ~0s
Выше две команды могут войти 0 Хороший прогресс и просмотр трассировки стека
Источник: russianblogs.com
Проводим анализ дампа памяти или как выявить причину BSoD?
Здравствуйте друзья, сегодня разберем интересную тему, которая поможет вам в будущем при появлении синего экрана смерти (BSoD).
Как и мне, так и многим другим пользователям приходилось наблюдать появление экрана с синим фоном, на котором что-то написано (белым по синему). Данное явление говорит о критической неполадке, как в программном обеспечении, например, конфликт драйверов, так и в физической неисправности какого-то компонента компьютера.
Недавно у меня снова появился голубой экран в Windows 10, но я быстро от него избавился и скоро об этом вам расскажу.
Итак, большинство пользователей не знают, что BSoD можно анализировать, чтобы впоследствии понять проблемы критической ошибки. Для таких случаев Windows создает на диске специальные файлы – дампы памяти, их то мы и будем анализировать.
Есть три типа дампа памяти:
- Полный дамп памяти – эта функция позволяет полностью сохранить содержимое оперативной памяти. Он редко используется, так как представьте, что у вас 32 Гб оперативной памяти, при полном дампе весь этот объем сохранится на диске.
- Дамп ядра – сохраняет информацию о режиме ядра.
- Малый дамп памяти – сохраняет небольшой объем информации о ошибках и загруженных компонентов, которые были на момент появления неисправности системы. Мы будем использовать именно этот тип дампа, потому что она даст нам достаточное количество сведений о BSoD.
Расположение, как малого, так и полного дампа отличается, например, малый дамп находится по следующему пути: %systemroot%minidump.
Полный дамп находится здесь: %systemroot%.
Для анализа дампов памяти существуют различные программы, но мы воспользуемся двумя. Первая – Microsoft Kernel Debuggers, как понятно из названия утилита от Microsoft. Скачать ее можно с официального сайта. Вторая программа – BlueScreenView, бесплатная программка, скачиваем отсюда.
Анализ дампа памяти с помощью Microsoft Kernel Debuggers
Для разных версий систем нужно скачивать свой тип утилиты. Например, для 64-х разрядной операционной системы, нужна 64-битовая программа, для 32-х разрядной – 32-битная версия.
Это еще не все, вам нужно скачать и установить пакет отладочных символов, нужные для программы. Называется Debugging Symbols. Каждая версия данного пакета тоже скачивается под определённою ОС, для начала узнайте какая у вас система, а потом скачивайте. Дабы вам не искать где попало эти символы, вот ссылка на скачивание. Установка, желательно, должна производиться по этому пути: %systemroot%symbols.
Теперь можно запускать наш отладчик, окно которого будет выглядеть вот так:
Прежде чем проанализировать дампы мы кое-что настроим в утилите. Во-первых, нужно указать программе, куда мы установили отладочные символы. Для этого нажимаем на кнопку «File» и выбираем пункт «Symbol File Path», потом указываем путь до символов.
Программа позволяет извлекать символы прямо из сети, поэтому вам даже не придется их скачивать (извините те, кто уже скачал). Они буду браться с сервером Microsoft, поэтому все безопасно. Итак, вам нужно снова открыть «File», потом «Symbol File Path» и ввести следующую команду:
Таким образом мы указали программе, что символы должны браться из сети. Как только мы это сделали нажимаем «File» и выбираем пункт «Save Workspace», потом жмем ОК.
Вот и все. Мы настроили программу на нужный лад, теперь приступаем к анализу дампов памяти. В программе нажимаем кнопочку «File», потом «Open Crash Dump» и выбираем нужный файл.
Kernel Debuggers начнет анализ файла и после этого выведет результат о причине ошибки.
В появившемся окне можно вводить команды. Если мы введем !analyze –v , то получим больше информации.
Вот и все с этой программой. Чтобы остановить работу отладчика, выберите «Debug» и пункт «Stop Debugging».
Анализ дампа памяти с помощью BlueScreenView
Для анализа различных ошибок и BSoD подойдет и программа BlueScreenView, которая имеет простой интерфейс, поэтому проблем с освоением возникнуть не должно.
Скачайте программу по указанной выше ссылке и установите. После запуска утилиты нужно ее настроить. Зайдите в параметры: «Настройки» – «Дополнительные параметры». Откроется небольшое окошко, в котором есть пару пунктов. В первом пункте нужно указать местонахождение дампов памяти.
Обычно они находятся по пути C:WINDOWSMinidump. Тогда просто нажмите кнопку «По умолчанию».
Что можно видеть в программе? У нас есть пункты меню, часть окна с названиями файлов дампов и вторая часть окна – содержимое дампов памяти.
Как я говорил в начале статьи, дампы могут хранить драйвера, сам скриншот «экрана смерти» и другая полезная информация, которая нам может пригодиться.
Итак, в первой части окна, где файлы дампов, выбираем нужный нам дамп памяти. В следующей части окна смотрим на содержимое. Красноватым цветом помечены драйвера, находившиеся в стеке памяти. Как раз они и есть причина синего экрана смерти.
В интернете можно найти все о коде ошибке и драйвере, который может быть виной BSoD. Для этого нажимаем «Файл», а потом «Найти в Google код ошибки + Драйвер».
Можно сделать показ только драйверов, которые были на момент появления ошибки. Для этого нужно нажать «Настройки» – «Режим нижнего окна» – «Только драйвера, найденные в крэш-стеке». Либо нажать клавишу F7.
Чтобы показать скриншот BSoD нажмите клавишу F8. Для показа всех драйверов и файлов нажимаем F6.
Ну вот собственно и все. Теперь вы знаете, как узнать о проблеме «Синего экрана смерти», и в случае чего найти решение в интернете, либо на этом сайте. Можете предлагать свои коды ошибок, а я постараюсь писать для каждой статьи по решению проблемы.
Также не забывайте задавать вопросы в комментариях.
( 2 оценки, среднее 3 из 5 )
EvilSin225/ автор статьи
Понравилась статья? Поделиться с друзьями:
Вам также может быть интересно
10.07.2022 Проблемы 0 415 просмотров
Вот новое руководство по замене стекла на Айфон за 10 шагов! Сколько раз мы
23.03.2022 Проблемы 0 686 просмотров
Жесткий диск – один из основных элементов компьютера или ноутбука, отвечающий за корректную работу
05.03.2022 Проблемы 0 624 просмотров
Разобраться почему принтер не сканирует и устранить затруднение можно достаточно быстро при сбоях программного
06.02.2022 Проблемы 0 372 просмотров
Вы играете в свою любимую игру на Windows и вдруг сталкиваетесь с ошибкой –
Комментарии: 2
Ron39 P 03.07.2017 в 08:59
Подскажите что это за ошибка и как ее можно исправит? Заранее спасибо!
(Это данные BSOD) A problem has been detected and Windows has been shut down to prevent damage
to your computer. The problem seems to be caused by the following file: ntoskrnl.exe BAD_POOL_HEADER If this is the first time you’ve seen this stop error screen,
restart your computer. If this screen appears again, follow
these steps: Check to make sure any new hardware or software is properly installed.
If this is a new installation, ask your hardware or software manufacturer
for any Windows updates you might need. If problems continue, disable or remove any newly installed hardware
or software. Disable BIOS memory options such as caching or shadowing.
If you need to use safe mode to remove or disable components, restart
your computer, press F8 to select Advanced Startup Options, and then
select Safe Mode. Technical Information: *** STOP: 0x00000019 (0x0000000000000003, 0xfffffa800d3cab00, 0x0000000000000000,
0xfffffa800d3cab00) *** ntoskrnl.exe – Address 0xfffff800040c1440 base at 0xfffff80004052000 DateStamp
0x589c915d
Источник: computerinfo.ru