blob: f37779ae1fa1e8d5905dc0aa5a4daa35cab6a9f0 [file]
# REQUIRES: python, native && system-darwin
# RUN: %clang_host -g -arch arm64 %S/Inputs/inline_test.c -o %t.out
# RUN: cp %S/Inputs/a.out.inline.ips %t.ips
# RUN: %python %S/patch-crashlog.py --binary %t.out --crashlog %t.ips --offsets '{"main":20, "bar":16}' --json
# RUN: %lldb %t.out \
# RUN: -o 'command script import lldb.macosx.crashlog' \
# RUN: -o 'crashlog -a -i %t.ips' \
# RUN: -o 'thread backtrace' 2>&1 | FileCheck %s
# CHECK: "crashlog" {{.*}} commands have been installed, use the "--help" options on these commands
# Verify that the inlined frame (foo) marked with "inline": true in the JSON
# crash report is skipped by the scripted process and reconstructed by LLDB
# from debug info as a proper [inlined] frame.
# CHECK: (lldb) thread backtrace
# CHECK-NEXT: * thread #1
# CHECK-NEXT: * frame #0: {{.*}}out`foo{{.*}} [synthetic] [inlined]
# CHECK-NEXT: frame #1: {{.*}}out`bar
# CHECK: frame #{{[0-9]+}}: {{.*}}out`main{{.*}} [synthetic]