структура CREATE_PROCESS_DEBUG_INFO (minwinbase.h)
Содержит сведения о создании процесса, которые могут использоваться отладчиком.
Синтаксис
typedef struct _CREATE_PROCESS_DEBUG_INFO {
HANDLE hFile;
HANDLE hProcess;
HANDLE hThread;
LPVOID lpBaseOfImage;
DWORD dwDebugInfoFileOffset;
DWORD nDebugInfoSize;
LPVOID lpThreadLocalBase;
LPTHREAD_START_ROUTINE lpStartAddress;
LPVOID lpImageName;
WORD fUnicode;
} CREATE_PROCESS_DEBUG_INFO, *LPCREATE_PROCESS_DEBUG_INFO;
Члены
hFile
Дескриптор файла изображения процесса. Если этот член имеет значение NULL, дескриптор недопустим. В противном случае отладчик может использовать элемент для чтения и записи в файл образа.
После завершения работы с этим файлом отладчик должен закрыть дескриптор с помощью функции CloseHandle .
hProcess
Дескриптор процесса. Если этот член имеет значение NULL, дескриптор недопустим. В противном случае отладчик может использовать элемент для чтения и записи в память процесса.
hThread
Дескриптор начального потока процесса, определяемого элементом hProcess . Если параметр hThread имеет значение NULL, дескриптор недопустим. В противном случае отладчик имеет доступ к потоку THREAD_GET_CONTEXT, THREAD_SET_CONTEXT и THREAD_SUSPEND_RESUME , что позволяет отладчику выполнять чтение и запись в регистры потока, а также управлять выполнением потока.
lpBaseOfImage
Базовый адрес исполняемого образа, в котором выполняется процесс.
dwDebugInfoFileOffset
Смещение сведений об отладке в файле, определяемом элементом hFile .
nDebugInfoSize
Размер сведений об отладке в файле в байтах. Если это значение равно нулю, сведения об отладке отсутствуют.
lpThreadLocalBase
Указатель на блок данных. При смещении 0x2C в этот блок находится другой указатель, называемый ThreadLocalStoragePointer
, который указывает на массив локальных блоков хранения потока модуля. Это дает отладчику доступ к данным каждого потока в потоках отлаживаемого процесса с использованием алгоритмов, которые будет использовать компилятор.
lpStartAddress
Указатель на начальный адрес потока. Это значение может быть только приближением к начальному адресу потока, так как любое приложение с соответствующим доступом к потоку может изменить контекст потока с помощью функции SetThreadContext .
lpImageName
Указатель на имя файла, связанного с элементом hFile . Этот параметр может иметь значение NULL или содержать адрес строкового указателя в адресном пространстве отлаживаемого процесса. Этот адрес, в свою очередь, может иметь значение NULL или указывать на фактическое имя файла. Если fUnicode является ненулевым значением, строка имени — Юникод; в противном случае — ANSI.
Этот член является строго необязательным. Отладчики должны быть подготовлены для обработки случаев, когда lpImageName имеет значение NULL или *lpImageName (в адресном пространстве отлаживаемого процесса) имеет значение NULL. В частности, система не предоставляет имя образа для события процесса создания и, скорее всего, не передает имя образа для первого события DLL. Система также не предоставляет эти сведения в случае событий отладки, которые возникают при вызове функции DebugActiveProcess .
fUnicode
Значение , указывающее, является ли имя файла, указанное элементом lpImageName , юникодом или ANSI. Ненулевое значение указывает на Юникод; нуль означает ANSI.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | minwinbase.h (включая Windows.h) |