Не работает отладка 1С. Разбираем основные причины.
Данная проблема актуальна при отладке по протоколу TCP. Причина в том что отладчик не может принимать входящие соединение из-за того что брандмауер или фаервол блокируют сетевое взаимодействие между отладчиком и предметом отладки. Тут нужно понимать, что отладчик не только устанавливает исходящее соединение с предметом отладки, но также должен иметь возможность принимать входящее соединение. Проблема решается отключением фаервола на компьютере где запущен отладчик либо открытием входящих соединений на портах 1560-1591 для исполняемого файла 1cv8.exe.

Отладчик ядра

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

Так как очень часто программное обеспечение не поставляется с исходными текстами, а лишь в бинарном виде и сами уязвимости имеют машинно-зависимый характер, то эти две проблемы требует специальных инструментов. При статическом исследовании программы такими инструментами как дизассемблер многие детали поведения программы остаются не узнанными, например те локации памяти куда идет доступ со стороны программы, более трудно установить пути исполнения кода программы. Отладчик позволяет контролировать программу во время выполнения и изучать те изменения, которые в ней происходят на любом этапе выполнения. Возможности отладчика по отображению состояния стека программы, регистров процессора позволяют узнать различную информацию о реакции программы на те или иные события, логику выполнения кода. Это позволяет решить как первую, так и вторую задачу, указанную выше. Примером того как это делается может служить 3 глава из книги Хакинг: искусство эксплойта [1]

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

Так же отладчик ядра контролирует обращение к различным таблицам ядра. Ещё один важный момент это управление состоянием процессора, так как процессоры поддерживают пошаговую трассировку и точки останова на аппаратном уровне.

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

Иной довольно серьёзной проблемой является конфликт между драйверами уровня ядра других приложений и отладчика. Примером может служить невозможность работы программы Daemon Tools при активном отладчике ядра. Некоторые программы отказываются функционировать, если обнаружат наличие отладчика в системе или попытки их отладки

Устранение неполадок при активации и деактивации

Если сервер отладки будет запускаться кластером серверов, то к ImagePath нужно добавить -http, например:

эксперт
Мнение эксперта
Васильева Марина, старший консультант
Если у вас возникнут вопросы, задавайте их мне!
Задать вопрос эксперту
Отладка ядра• Принудительное использование новой границы стека; теперь это не нужно. Предполагается, что границы стека указывают на правильное расположение, даже в случае аварийного останова. Глядя на строку исходного кода 403, можно сказать, что весьма вероятно, что либо виноват доступ по указателю «tp», либо был выход за границы массива.

Как включить отладку на сервере 1С 8.1, 8.2 и 8.3

когда и как использовать отладку ядра windbg

Я обнаружил, что Windbg очень полезен во время разработки и отладки. но в основном я использую windbg в отладке режима использования.

Что может сделать отладка ядра в windbg? или когда я должен использовать отладку ядра windbg?

есть ли toturial об отладке ядра в windbg?

спасибо заранее.

3 ответов

вы обычно используете отладку ядра, когда вам нужно отлаживать драйверы устройств низкого уровня, взаимодействующие непосредственно с оборудованием.
Более сложно отлаживать в режиме ядра, среди прочего, для сеанса отладки живого ядра вам нужно запустить отладчик в другой системе, чем отлаживаемый . для большинства разработчиков пользовательского режима достаточно сделать большую часть работы.
Расширенная Отладка Windows очень хорошая книга об отладке с wndbg (включает обсуждение отладки ядра).

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

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

некоторые общие команды, которые я часто использую.

!процесс 0 0 список всех запущенных процессов:

.процесс Выберите процесс, который вы хотите сделать активным, обычно следует !команда потоков список a обрабатывает текущие потоки.

!стеки 0x2 выполняет поиск во всех потоках стеков вызовов, содержащих указанный драйвер.

!poolused полезно при отладке ситуаций с низкой памятью ядра, и все, что у вас есть, это аварийный дамп ядра

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

!vm 1 Полезное отображение статистики менеджеров памяти, пример:

и не забывайте всемогущего !замки!—4—>

абсолютно необходимо для устранения неполадок заблокированной машины,

С помощью этой команды вы можете отследить потоки, которые застряли в ожидании другого потока, чтобы выпустить ERESOURCE

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

при поиске учебников и других справочных материалов вы можете искать ссылки «kd», а также они, вероятно, будут очень похожи. (КейДи средство отладки ядра командной строки.)

эксперт
Мнение эксперта
Васильева Марина, старший консультант
Если у вас возникнут вопросы, задавайте их мне!
Задать вопрос эксперту

Оцените, пожалуйста, публикацию:
1 Звезд
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *