我正在使用 StackWalker library 向我的 C++ 游戏中添加一些崩溃报告适用于 Windows。我假设当客户端生成调用堆栈时,它将打印地址而不是文件/函数名称等。
如何将这些地址转换为人类可读的内容?我将保存 PDB 文件,但我不知道如何检查它们。
最佳答案
“我假设当客户端生成调用堆栈时,它将打印地址而不是文件/函数名称”
你为什么这么认为?您链接的页面有一个标题为“加载模块和符号”的部分。如果你告诉它从哪里加载它们,这个库似乎会使用你的符号。不是这样吗?
或者,您可以吐出一个 process dump , 并且 Visual Studio 或 windbg 将知道如何将它与您的符号文件结合使用。
如果库没有按照您的要求进行操作,并且您仍想通过自定义代码与符号文件进行交互,则可以通过 this mess 进行操作。挖掘出你的符号。
关于c++ - 如何使用客户端调用堆栈中的地址从 PDB 检索文件/函数/行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26131619/