【发布时间】:2011-10-11 06:56:09
【问题描述】:
需要通过线程句柄打印 C++ 应用程序线程的调用堆栈,我转向 StackWalker,这在之前的 stackoverflow 答案中有所提及。
但是,the StakWalker code 的日期是 2005 年。我怀疑从那以后发生了一些变化。
当我编译并运行它时,我得到错误(如下),并且输出似乎不完整,错误时被截断。测试应该打印更多的测试用例。
是否有人有更新或不同的工作调用堆栈打印发布代码?
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
【问题讨论】:
标签: c++ winapi stack-trace callstack debug-symbols