gpt4 book ai didi

c++ - 从内存地址获取到源代码中的函数

转载 作者:可可西里 更新时间:2023-11-01 11:49:48 25 4
gpt4 key购买 nike

使用 Process Explorer 工具,我知道我的进程在一个特殊函数处挂起myexe.exe+0x1b5773

如果我有可用的 pdb,是否有办法获得准确的功能?还是必须有此信息的 .map 文件?

我知道我可以使用调试器附加到 exe,但如果问题发生在非开发人员机器上,这现在始终是一个选项..

最佳答案

进程浏览器

这可以在 Options|Configure symbols... 下的 Process Explorer 中完成:

  1. 选择dbghelp.dll
  2. 设置符号路径

    SRV*c:\debug\symbols*http://msdl.microsoft.com/download/symbols;c:\mysymbols

但这对您的客户来说可能不是很方便。

一种更安全且通常对用户更友好的方式:

  1. 右键单击进程
  2. 选择Create dump | Create Minidump...
  3. 选择文件名
  4. 让客户将转储发送给您,以便您对其进行分析。

有了转储,您就不会做错任何事情,甚至数周后,它仍然可以被分析,而如果 Process Explorer 只是暂时显示 transient 数据,则您不能这样做。

WinDbg

您可以在 WinDbg 中这样做:

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

关于c++ - 从内存地址获取到源代码中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32870882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com