diff --git a/examples/python/crashlog.py b/examples/python/crashlog.py
index 2700cd8..752700f 100755
--- a/examples/python/crashlog.py
+++ b/examples/python/crashlog.py
@@ -587,6 +587,14 @@
         print 'error: no images in crash log'
         return
 
+    if options.dump_image_list:
+        print "Binary Images:"
+        for image in crash_log.images:
+            if options.verbose:
+                print image.debug_dump()
+            else:
+                print image
+
     target = crash_log.create_target ()
     if not target:
         return
@@ -678,11 +686,6 @@
                 print frame
         print                
 
-    if options.dump_image_list:
-        print "Binary Images:"
-        for image in crash_log.images:
-            print image
-
 def CreateSymbolicateCrashLogOptions(command_name, description, add_interactive_options):
     usage = "usage: %prog [options] <FILE> [FILE ...]"
     option_parser = optparse.OptionParser(description=description, prog='crashlog',usage=usage)
diff --git a/examples/python/symbolication.py b/examples/python/symbolication.py
index 3ac6acc..fd4e500 100755
--- a/examples/python/symbolication.py
+++ b/examples/python/symbolication.py
@@ -214,7 +214,21 @@
     
     def dump(self, prefix):
         print "%s%s" % (prefix, self)
-    
+
+    def debug_dump(self):
+        print 'path = "%s"' % (self.path)
+        print 'resolved_path = "%s"' % (self.resolved_path)
+        print 'resolved = %i' % (self.resolved)
+        print 'unavailable = %i' % (self.unavailable)
+        print 'uuid = %s' % (self.uuid)
+        print 'section_infos = %s' % (self.section_infos)
+        print 'identifier = "%s"' % (self.identifier)
+        print 'version = %s' % (self.version)
+        print 'arch = %s' % (self.arch)
+        print 'module = %s' % (self.module)
+        print 'symfile = "%s"' % (self.symfile)
+        print 'slide = %i (0x%x)' % (self.slide, self.slide)
+        
     def __str__(self):
         s = "%s %s %s" % (self.get_uuid(), self.version, self.get_resolved_path())
         for section_info in self.section_infos:
