~/talk

Building a Debugger for Scala 3

Talkat ScalaCon 2022 · 2022-10-04..10-07· [scala]
links:none on file
slides:none on file

A Scala-specific debug adapter translates JDI to DAP and ships a new Scala Debug Adapter v3.0.0 that implements a debug server, an expression compiler that injects a val and generates a runtime class, and a tasty-query based step filter to skip compiler-generated methods. It resolves lambda lifting and captured locals by running a resolve-reflect phase after transforms, supports conditional breakpoints, hit counts, logpoints, data breakpoints, edit-value and restart-frame. It is available via Metals/SBT integration, mostly works in demos, and needs wider testing.

AI-written summary · about

  1. 0:00Start
  2. 0:36The Scala run time
  3. 3:07Main Takeaways
  4. 4:44Scala Debug Adapter: Origins
  5. 7:44Debug Adapter Protocol
  6. 12:12ISourceLookUpProvider
  7. 15:44Implementing the scala-debug-adapter
  8. 18:22The Scala 3 Compiler
  9. 21:07Extract Expression
  10. 23:12The Expression Compiler
  11. 23:53Lambda lifting
  12. 39:52Skipping methods
  13. 42:05Little-known debug features
  14. 44:04What's next: More Scala friendliness
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.