WdbgExts 執行緒和進程
本主題提供如何使用 WdbgExts API 操作執行緒和進程的簡短概觀。 如需偵錯工具引擎中線程和進程的概觀,請參閱本檔的偵錯工具引擎概觀一節中的執行緒和進程。
執行緒
若要取得描述目前線程的執行緒環境區塊位址 (TEB) ,請使用 GetTebAddress方法。 在核心模式偵錯中,KTHREAD 結構也可用來描述執行緒。 GetCurrentThreadAddr 會在使用者模式偵錯中由 GetCurrentThreadAddr (傳回, GetCurrentThreadAddr 會傳回 TEB) 的位址。
執行緒內容是切換執行緒時 Windows 所保留的狀態;它是由 CONTEXT 結構表示。 此結構會隨著作業系統和平臺而有所不同,在使用 CONTEXT 結構時應該小心。 執行緒內容是由 GetCoNtext 函式傳回,而且可以使用 SetCoNtext 函式來設定。
若要檢查目前線程的堆疊追蹤,請使用 StackTrace 函式。 若要暫時變更用於檢查堆疊追蹤的執行緒,請使用 SetThreadForOperation 或 SetThreadForOperation64 函式。 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.