我收到此错误消息
[...]
# C [FTDIIO.dll+0x1efb]
[...]
我有dll,它是本机的、非托管代码和源代码。我想知道函数、符号(甚至代码线)和这个特定的地址。
我不确定它是否重要,但该 dll 由 JNI Java 应用程序使用,并为 dll 函数提供自定义(自动生成)包装类。
如何找到该特定地址处的函数、符号或代码线?
如果您使用 Visual Studio 并且有 DLL 的调试信息,您可以使用 DbgHelp 浏览器来识别符号名称、文件名和行号。
加载 DLL,然后从 PDB 文件中读取调试信息。
现在,从“查询”菜单中选择“使用 DLL 相对地址查找符号...”,然后在编辑字段中输入 0x1efb 偏移值(示例中的值)(十六进制偏移量以 0x 开头),然后单击“查找符号”。如果找到符号,显示屏将导航以使该符号可见,并突出显示它。
https://www.softwareverify.com/product/dbghelp-browser/
如果您使用 Delphi(TDS 调试信息)或生成 DWARF 调试信息的编译器,或者有 MAP 文件,网站上还提供其他工具来从中获取符号、文件名和行。
免费工具。
免责声明:我编写了这个工具。