| (lldb) target create <path to executable> | |
| Current executable set to <path to executable>. | |
| (lldb) settings set stop-disassembly-display never | |
| (lldb) command script import <path to lldb script> | |
| (lldb) b main.kt:10 | |
| Breakpoint 1: where = lldb_stdlibRelativePaths.kexe`kfun:#main(){} + <breakpoint offset> at main.kt:10:5, address = <memory address> | |
| (lldb) r | |
| Process <process id> launched: <path to executable> | |
| Process <process id> stopped | |
| * thread #<thread id>, stop reason = breakpoint 1.1 | |
| frame #0: <frame pc> lldb_stdlibRelativePaths.kexe`kfun:#main(){} at main.kt:10:5 | |
| 7 // Also, this test doesn't check that lldb can display the actual stdlib sources, | |
| 8 // because it requires additional configuration to make lldb find those sources. | |
| 9 // All these improvements are tracked in KT-83757. | |
| -> 10 Throwable() | |
| ^ | |
| 11 | |
| 12 // Here we test the synthetic file "[K][Suspend]Functions" -- it is the only file in stdlib that has relative path with one segment. | |
| 13 val lambda = {} | |
| (lldb) s | |
| Process <process id> stopped | |
| * thread #<thread id>, stop reason = step in | |
| frame #0: <frame pc> lldb_stdlibRelativePaths.kexe`kfun:kotlin.Throwable#<init>(_this=kotlin.Throwable){} at Throwable.kt:34:19 | |
| (lldb) source info | |
| Lines found in module `lldb_stdlibRelativePaths.kexe | |
| [<memory address>-<memory address>): kotlin-native/runtime/src/main/kotlin/kotlin/Throwable.kt:34:19 | |
| (lldb) limited_output_break [K][Suspend]Functions:1 | |
| breakpoint(s) set | |
| (lldb) c | |
| Process <process id> resuming | |
| Process <process id> stopped | |
| * thread #<thread id>, stop reason = breakpoint 2.1 | |
| frame #0: <frame pc> lldb_stdlibRelativePaths.kexe`kfun:kotlin.Function0#invoke(){}1:0 at [K][Suspend]Functions:1:1 | |
| (lldb) source info | |
| Lines found in module `lldb_stdlibRelativePaths.kexe | |
| [<memory address>-<memory address>): [K][Suspend]Functions:1:1 | |
| (lldb) q |