Add a bounded native Debug Adapter Protocol client for WfP

Aperta
#86 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
java, kotlin
Ambito
devtools

Direzione di ricerca

Start with DapMode.kt in platform/xdebugger-api and the registration point in PlatformLangPlugin.xml to audit which retained XDebugger components are reusable, then read the DAP overview and lldbdap docs for framing and lifecycle semantics. Scope the work to a bounded client/adapter service plus a fake DAP adapter test harness covering out-of-order responses, truncation and shutdown; real lldb-dap runs stay opt-in. Done means an explicitly configured adapter executable with bounded buffers/timeouts, clean process disposal on disconnect, and tests that pass without a full IDE session — but note the issue depends on unresolved #50 and #52 first.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

debugger enhancement help wanted priority high

Problem / current evidence

WfP retains XDebugger platform infrastructure but has no audited native debugger adapter registration. DapMode is not proof of a ready lldb-dap client. Native compiler debugging needs a concrete adapter transport/lifecycle.

Code and contract references

Scope / proposed contract

First verify reusable retained components, then implement the missing minimal DAP client/adapter service for one explicitly supported local debugger. Keep UI/session mapping in a separate task and do not build a debugger engine.

Completion criteria

  • Document initial adapter/host selection and explicit executable configuration; do not silently download one.
  • Handle protocol framing, request IDs, events, cancellation and negotiated capabilities with bounded buffers/timeouts.
  • Separate adapter protocol traffic from target stdout/stderr and diagnostic logging.
  • Clean up owned adapter/target processes on disconnect/disposal according to launch-versus-attach semantics.
  • Use a fake DAP adapter for out-of-order responses, truncated messages, failure and shutdown; verify any real adapter only in opt-in integration validation.

Dependencies and boundaries

  • Depends on #50.
  • Depends on #52.
  • Ecosystem index: #49; existing foundations: #8.

Difficulty

High — spans compiler contracts, process/debugger lifecycle or structured inspection.

Audit baseline: Wave 509a1e46; Whale e3a12d08; Vex 71f29daa; WfP 2804fc02. This issue records source-audit findings and proposed work; no implementation or new execution is claimed. The checks above are future acceptance criteria. Prefer small fixtures and targeted validation; full builds or real debugger/IDE sessions should be explicit and necessary.

Lingua principale
Java
Stelle
0
Fork
3
Merge medio
8h 8m
PR unite (30g)
1

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di wavefnd/wave-for-platform

Tutte le issue di wavefnd/wave-for-platform

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.