本主題提供如何使用 WdbgExts API 操作執行緒和進程的簡要概觀。 如需偵錯工具引擎中執行緒和進程的概觀,請參閱本檔偵錯工具引擎概觀一節中的執行緒和進程。
線程
若要取得描述目前執行緒的執行緒環境區塊 (TEB) 位址,請使用 GetTebAddress 方法。 在核心模式偵錯中,KTHREAD 結構也可用來描述執行緒。 此結構是由 GetCurrentThreadAddr 傳回 (在使用者模式偵錯中, GetCurrentThreadAddr 會傳回 TEB 的位址) 。
執行緒內容是 Windows 在切換執行緒時保留的狀態;它由 CONTEXT 結構表示。 此結構會因作業系統和平臺而異,使用 CONTEXT 結構時應小心。 執行緒內容是由 GetContext 函式傳回,而且可以使用 SetContext 函式來設定。
若要檢查目前執行緒的堆疊追蹤,請使用 StackTrace 函式。 若要暫時變更用來檢查堆疊追蹤的執行緒,請使用 SetThreadForOperation 或 SetThreadForOperation64 函式。 如需檢查堆疊的其他方法,請參閱本檔「使用偵錯工具引擎 API」一節中的檢查堆疊追蹤。
若要取得目標中作業系統執行緒的相關資訊,請使用 Ioctl 作業 IG_GET_THREAD_OS_INFO。
過程
若要取得描述目前進程的進程環境區塊 (PEB) 位址,請使用 GetPebAddress 方法。 在核心模式偵錯中,KPROCESS 結構也可用來描述進程。 此結構是由 GetCurrentProcessAddr 傳回 (在使用者模式偵錯中, GetCurrentProcessAddr 會傳回 PEB 的位址) 。
GetCurrentProcessHandle 方法會傳回目前進程的系統控制碼。
其他資訊
如需更強大的執行緒操作和進程操作 API,請參閱本檔使用偵錯工具引擎 API 一節中的控制執行緒和進程。