2
假設我在寫調試器。如何在Windows系統上創建堆棧跟蹤?我不需要枚舉符號等。只是堆棧上各種函數調用的地址。我已經有了一個VM_READ訪問線程的句柄。如何獲得遠程(即不在我的進程中)線程的堆棧跟蹤?
假設我在寫調試器。如何在Windows系統上創建堆棧跟蹤?我不需要枚舉符號等。只是堆棧上各種函數調用的地址。我已經有了一個VM_READ訪問線程的句柄。如何獲得遠程(即不在我的進程中)線程的堆棧跟蹤?
比利,
DBGHELP.DLL這裏是你的朋友。各種useful functions對於那些誰願意像活動進行調試......
在它你會發現像StackWalk64好吃的東西和別人,讓您指定目標的過程來操縱。當然,你可能需要確保你的調試器進程擁有自己授予的SeDebugPrivilege。
玩得開心!
應該指出,您只需要SeDebugPrivilege來調試/訪問您通常無法訪問的另一個進程。如果你正在調試你自己的進程,你不需要啓用它。 – tyranid 2011-01-11 06:38:14