从内存地址到源中的功能

时间:2015-09-30 16:09:15

标签: c++ windows debugging memory-address

使用Process Explorer工具我知道我的进程挂起了一个特殊的功能 MYEXE.EXE + 0x1b5773

如果我有可用的pdb,有没有办法获得确切的功能? 或者这个信息必须有.map文件吗?

我知道我可以使用调试器附加到exe,但如果问题出现在非开发人员计算机上,现在总是可以选择..

1 个答案:

答案 0 :(得分:2)

Process Explorer

这可以在Options|Configure symbols...

下的Process Explorer中完成
  1. 选择dbghelp.dll
  2. 设置符号路径

    SRV*c:\debug\symbols*http://msdl.microsoft.com/download/symbols;c:\mysymbols
    
  3. 但这对您的客户来说可能不太方便。

    更安全且通常更友好的方式:

    1. 右键单击该过程
    2. 选择Create dump | Create Minidump...
    3. 选择文件名
    4. 让客户向您发送转储,以便您进行分析。
    5. 使用转储,您无法做任何错误,甚至数周之后,仍然可以对其进行分析,如果Process Explorer暂时显示瞬态数据,则无法进行分析。

      WinDbg的

      你可以在WinDbg中这样做:

      1. 打开有问题的可执行文件,但作为转储文件
      2. .symfix
      3. .sympath+ <your PDB path>
      4. .reload
      5. ln myexe.exe+0x1b5773