Интерфейс ICorDebug
Обновлен: Ноябрь 2007
Предоставляет методы, позволяющие разработчикам отлаживать приложения в среде CLR.
![]() |
---|
Отладка в смешанном режиме (для управляемого и машинного кода) в операционных системах Windows 95, Windows 98 или Windows ME, а также на платформах x86 (таких как IA64 и AMD64) не поддерживается. |
interface ICorDebug : IUnknown {
HRESULT CanLaunchOrAttach (
[in] DWORD dwProcessId,
[in] BOOL win32DebuggingEnabled
);
HRESULT CreateProcess (
[in] LPCWSTR lpApplicationName,
[in] LPWSTR lpCommandLine,
[in] LPSECURITY_ATTRIBUTES lpProcessAttributes,
[in] LPSECURITY_ATTRIBUTES lpThreadAttributes,
[in] BOOL bInheritHandles,
[in] DWORD dwCreationFlags,
[in] PVOID lpEnvironment,
[in] LPCWSTR lpCurrentDirectory,
[in] LPSTARTUPINFOW lpStartupInfo,
[in] LPPROCESS_INFORMATION pProcessInformation,
[in] CorDebugCreateProcessFlags debuggingFlags,
[out] ICorDebugProcess **ppProcess
);
HRESULT DebugActiveProcess (
[in] DWORD id,
[in] BOOL win32Attach,
[out] ICorDebugProcess **ppProcess
);
HRESULT EnumerateProcesses (
[out] ICorDebugProcessEnum **ppProcess
);
HRESULT GetProcess (
[in] DWORD dwProcessId,
[out] ICorDebugProcess **ppProcess);
HRESULT Initialize();
HRESULT SetManagedHandler (
[in] ICorDebugManagedCallback *pCallback
);
HRESULT SetUnmanagedHandler (
[in] ICorDebugUnmanagedCallback *pCallback
);
HRESULT Terminate ();
};
Методы
Метод |
Описание |
---|---|
Определяет, возможен ли запуск нового процесса или вложение в данный процесс в рамках контекста ткущего компьютера и конфигурации среды выполнения. |
|
Запускает процесс и основной поток, находящийся под управлением отладчика. |
|
Вкладывает отладчик в существующий процесс. |
|
Получает перечислитель для отлаживаемых процессов. |
|
Возвращает объект ICorDebugProcess, с заданным ИД процесса. |
|
Выполняет инициализацию объекта ICorDebug. |
|
Задает объект обработчика событий для управляемых событий. |
|
Задает объект обработчика событий для неуправляемых событий. |
|
Завершает выполнение объекта ICorDebug. |
Заметки
Интерфейс ICorDebug представляет цикл обработки событий для процесса отладчика. Для разблокирования этого интерфейса отладчик должен дождаться обратного вызова ICorDebugManagedCallback::ExitProcess ото всех отлаживаемых процессов.
Объект ICorDebug является исходным объектом, который будет управлять всеми последующими отладками управляемого кода. В платформе .NET Framework версии 1.0 и 1.1 этот объект был объектом CoClass, созданным на основе модели COM. В платформе .NET Framework версии 2.0, этот объект больше не является объектом CoClass. Он должен создаваться функцией CreateDebuggingInterfaceFromVersion, которая лучшие учитывает различия в версиях. Эта новая функция создания позволяет клиентам получать особые реализации интерфейса ICorDebug, которые также эмулируют определенную версию API отладки.
Требования
Платформы: см. раздел Требования к системе для .NET Framework.
Заголовок: CorDebug.idl
Библиотека: CorGuids.lib
Версии платформы .NET Framework: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0