c++ - winapi 从函数的地址中获取损坏的名称

标签 c++ winapi name-mangling

在我的 C++ 应用程序中,我有函数的虚拟地址,我想获得它们的损坏 名称。 现在我只能通过使用 winapi SymFromAddr 函数获得未损坏的名称。 有没有办法也获得损坏的名称?

最佳答案

使用SymSetOptions() .您想要关闭 SYMOPT_UNDNAME 选项以查看损坏的名称。

所以,大致:

  DWORD options = SymGetOptions();
  SymSetOptions(options & ~SYMOPT_UNDNAME);
  if (SymFromAddr(hProcess, dwAddress, &dwDisplacement, pSymbol))
  {
      // etc...
  }
  SymSetOptions(options);

关于c++ - winapi 从函数的地址中获取损坏的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27015487/

相关文章:

Python 在另一个对象中创建一个对象的实例时出错

c++ - 在不同线程中使用map::empty和map::insert

c++ - 如何获取命名管道中要(可靠地)读取的数据长度?

c++ - 编写一个模板函数来评估具有任何返回类型的 lambda 函数?

c++ - 我应该避免使用 typedef,尽量使用原始名称并尽可能进行转换吗?

ios - Clang/LD 函数分解?

c++ - STL 容器的二进制兼容性

c++ - 可升级的读/写锁 Win32

c - 如何在c中延迟(倒数)?

Delphi - 解开 BPL 中的名称