I've been using dumpbin
recently to see symbols in some static libraries using dumpbin foo.lib /symbols
. I wanted to see how it could be used for executables and DLLs.
My first observation is that dumpbin foo.{exe|dll} /symbols
returns nothing.
For DLLs, I observed that the exports option was necessary to get symbol data:
dumpbin foo.dll /exports
. Why is this option necessary in this case? If the corresponding *.iobj file is available, I can use dumpbin foo.iobj /symbols
dumps ALL symbols whereas /exports on the DLL I assume only shows the symbols that are exposed by the DLL.
For executables, dumpbin bar.exe /symbols
produces nothing, where as dumpbin bar.exe /exports
seems to dump some symbols.
Can anyone explain what's going on under the hood here?