thread_regex = re.compile('^Thread ([0-9]+)([^:]*):(.*)')
app_backtrace_regex = re.compile('^Application Specific Backtrace ([0-9]+)([^:]*):(.*)')
version = r'(\(.+\)|(arm|x86_)[0-9a-z]+)\s+'
- frame_regex = re.compile(r'^([0-9]+)' r'\s' # id
- r'+(.+?)' r'\s+' # img_name
- r'(' +version+ r')?' # img_version
- r'(0x[0-9a-fA-F]{7}[0-9a-fA-F]+)' # addr
- r' +(.*)' # offs
+ frame_regex = re.compile(r'^([0-9]+)' r'\s+' # id
+ r'(.+?)' r'\s+' # img_name
+ r'(' +version+ r')?' # img_version
+ r'(0x[0-9a-fA-F]{7,})' # addr (7 chars or more)
+ r' +(.*)' # offs
)
null_frame_regex = re.compile(r'^([0-9]+)\s+\?\?\?\s+(0{7}0+) +(.*)')
image_regex_uuid = re.compile(r'(0x[0-9a-fA-F]+)' # img_lo
0 a.out @foo@ foo + 16 (test.c:3)
1 a.out @bar@ bar + 9 (test.c:6)
2 a.out @main@ main + 20 (test.c:8)
-3 libdyld.dylib 0x0000000100000000 start + 1
+3 libdyld.dylib 0x1000000 start + 1
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x0000000000000000 rcx: 0x00007ffee42d81d0 rdx: 0x00007ffee42d8080
# CHECK: [ 0] {{.*}}out`foo + 16 at test.c
# CHECK: [ 1] {{.*}}out`bar + 8 at test.c
# CHECK: [ 2] {{.*}}out`main + 19 at test.c
+# CHECK: [ 3] 0x{{[0]+}}1000000 start + 1
# CHECK: rbp = 0x00007ffee42d8020