Debugging DLLs on Windows XP
2009 Mar 23 - Brian Kloppenborg
If you are writing a DLL and need to know the detailed information about your compiled library, check out Dependency Walker. From their website:
Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, it lists all the functions that are exported by that module, and which of those functions are actually being called by other modules.
In addition to a GUI product, MS Visual Studio provides dumpbin
. Dumpbin will
dump the contents of a binary file. For DLLs, the following command is useful:
dumpbin /exports SomeFile.dll
. Dumpbin is easily accessed through the Visual
Studio Command Prompt found under the Tools menu in VS or in the VS start menu
folder under “Visual Studio Tools.” Sample output with /exports option ran on a
simple DLL I created the other day.
> dumpbin /exports SALAPI.dll
Microsoft (R) COFF/PE Dumper Version 8.00.50727.42
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file SALAPI.dll
File Type: DLL
Section contains the following exports for
SALAPI.dll
00000000 characteristics<br/>49C82DEE time date
stamp Mon Mar 23 18:48:46 2009<br/>0.00 version<br/>1 ordinal base<br/>2 number
of functions<br/>2 number of names
ordinal hint RVA name
1 0 000012BC DllMain = @ILT+695(_DllMain@12)
Summary
5000 .data<br/>2000 .idata<br/>B000
.rdata<br/>4000 .reloc<br/>1000 .rsrc<br/>58000 .text