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


элемент управления выполнения

Отладчик (DE) обычно отправляет одно из следующих событий в качестве последнего запуска события:

  • Событие точки входа, если вложащ на вновь запуска программы

  • Событие загрузки полное, если вложащ в программу, которая уже запущена

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

Остановка событие

Если при остановке событие отправляется в сеанс отладки.

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

  2. Интегрированная среда разработки задает текущие файл и положение исходного кода, которую она указывает выделяется в редакторе.

  3. Сеанс отладки, как правило, реагирует на событие вызовом этого первому при остановке программы Продолжить метод.

  4. Затем программа выполняет до тех пор, пока она не будет возникновения при остановке условие, например обращение к точке останова, в этом случае DE отправляет событие точки останова в сеанс отладки. Событие точки останова при остановке событие и DE снова ожидает ответа пользователя.

  5. Если пользователь избирает, чтобы выполнить пошаговую отладку, через или из функции, интегрированная среда разработки предлагает сеанс отладки вызвать программу Step метод, передав единицу этапа (инструкции, выписки или линии) и типом этап-что, ли выполнить пошаговую отладку, выше или из функции. Если шаг завершен, DE отправляет событие шага полное к сеансу отладки, при остановке событие.

    -или-

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

    -или-

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

Программно, когда возникает при остановке DE условие, он отправляет такие как остановки события IDebugLoadCompleteEvent2 OR IDebugEntryPointEvent2 к сеансу отладки (SDM) посредством диспетчера IDebugEventCallback2 интерфейс. DE передает IDebugProgram2 и IDebugThread2 интерфейсы, которые представляют программу и поток, содержащий текущий указатель инструкций. Вызовы SDM IDebugThread2:: EnumFrameInfo для получения лучших и кадр стека вызовов IDebugStackFrame2:: GetDocumentContext получить контекст рисования, связанный с текущим указателем команд. Этот контекст рисования, как правило, имя файла исходного кода, линий и номер столбца. Интегрированная среда разработки использует их, чтобы выбрать исходный код, содержащий текущий указатель инструкций.

SDM, как правило, реагирует на событие вызовом остановки этого первому IDebugProgram2:: Продолжить. Затем программа выполняет до тех пор, пока она не будет возникновения при остановке условие, например обращение к точке останова, в этом случае DE отправляет интерфейс IDebugBreakpointEvent2 в SDM. Событие точки останова при остановке событие и DE снова ожидает ответа пользователя.

Если пользователь избирает, чтобы выполнить пошаговую отладку, через или из функции, интегрированная среда разработки предлагает SDM вызова IDebugProgram2:: Шаг, передавая ему STEPUNIT (инструкция, оператор или линию) и STEPKIND, то есть ли выполнить пошаговую отладку, выше или из функции. Если шаг завершен, DE отправляет IDebugStepCompleteEvent2 интерфейс SDM, при остановке событие.

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

Если пакет отладки игнорировать событие, указанное при остановке отладки, то пакет вызывает SDM, которое вызывает IDebugProgram2:: Продолжить. Если программа шагала в над или из функции при ее в котором обнаружена при остановке условиям, она продолжает шаг. Это подразумевает, что программа поддерживает состояние пошагового выполнения, таким образом, что она понимал, как продолжить.

SDM осуществляет вызовы Step" Выполнитьи Продолжить является асинхронным, означающее, что SDM ожидает вызов, чтобы вернуть быстро. Если DE отправляет SDM при остановке событие в одном потоке before Step" Выполнитьили Продолжить возвращает типы SDM.

См. также

Основные понятия

задачи отладки