簡體   English   中英

打印線程的調用堆棧(c ++),StackWalker與否?

[英]print callstack of a thread (c++), StackWalker or not?

需要按線程句柄打印 C++ 應用程序線程的調用堆棧,我求助於StackWalker ,它在之前的 stackoverflow 答案中提到。

但是, StakWalker 代碼的日期是 2005 年。我懷疑從那以后發生了一些變化。

當我編譯並運行它時,出現錯誤(如下),並且 output 似乎不完整,錯誤時被截斷。 測試應打印更多的測試用例。

有沒有人有更新或不同的工作調用堆棧打印發布的代碼?

e:\boris\stackwalker\stackwalker\main.cpp (31): Func5
e:\boris\stackwalker\stackwalker\main.cpp (32): Func4
e:\boris\stackwalker\stackwalker\main.cpp (33): Func3
e:\boris\stackwalker\stackwalker\main.cpp (34): Func2
e:\boris\stackwalker\stackwalker\main.cpp (35): TestCurrentThread
e:\boris\stackwalker\stackwalker\main.cpp (139): main
f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (582): __tmainCRTStartup
f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (399): mainCRTStartup  
VVVVV  
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 7C817077)  
^^^^^  
7C817077 (kernel32): (filename not available): RegisterWaitForInputIdle

這不是 CodeProject 上提供的 StackWalker 示例中的錯誤。 這是因為缺少符號文件。 為您的操作系統下載並安裝符號文件(調試符號),然后重試。

http://msdn.microsoft.com/en-us/windows/hardware/gg463028

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM