共用方式為


WdbgExts 執行緒和進程

本主題提供如何使用 WdbgExts API 操作執行緒和進程的簡短概觀。 如需偵錯工具引擎中線程和進程的概觀,請參閱本檔的偵錯工具引擎概觀一節中的執行緒和進程

執行緒

若要取得描述目前線程的執行緒環境區塊位址 (TEB) ,請使用 GetTebAddress方法。 在核心模式偵錯中,KTHREAD 結構也可用來描述執行緒。 GetCurrentThreadAddr 會在使用者模式偵錯中由 GetCurrentThreadAddr (傳回, GetCurrentThreadAddr 會傳回 TEB) 的位址。

執行緒內容是切換執行緒時 Windows 所保留的狀態;它是由 CONTEXT 結構表示。 此結構會隨著作業系統和平臺而有所不同,在使用 CONTEXT 結構時應該小心。 執行緒內容是由 GetCoNtext 函式傳回,而且可以使用 SetCoNtext 函式來設定。

若要檢查目前線程的堆疊追蹤,請使用 StackTrace 函式。 若要暫時變更用於檢查堆疊追蹤的執行緒,請使用 SetThreadForOperationSetThreadForOperation64 函式。 See Examining the Stack Trace in the Using the Debugger Engine API section of this documentation for additional methods for examining the stack.

若要取得目標中作業系統執行緒的相關資訊,請使用 Ioctl 作業 IG_GET_THREAD_OS_INFO

過程

若要取得程式環境區塊的位址, (PEB) 描述目前進程的方法,請使用 GetPebAddress方法。 在核心模式偵錯中,KPROCESS 結構也可用來描述進程。 GetCurrentProcessAddr 會在使用者模式偵錯中由 GetCurrentProcessAddr (傳回, GetCurrentProcessAddr 會傳回 PEB) 的位址。

GetCurrentProcessHandle方法會傳回目前進程的系統控制碼。

其他資訊

For a more powerful thread manipulation and process manipulation API, see Controlling Threads and Processes in the Using the Debugger Engine API section of this documentation.