在查看内存转储的调用堆栈时,如何在VS中指定源代码目录?
-
03-07-2019 - |
题
我正在分析一个创建的.dmp文件,我有一个调用堆栈,它给了我很多信息。但我想双击调用堆栈,让它带我到源代码。
我可以右键单击调用堆栈并选择符号设置..我可以将位置放到PDB中。但是源代码目录没有选项。
解决方案
遗憾的是,源代码目录已硬编码到pdb中,但是如果您知道所需的文件夹,则可以使用符号链接,联结的Windows概念。
我使用的工具 Junction Link Magic
其他提示
阅读有关如何设置源服务器的这篇文章 (又名SrcSrv)整合到您的网站。
我花了很多时间为我们的代码库执行这些步骤,现在我们可以在过去6个月内从我们软件的任何版本中获取.dmp文件...获取带符号的堆栈跟踪...和查看调试器中的确切源代码行。由于这些步骤已集成到我们的自动构建中,因此现在只需很少的开销。
我确实需要为ClearCase编写一个自定义索引器,但它们已经预先存在Perforce,TFS和其他人。
值得注意的是,VS2005中的.dmp支持有点不稳定......在VS2008中它的稳定性相当稳定。
除了您自己的符号服务器之外,您还需要将Visual Studio配置为从此处获取MS产品的符号:
http://msdl.microsoft.com/download/symbols
在一些地方描述了这一点,例如在 Windows调试工具上网站。
Windbg允许您设置与PDB路径相同的源路径。
加载PDB后,手动导航到与当前执行位置匹配的源文件。 PDB包含构建其关联二进制文件的源文件的路径和文件名,我怀疑调试器是否足够聪明,当它注意到显示的文件名和与当前二进制位置关联的文件名匹配时挂钩。 / p>
不隶属于 StackOverflow