ICorDebug::CreateProcess 方法
更新:2007 年 11 月
在偵錯工具控制下,啟動處理序及其主執行緒。
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 lpProcessInformation,
[in] CorDebugCreateProcessFlags debuggingFlags,
[out] ICorDebugProcess **ppProcess
);
參數
lpApplicationName
[in] null 結尾字串的指標,指定要由啟動之處理序執行的模組。此模組會在呼叫處理序的安全性內容中執行。lpCommandLine
[in] null 結尾字串的指標,指定要由啟動之處理序執行的命令列。lpProcessAttributes
[in] Win32 SECURITY_ATTRIBUTES 結構的指標,指定此處理序的安全性描述元 (Security Descriptor)。如果 lpProcessAttributes 為 null,則此處理序會取得預設的安全性描述元。lpThreadAttributes
[in] Win32 SECURITY_ATTRIBUTES 結構的指標,指定此處理序主執行緒的安全性描述元。如果 lpThreadAttributes 為 null,則此執行緒會取得預設的安全性描述元。bInheritHandles
[in] 設定為 true 表示呼叫處理序中每個可繼承的控制代碼都是由啟動的處理序繼承,false 表示不繼承這些控制代碼。繼承的控制代碼具有原始控制代碼的相同值和存取權限。dwCreationFlags
[in] Win32 處理序建立旗標的位元組合,控制優先權類別和啟動之處理序的行為。lpEnvironment
[in] 新處理序的環境區塊指標。lpCurrentDirectory
[in] null 結尾字串的指標,指定此處理序目前目錄的完整路徑。如果這個參數為 null,則新的處理序會具有與呼叫處理序目前相同的磁碟機和目錄。lpStartupInfo
[in] Win32 STARTUPINFOW 結構的指標,指定啟動之處理序主視窗的視窗站、桌面、標準控制代碼和外觀。lpProcessInformation
[in] Win32 PROCESS_INFORMATION 結構的指標,指定所要啟動之處理序的識別資訊。debuggingFlags
[in] 指定偵錯選項之 CorDebugCreateProcessFlags 列舉型別的值。ppProcess
[out] 表示處理序之 ICorDebugProcess 物件的位址指標。
備註
這個方法的參數和 Win32 CreateProcess 方法的參數相同。
若要啟動 Unmanaged 混合模式的偵錯,請將 dwCreationFlags 設定為 DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS。如果只要使用 Managed 偵錯,則請勿設定這些旗標。
如果偵錯工具和要偵錯的處理序 (附加的處理序) 共用單一主控台,而且使用 Interop 偵錯,則此附加的處理序可能會保留主控台鎖定,而在偵錯事件上停止。偵錯工具就會封鎖任何使用主控台的嘗試。若要避免此問題,請在 dwCreationFlags 參數中設定 CREATE_NEW_CONSOLE 旗標。
Win9x 和非 x86 平台 (例如 IA-64 和 AMD-64 平台) 不支援 Interop 偵錯。
需求
**平台:**請參閱 .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