Latihan 1 dari materi Breakpoints & Stepping di Debugging — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Simulasikan conditional breakpoint + stepping. Implementasi runtime kecil yang mencatat saat breakpoint terpicu.
1. makeBreakpointRunner()
Return object dengan method:
addBreakpoint(line, condition): tambahkan breakpoint di line dengan condition(state) (function yang return boolean)step(line, state): simulasi eksekusi baris. Jika ada breakpoint di line DAN conditionnya true terhadap state, push { line, state } ke internal log.getHits(): return array hit log.2. traceStepThrough(fn, lines)
fn: function yang menerima tracker object dan return hasillines: array of { line, state } yang akan dikirim ke runnerline 10 dengan condition state.count > 5, dan di line 20 dengan condition state.error.lines melalui step(), return array hit log sesuai urutan.