Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Уведомляет отладчик о том, что было запущено собственное событие.
Синтаксис
HRESULT DebugEvent (
[in] LPDEBUG_EVENT pDebugEvent,
[in] BOOL fOutOfBand
);
Параметры
pDebugEvent [in] Указатель на собственное событие.
fOutOfBand [in] true, если взаимодействие с состоянием управляемого процесса невозможно после неуправляемого события, пока отладчик не вызывает ICorDebugController::Continue; в противном случае false.
Замечания
Если отлаживаемый поток является потоком Win32, не используйте элементы интерфейса отладки Win32. Вызов можно вызывать ICorDebugController::Continue только в потоке Win32 и только при продолжении внеполосного события.
Обратный DebugEvent вызов не соответствует стандартным правилам обратного вызова. При вызове DebugEventпроцесс будет находиться в необработанном состоянии отладки ОС. Процесс не будет синхронизирован. При необходимости он автоматически вводит синхронизированное DebugEvent состояние для удовлетворения запросов на получение сведений об управляемом коде, что может привести к другим вложенным обратным вызовам.
Вызовите ICorDebugProcess::ClearCurrentException в процессе, чтобы игнорировать событие исключения перед продолжением процесса. Вызов этого метода отправляет DBG_CONTINUE вместо DBG_EXCEPTION_NOT_HANDLED в запросе на продолжение и автоматически очищает точки останова и одношаговые исключения. Внеполосные события могут возникать в любое время, даже если приложение, отлаживаемое, останавливается и когда выдающееся событие в полосе уже существует.
Отладчик должен немедленно продолжить событие точки останова вне диапазона. Отладчик должен использовать методы ICorDebugProcess2::SetUnmanagedBreakpoint и ICorDebugProcess2::ClearUnmanagedBreakpoint для добавления и удаления точек останова. Эти методы будут пропускать любые точки останова вне диапазона автоматически. Таким образом, единственные точки останова вне полосы, которые отправляются, должны быть необработанными точками останова, которые уже находятся в потоке инструкций, например вызов функции Win32 DebugBreak . Не пытайтесь использовать ICorDebugProcess::ClearCurrentExceptionICorDebugProcess::GetThreadContext, ICorDebugProcess::SetThreadContext или любой другой член API отладки.
Требования
Платформ: См. сведения о поддерживаемых операционных системах .NET.
Заголовок: CorDebug.idl, CorDebug.h
Библиотека: CorGuids.lib
Версии .NET: Доступно с .NET Framework 1.0