c++ - 如何使用客户端调用堆栈中的地址从 PDB 检索文件/函数/行号?

标签 c++ visual-studio-2010 windows-7 pdb-files

我正在使用 StackWalker library 向我的 C++ 游戏中添加一些崩溃报告适用于 Windows。我假设当客户端生成调用堆栈时,它将打印地址而不是文件/函数名称等。

如何将这些地址转换为人类可读的内容?我将保存 PDB 文件,但我不知道如何检查它们。

最佳答案

“我假设当客户端生成调用堆栈时,它将打印地址而不是文件/函数名称”

你为什么这么认为?您链接的页面有一个标题为“加载模块和符号”的部分。如果你告诉它从哪里加载它们,这个库似乎会使用你的符号。不是这样吗?

或者,您可以吐出一个 process dump , 并且 Visual Studio 或 windbg 将知道如何将它与您的符号文件结合使用。

如果库没有按照您的要求进行操作,并且您仍想通过自定义代码与符号文件进行交互,则可以通过 this mess 进行操作。挖掘出你的符号。

关于c++ - 如何使用客户端调用堆栈中的地址从 PDB 检索文件/函数/行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26131619/

相关文章:

java - 在 JVM 运行时在 Windows 上创建符号链接(symbolic link)

c# - 如何检测 Windows 7 开始菜单何时打开

c++ - 函数声明错误 - 返回一个指针数组

c++ - FFmpeg 原生 AAC 解码器

C语言-Windows已触发断点

c# - 错误 1 ​​无法将带 [] 的索引应用于类型 'int' 的表达式

c# - 是否有用于 WPF XAML 文件的独立可视化编辑器?

java - windows 7中如何启动apache-tomcat-5.0.28运行java中的servlet程序

c++ - 查找 vector 中最接近的值

c++ - 为什么我们不能使用 &(*a) 但可以使用 typedef 实现它?