ICorDebug::CreateProcess 方法
在調試程式的控制下啟動進程及其主要線程。
語法
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 終止字串的指標,指定要由啟動的進程執行的命令行。 應用程式名稱(例如“SomeApp.exe”)必須是第一個自變數。
lpProcessAttributes
[in]Win32 SECURITY_ATTRIBUTES
結構的指標,指定進程的安全性描述元。 如果 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
方法的參數相同。
若要啟用非受控混合模式偵錯,請將 設定 dwCreationFlags
為 DEBUG_PROCESS |DEBUG_ONLY_THIS_PROCESS。 如果您想要只使用Managed偵錯,請勿設定這些旗標。
如果調試程式和要偵錯的進程(附加進程)共用單一控制台,而且使用 Interop 偵錯,則附加進程可能會保留控制台鎖定,並在偵錯事件停止。 然後調試程式會封鎖任何使用主控台的嘗試。 若要避免這個問題,請在 參數中 dwCreationFlags
設定CREATE_NEW_CONSOLE旗標。
Win9x 和非 x86 平台不支援 Interop 偵錯,例如 IA-64 型和 AMD64 型平臺。
需求
平台:請參閱系統需求。
標頭:CorDebug.idl、CorDebug.h
程式庫:CorGuids.lib
.NET Framework 版本: 自 1.0 起提供