我在我的C++游戏中添加了一些崩溃报告,使用的是Windows的StackWalker library。我假设当客户端生成调用堆栈时,它将打印地址而不是文件/函数名等。
我怎样才能把这些地址转换成人类可读的东西呢?我将保存PDB文件,但我不知道如何检查它们。
我在我的C++游戏中添加了一些崩溃报告,使用的是Windows的StackWalker library。我假设当客户端生成调用堆栈时,它将打印地址而不是文件/函数名等。
我怎样才能把这些地址转换成人类可读的东西呢?我将保存PDB文件,但我不知道如何检查它们。
1条答案
按热度按时间z8dt9xmd1#
“我假设当客户端生成调用堆栈时,它将打印地址而不是文件/函数名”
你为什么这么想?你链接的页面有一个标题为“加载模块和符号”的部分。如果你告诉这个库从哪里加载它们,它似乎会使用你的符号。是不是这样?
或者,您可以输出一个process dump,Visual Studio或windbg将知道如何将其与符号文件结合使用。
但是,如果库不能满足您的要求,并且您仍然希望通过自定义代码与符号文件进行交互,则可以通过this mess来挖掘符号。