gpt4 book ai didi

c++ - 打印线程(c++)的调用堆栈,是否使用 StackWalker?

转载 作者:搜寻专家 更新时间:2023-10-31 01:18:48 30 4
gpt4 key购买 nike

需要通过线程句柄打印 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

最佳答案

这不是 CodeProject 上提供的 StackWalker 示例中的错误。这是因为缺少符号文件。下载并安装适用于您操作系统的符号文件(调试符号),然后重试。

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

关于c++ - 打印线程(c++)的调用堆栈,是否使用 StackWalker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6794463/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com