Структура CREATE_PROCESS_DEBUG_INFO


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

Синтаксис

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), дескриптор не допустим. В противном случае отладчик может использовать этот член структуры, чтобы читать из и записывать в загрузочный модуль.

hProcess

Дескриптор процесса. Если этот член структуры - ПУСТО (NULL), дескриптор не допустим. В противном случае, отладчик может использовать этот член структуры, чтобы читать из и записывать в память процесса.

hThread

Дескриптор начального потока процесса, идентифицированного членом структуры hProcess. Если параметр hThread - ПУСТО (NULL), дескриптор не допустим. В противном случае, отладчик получает THREAD_GET_CONTEXT, THREAD_SET_CONTEXT и THREAD_SUSPEND_RESUME доступ к потоку, что дает ему возможность читать из и записывать в регистры потока и управлять исполнением кода потока.

lpBaseOfImage

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

dwDebugInfoFileOffset

Смещение  информации об отладке в файле, идентифицированном членом структуры hFile. Система предполагает, что информация отладки  находится в формате  Microsoft ® CodeView ® версии 4.0. Этот формат является текущей  модификацией COFF (Стандартный формат объектного файла).

nDebugInfoSize

Размер информации об отладке в файле, в байтах. Если это значение равняется нулю, нет никакой отладочной информации.

lpThreadLocalBase

Указатель на блок данных. При смещении 0x2C в этом блоке существует другой указатель, называемый ThreadLocalStoragePointer, который указывает на массив блоков локальной памяти потока (TLS) одного модуля. Это дает доступ отладчику к  данным одного потока в потоках отлаживаемого процесса, используя одни и те же алгоритмы, которые компилятор использовал бы.

lpStartAddress

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

lpImageName

Указатель на имя файла связанного с членом структуры hFile. Этот параметр может быть ПУСТО (NULL), или он может содержать адрес строкового указателя в адресном пространстве отлаженного процесса. А тот адрес может, в свою очередь, быть или  ПУСТО (NULL) или указывать на фактическое имя файла. Если член структуры fUnicode - ненулевое значение,  строка имени исполнена в Unicode; в противном случае, она исполнена в ANSI.

Этот член структуры является абсолютно необязательным. Отладчики должны быть готовы обработать ситуацию, когда lpImageName - ПУСТО (NULL), или *lpImageName (в адресном пространстве отлаженного процесса) - ПУСТО (NULL). В особенности, система не предоставляет имя загрузочного модули для создающегося события процесса, и вряд ли передаст имя загрузочного модули для события первой DLL. Система также не предоставляет ту информацию, которая касается отладочного события, которые порождаются из вызова функции DebugActiveProcess.

fUnicode

Указывает, является ли имя файла, заданное членом структуры lpImageName Unicode или ANSI. Ненулевое значение указывает на Unicode; нуль обозначает ANSI.

Смотри также

Обзор Основы отладки, Структуры, используемые при отладке, CREATE_THREAD_DEBUG_INFO, DebugActiveProcess, DEBUG_EVENT, LOAD_DLL_DEBUG_INFO, SetThreadContext

Размещение и совместимость CREATE_PROCESS_DEBUG_INFO

К

Windows XP

Да 

л

Windows 2000 Professional

Да  

и

Windows NT  Workstation

Да

е

Windows Me

Да

н

Windows 98

Да

т

Windows 95

Да

 
С

Windows Server 2003

Да

е Windows 2000 Server Да
р Windows NT Server Да 
в    
е    
р    

Используемая библиотека

-

Используемая DLL -
 Заголовочный файл  

- объявлено в

Winbase.h

 - включено в

Windows.h

 Unicode

Нет

 Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz