blob: 5ea2c9236ab14a25ee7e05798f080f5e6383ea06 [file]
(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 bar
Breakpoint 1: where = lldb_stepThroughInlineArguments.kexe`kfun:#bar(kotlin.Int){}kotlin.Int + <breakpoint offset> at main.kt:9:1, 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_stepThroughInlineArguments.kexe`kfun:#bar(x=42){}kotlin.Int at main.kt:9:1
6
7
8
-> 9 fun bar(x: Int): Int {
^
10 val res = foo(
11 x * 2,
12 x + 2
(lldb) s
Process <process id> stopped
* thread #<thread id>, stop reason = step in
frame #0: <frame pc> lldb_stepThroughInlineArguments.kexe`kfun:#bar(x=42){}kotlin.Int at main.kt:11:9
8
9 fun bar(x: Int): Int {
10 val res = foo(
-> 11 x * 2,
^
12 x + 2
13 )
14 return res
(lldb) bt
* thread #<thread id>, stop reason = step in
* frame #0: <frame pc> lldb_stepThroughInlineArguments.kexe`kfun:#bar(x=42){}kotlin.Int at main.kt:11:9
frame #1: <frame pc> lldb_stepThroughInlineArguments.kexe`kfun:#main(){} at main.kt:18:13
(lldb) s
Process <process id> stopped
* thread #<thread id>, stop reason = step in
frame #0: <frame pc> lldb_stepThroughInlineArguments.kexe`kfun:#bar(x=42){}kotlin.Int at main.kt:12:9
9 fun bar(x: Int): Int {
10 val res = foo(
11 x * 2,
-> 12 x + 2
^
13 )
14 return res
15 }
(lldb) bt
* thread #<thread id>, stop reason = step in
* frame #0: <frame pc> lldb_stepThroughInlineArguments.kexe`kfun:#bar(x=42){}kotlin.Int at main.kt:12:9
frame #1: <frame pc> lldb_stepThroughInlineArguments.kexe`kfun:#main(){} at main.kt:18:13
(lldb) s
Process <process id> stopped
* thread #<thread id>, stop reason = step in
frame #0: <frame pc> lldb_stepThroughInlineArguments.kexe`kfun:#bar(x=42){}kotlin.Int at main.kt:10:15
7
8
9 fun bar(x: Int): Int {
-> 10 val res = foo(
^
11 x * 2,
12 x + 2
13 )
(lldb) bt
* thread #<thread id>, stop reason = step in
* frame #0: <frame pc> lldb_stepThroughInlineArguments.kexe`kfun:#bar(x=42){}kotlin.Int at main.kt:10:15
frame #1: <frame pc> lldb_stepThroughInlineArguments.kexe`kfun:#main(){} at main.kt:18:13
(lldb) s
Process <process id> stopped
* thread #<thread id>, stop reason = step in
frame #0: <frame pc> lldb_stepThroughInlineArguments.kexe`kfun:#foo(kotlin.Int;kotlin.Int){}kotlin.Int at lib.kt:26:12
23
24
25 inline fun foo(x: Int, y: Int): Int {
-> 26 return x +
^
27 y
28 }
(lldb) bt
* thread #<thread id>, stop reason = step in
* frame #0: <frame pc> lldb_stepThroughInlineArguments.kexe`kfun:#foo(kotlin.Int;kotlin.Int){}kotlin.Int at lib.kt:26:12
frame #1: <frame pc> lldb_stepThroughInlineArguments.kexe`kfun:#bar(x=42){}kotlin.Int at main.kt:10:15
frame #2: <frame pc> lldb_stepThroughInlineArguments.kexe`kfun:#main(){} at main.kt:18:13
(lldb) q