
This patch makes interactive mode as the default when using the crashlog command. It replaces the existing `-i|--interactive` flag with a new `-m|--mode` option, that can either be `interactive` or `batch`. By default, when the option is not explicitely set by the user, the interactive mode is selected, however, lldb will fallback to batch mode if the command interpreter is not interactive or if stdout is not a tty. This also adds some railguards to prevent users from using interactive only options with the batch mode and updates the tests accordingly. rdar://97801509 Differential Revision: https://reviews.llvm.org/D141658 Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
14 lines
733 B
Plaintext
14 lines
733 B
Plaintext
# RUN: %clang_host -g %S/Inputs/test.c -o %t.out
|
|
# RUN: cp %S/Inputs/altered_threadState.crash %t.crash
|
|
# RUN: %python %S/patch-crashlog.py --binary %t.out --crashlog %t.crash --offsets '{"main":20, "bar":9, "foo":16}'
|
|
# RUN: %lldb %t.out -o 'command script import lldb.macosx.crashlog' -o 'crashlog -b %t.crash' 2>&1 | FileCheck %s
|
|
|
|
# CHECK: "crashlog" {{.*}} commands have been installed, use the "--help" options on these commands
|
|
|
|
# CHECK: Thread[0] EXC_BAD_ACCESS (SIGSEGV) (KERN_INVALID_ADDRESS at 0x0000000000000000)
|
|
# 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
|