| (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:9 | |
| Breakpoint 1: where = lldb_stepIntoSyntheticFunction.kexe`kfun:#main(){} + <breakpoint offset> at main.kt:9:16, 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_stepIntoSyntheticFunction.kexe`kfun:#main(){} at main.kt:9:16 | |
| 6 | |
| 7 fun main() { | |
| 8 val foo = Foo(1) | |
| -> 9 val hash = foo.hashCode() // hashCode has no source code, so the debugger shouldn't step into it. | |
| ^ | |
| 10 println(hash) | |
| 11 } | |
| (lldb) s | |
| Process <process id> stopped | |
| * thread #<thread id>, stop reason = step in | |
| frame #0: <frame pc> lldb_stepIntoSyntheticFunction.kexe`kfun:#main(){} at main.kt:10:13 | |
| 7 fun main() { | |
| 8 val foo = Foo(1) | |
| 9 val hash = foo.hashCode() // hashCode has no source code, so the debugger shouldn't step into it. | |
| -> 10 println(hash) | |
| ^ | |
| 11 } |