Expose supported native disassembly registers and memory in debug sessions

Aperta
#89 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
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
java, rust
Ambito
devtools

Direzione di ricerca

Start with XDebugProcess.java in the WfP platform (the debug process/adapter contract) and assembler/src/isa/amd64/encoder.rs in Whale for machine-level context, plus the dependency issue #88 since this work builds on it. Map which adapter capabilities each acceptance criterion needs (bounded disassembly, memory-range reads with cancellation, supported register representation), then design fake capability matrices and inaccessible-memory fixtures as tests. Done means each capability is negotiated per adapter, absent capabilities degrade gracefully, and addresses/endianness/precision are explicit with stale marking after resume.

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

Descrizione

assembler debugger enhancement help wanted priority low

Problem / current evidence

Compiler developers need machine-level inspection at native/LLVM boundaries, especially when source information is missing. Such views require real adapter capabilities and cannot be inferred from syntax-highlighting support.

Code and contract references

Scope / proposed contract

Extend the native debug session with read-only machine views supported by the selected adapter. Negotiate each feature and preserve a useful session when some capabilities are absent.

Completion criteria

  • Support bounded disassembly and memory-range reads with cancellation and clear unreadable-region handling.
  • Show registers only through a supported adapter representation; do not invent a universal register protocol.
  • Keep addresses/architecture/endianness explicit and preserve integer precision.
  • Synchronize selected frame/instruction and mark stale data after resume.
  • Use fake capability matrices and inaccessible-memory fixtures; writing memory/registers is out of scope.

Dependencies and boundaries

  • Depends on #88.
  • 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.