mirror of
https://github.com/intel/llvm.git
synced 2026-01-28 09:14:23 +08:00
This patch changes the way frames created from scripted affordances like Scripted Threads are displayed. Currently, they're marked artificial which is used usually for compiler generated frames. This patch changes that behaviour by introducing a new synthetic StackFrame kind and moves 'artificial' to be a distinct StackFrame attribut. On top of making these frames less confusing, this allows us to know when a frame was created from a scripted affordance. rdar://155949703 Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
44 lines
2.5 KiB
Plaintext
44 lines
2.5 KiB
Plaintext
# REQUIRES: python, native && system-darwin
|
|
|
|
# RUN: mkdir -p %t.dir
|
|
# RUN: yaml2obj %S/Inputs/interactive_crashlog/multithread-test.yaml > %t.dir/multithread-test
|
|
# RUN: %lldb -o 'command script import lldb.macosx.crashlog' \
|
|
# RUN: -o 'crashlog -a -i -t %t.dir/multithread-test %S/Inputs/interactive_crashlog/multithread-test.ips' \
|
|
# RUN: -o "thread list" -o "bt all" 2>&1 | FileCheck %s
|
|
|
|
# CHECK: "crashlog" {{.*}} commands have been installed, use the "--help" options on these commands
|
|
|
|
# CHECK: (lldb) process status
|
|
# CHECK-NEXT: Process 22511 stopped
|
|
# CHECK-NEXT: * thread #3, stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
|
|
# CHECK-NEXT: frame #0: 0x0000000100ec58f4 multithread-test`bar
|
|
|
|
# CHECK: (lldb) thread backtrace
|
|
# CHECK-NEXT: * thread #3, stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
|
|
# CHECK-NEXT: * frame #0: 0x0000000100ec58f4 multithread-test`bar{{.*}} [synthetic]
|
|
# CHECK-NEXT: frame #1: 0x0000000100ec591b multithread-test`foo{{.*}} [synthetic]
|
|
# CHECK-NEXT: frame #2: 0x0000000100ec5a87 multithread-test`compute_pow{{.*}} [synthetic]
|
|
|
|
# CHECK: (lldb) thread list
|
|
# CHECK-NEXT: Process 22511 stopped
|
|
# CHECK-NEXT: thread #1: tid = 0x23c7fe, 0x000000019cc40b84{{.*}}, queue = 'com.apple.main-thread'
|
|
# CHECK-NEXT: thread #2: tid = 0x23c800, 0x000000019cc42c9c{{.*}}
|
|
# CHECK-NEXT: * thread #3: tid = 0x23c801, 0x0000000100ec58f4 multithread-test`bar{{.*}}, stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
|
|
|
|
# CHECK: (lldb) bt all
|
|
# CHECK: thread #1, queue = 'com.apple.main-thread'
|
|
# CHECK: frame #{{[0-9]+}}: 0x000000019cc40b84{{.*}} [synthetic]
|
|
# CHECK: frame #{{[0-9]+}}: 0x0000000100ec5b3b multithread-test`main{{.*}} [synthetic]
|
|
# CHECK: frame #{{[0-9]+}}: 0x00000002230f8da7{{.*}} [synthetic]
|
|
# CHECK-NEXT: thread #2
|
|
# CHECK-NEXT: frame #0: 0x000000019cc42c9c{{.*}} [synthetic]
|
|
# CHECK: frame #{{[0-9]+}}: 0x0000000100ec5957 multithread-test`call_and_wait{{.*}} [synthetic]
|
|
# CHECK: frame #{{[0-9]+}}: 0x000000019cc7e06b{{.*}} [synthetic]
|
|
# CHECK: frame #{{[0-9]+}}: 0x000000019cc78e2b{{.*}} [synthetic]
|
|
# CHECK-NEXT:* thread #3, stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
|
|
# CHECK-NEXT: * frame #0: 0x0000000100ec58f4 multithread-test`bar{{.*}} [synthetic]
|
|
# CHECK-NEXT: frame #1: 0x0000000100ec591b multithread-test`foo{{.*}} [synthetic]
|
|
# CHECK-NEXT: frame #2: 0x0000000100ec5a87 multithread-test`compute_pow{{.*}} [synthetic]
|
|
# CHECK: frame #{{[0-9]+}}: 0x000000019cc7e06b{{.*}} [synthetic]
|
|
# CHECK: frame #{{[0-9]+}}: 0x000000019cc78e2b{{.*}} [synthetic]
|