Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подсистема отладчика поддерживает отладку различных типов целевых объектов, целевых объектов пользовательского режима и режима ядра, динамических целевых объектов и файлов аварийного дампа, а также локальных и удаленных целевых объектов. Существуют различные методы подключения подсистемы к этим различным типам целевых объектов.
Файлы аварийного дампа
Файлы аварийного дампа в режиме пользователя и режима ядра открываются с помощью OpenDumpFile. Модуль также может создавать файлы дампа из целевого объекта с помощью WriteDumpFile2.
Живые, User-Mode целевые объекты
Движок отладчика может как создавать, так и подключаться к процессам пользовательского режима.
Создание процесса выполняется путем предоставления командной строки и при необходимости исходного каталога и среды для нового процесса. Движок может затем подключиться к новому процессу или приостановить новый процесс и подключиться к другому процессу. Например, при отладке приложения, состоящего как из клиента, так и сервера, можно создать клиент в приостановленном состоянии и подключиться к уже работающему серверу, что позволяет задать точки останова сервера перед запуском клиента и спровоцировать операции сервера.
При отключении от процесса движок может оставить процесс работающим в обычном режиме, завершить процесс или оставить процесс (оставив его приостановленным до тех пор, пока другой отладчик не подключится к нему или он не будет убит).
Движок можно запросить для получения информации обо всех процессах пользовательского режима, которые выполняются на компьютере, включая идентификатор процесса и имя исполняемого образа, используемого для запуска процесса. Эти сведения можно использовать для поиска процесса отладки.
Живые, Kernel-Mode целевые объекты
Метод AttachKernel подключает обработчик отладчика к ядру Windows.
Удаленные целевые объекты
При использовании движка отладки для удаленной отладки, там возможно два дополнительных шага:
Подключитесь к хост-двигателю. Если ядро узла не является экземпляром локального ядра, используйте DebugConnect для создания клиентского объекта, подключенного к подсистеме узла.
Подключите хост-движок к серверу обработки или серверу связей с ядром. Если основной движок не подключается непосредственно к целевому объекту, он должен подключиться к серверу обработки или серверу подключения ядра, для этого.
Теперь клиент может сообщить обработчику узлов получить целевой объект через сервер обработки или сервер подключения ядра.
Получение целевых объектов
При получении целевого объекта приобретение целевого объекта не завершается до тех пор, пока целевой объект не создаст событие. Как правило, это означает, что сначала вызывает метод для подключения отладчика к целевому объекту, а затем вызывает WaitForEvent , чтобы разрешить целевому объекту создать событие. Это остается верным, если целевым является файл дампа аварии, так как он всегда содержит событие, обычно то событие, которое вызвало создание файла дампа.
дополнительные сведения
Дополнительные сведения о присоединении к целевым объектам см. в разделе "Подключение к целевым объектам".