Module API (#32). r=waylonis, bryner

- Introduces a standard API for dealing with modules.  MinidumpModule
   is now a concrete implementation of this API.  Code may interact with
   single modules using the CodeModule interface, and collections of
   modules using its container, the CodeModules interface.
 - CodeModule is used directly by SymbolSupplier implementations and
   SourceLineResolver.  Reliance on the specific implementation in
   MinidumpModule has been eliminated.
 - Module lists are now added to ProcessState objects.  Module references
   in each stack frame are now pointers to objects in these module lists.
 - The sample minidump_stackwalk tool prints the module list after printing
   all threads' stacks.

http://groups.google.com/group/airbag-dev/browse_frm/thread/a9c0550edde54cf8


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@74 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
mmentovai
2006-12-05 22:52:28 +00:00
parent ed61ae0bbd
commit db3342a10e
36 changed files with 1515 additions and 351 deletions

View File

@@ -17,3 +17,18 @@ Thread 0 (crashed)
eip = 0x0040395c esp = 0x0012ff78 ebp = 0x0012ffc0
3 kernel32.dll!BaseProcessStart + 0x22
eip = 0x7c816fd7 esp = 0x0012ffc8 ebp = 0x0012fff0
Loaded modules:
0x00400000 - 0x0042afff test_app.exe ??? (main)
0x59a60000 - 0x59b00fff dbghelp.dll 5.1.2600.2180
0x76390000 - 0x763acfff imm32.dll 5.1.2600.2180
0x76bf0000 - 0x76bfafff psapi.dll 5.1.2600.2180
0x774e0000 - 0x7761cfff ole32.dll 5.1.2600.2726
0x77c00000 - 0x77c07fff version.dll 5.1.2600.2180
0x77c10000 - 0x77c67fff msvcrt.dll 7.0.2600.2180
0x77d40000 - 0x77dcffff user32.dll 5.1.2600.2622
0x77dd0000 - 0x77e6afff advapi32.dll 5.1.2600.2180
0x77e70000 - 0x77f00fff rpcrt4.dll 5.1.2600.2180
0x77f10000 - 0x77f56fff gdi32.dll 5.1.2600.2818
0x7c800000 - 0x7c8f3fff kernel32.dll 5.1.2600.2945
0x7c900000 - 0x7c9affff ntdll.dll 5.1.2600.2180