如何使用客户端中的地址从PDB检索文件/函数/行号';s调用堆栈? 我在C++中添加了一些崩溃报告,使用了for Windows。我假设当客户端生成调用堆栈时,它将打印地址而不是文件/函数名等

如何使用客户端中的地址从PDB检索文件/函数/行号';s调用堆栈? 我在C++中添加了一些崩溃报告,使用了for Windows。我假设当客户端生成调用堆栈时,它将打印地址而不是文件/函数名等,c++,visual-studio-2010,windows-7,pdb,C++,Visual Studio 2010,Windows 7,Pdb,如何将这些地址转换为人类可读的内容?我将保存PDB文件,但我不知道如何检查它们。“我假设当客户端生成调用堆栈时,它将打印地址而不是文件/函数名。” 你为什么这么想?你链接的页面有一个标题为“加载模块和符号”的部分。如果你告诉这个库从哪里加载符号,它似乎会使用你的符号。不是这样吗 或者,您可以吐出一个,Visual Studio或windbg将知道如何将其与符号文件结合使用 但是,如果库不能满足您的需要,并且您仍然希望通过自定义代码与符号文件进行交互,那么您可以通过它来挖掘符号。。对!我假设这是因

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

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

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

或者,您可以吐出一个,Visual Studio或windbg将知道如何将其与符号文件结合使用


但是,如果库不能满足您的需要,并且您仍然希望通过自定义代码与符号文件进行交互,那么您可以通过它来挖掘符号。

。对!我假设这是因为我不打算在我的构建中分发PDB。在测试中,如果PDB不存在,则程序无法加载符号。关于“加载模块”的部分似乎与库的内部工作有关。也就是说-非常感谢您提供的信息!可能只是生成我自己的转储将是一个更好的解决方案。啊,这是有道理的。听起来你在为内部质量保证准备好工具。转储是在野外编写代码的好主意。