@@ -97,7 +97,7 @@ def dump(self, prefix):
97
97
if self .registers :
98
98
print ("%s Registers:" % (prefix ))
99
99
for reg in self .registers .keys ():
100
- print ("%s %-5s = %#16.16x" % (prefix , reg , self .registers [reg ]))
100
+ print ("%s %-8s = %#16.16x" % (prefix , reg , self .registers [reg ]))
101
101
102
102
def dump_symbolicated (self , crash_log , options ):
103
103
this_thread_crashed = self .app_specific_backtrace
@@ -156,6 +156,10 @@ def dump_symbolicated(self, crash_log, options):
156
156
symbolicated_frame_address_idx += 1
157
157
else :
158
158
print (frame )
159
+ if self .registers :
160
+ print ()
161
+ for reg in self .registers .keys ():
162
+ print (" %-8s = %#16.16x" % (reg , self .registers [reg ]))
159
163
160
164
def add_ident (self , ident ):
161
165
if ident not in self .idents :
@@ -488,27 +492,21 @@ def parse_threads(self, json_threads):
488
492
thread .reason = json_thread ['name' ]
489
493
if json_thread .get ('triggered' , False ):
490
494
self .crashlog .crashed_thread_idx = idx
491
- self .registers = self .parse_thread_registers (
495
+ thread .registers = self .parse_thread_registers (
492
496
json_thread ['threadState' ])
493
497
thread .queue = json_thread .get ('queue' )
494
498
self .parse_frames (thread , json_thread .get ('frames' , []))
495
499
self .crashlog .threads .append (thread )
496
500
idx += 1
497
501
498
502
def parse_thread_registers (self , json_thread_state ):
499
- idx = 0
500
503
registers = dict ()
501
- for json_reg in json_thread_state .get ('x' , []):
502
- key = str ('x{}' .format (idx ))
503
- value = int (json_reg ['value' ])
504
- registers [key ] = value
505
- idx += 1
506
-
507
- for register in ['lr' , 'cpsr' , 'fp' , 'sp' , 'esr' , 'pc' ]:
508
- if register in json_thread_state :
509
- json_reg = json_thread_state [register ]
510
- registers [register ] = int (json_reg ['value' ])
511
-
504
+ for key , state in json_thread_state .items ():
505
+ try :
506
+ value = int (state ['value' ])
507
+ registers [key ] = value
508
+ except (TypeError , ValueError ):
509
+ pass
512
510
return registers
513
511
514
512
0 commit comments