我最近一直在使用.dumpbin
来查看一些静态库中的符号dumpbin foo.lib /symbols
。我想看看它如何用于可执行文件和 DLL。
我的第一个观察结果是dumpbin foo.{exe|dll} /symbols
什么都不返回。
对于 DLL,我观察到 export 选项是获取符号数据所必需的:
dumpbin foo.dll /exports
. 为什么在这种情况下需要这个选项?如果相应的 *.iobj 文件可用,我可以使用dumpbin foo.iobj /symbols
转储所有符号,而我假设 DLL 上的 /exports 仅显示 DLL 公开的符号。
对于可执行文件,dumpbin bar.exe /symbols
什么也不产生,dumpbin bar.exe /exports
似乎转储了一些符号。
谁能解释这里的引擎盖下发生了什么?