Add a bounded native Debug Adapter Protocol client for WfP
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
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
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
- WfP/platform/xdebugger-api/src/com/intellij/xdebugger/DapMode.kt
- WfP/platform/platform-resources/src/META-INF/PlatformLangPlugin.xml#L8
- Official protocol/tool reference
- Official protocol/tool reference
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
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di wavefnd/wave-for-platform
-
documentation good first issue help wanted priority medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
wavefnd/wave-for-platform#45 ·
-
documentation good first issue help wanted priority medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
wavefnd/wave-for-platform#44 ·
-
documentation good first issue help wanted priority high
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
wavefnd/wave-for-platform#43 ·
-
enhancement good first issue help wanted priority low ui
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
wavefnd/wave-for-platform#41 ·
-
enhancement good first issue help wanted priority medium product
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
wavefnd/wave-for-platform#40 ·
Tutte le issue di wavefnd/wave-for-platform
Issue simili
-
account bug communication lecture
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
line/centraldogma#1397 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
cryptomator/hub#515 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
vert-x3/vertx-mail-client#268 ·
-
Startup can freeze while MigLayout's component wrapper runs its static initializer on the EDTApertadesktop edt not responding
Difficoltà 1/5 1-3 ore Idoneità per principianti 86/100