Debugger Integration
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 20/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript, rust, vscode, wasm
- Bereich
- developer-experience, devtools
Rechercherichtung
Es werden keine Dateien, Tests oder Einstiegspunkte genannt. Beginne damit, SpiderMonkeys Debugger-API mit dem VSCode Python/V8-Ansatz und den vorgeschlagenen Optionen WASI-socket oder first-class world-import zu vergleichen; abgeschlossen ist die Aufgabe, wenn eine Integration ausgewählt wurde, die das schrittweise Ausführen von JavaScript unterstützt und externe component model-Importaufrufe verarbeitet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Brought up at CTW - Spidermonkey has a debugger API that we should figure out the right integration for.
Unfortunately it does not include a debugging protocol itself, so one would need to be implemented on top of WASI sockets or otherwise. Apparently VSCode solved this for Python using a character device on preview1 to handle the V8 debugging protocol.
The debugging that needs to be handled is stepping through the JS code, when yielding through to external component model import calls, I suppose this would suspend the entire debugging interface while the external call is made, then reinitiate the debugging interface after that. This seems fine as far as I can tell.
We could possibly even have a first-class world import for debugging support, by exposing the world for debug builds only, and then relying on hosts that support the debugger protocol imports and exports, as an alternative to implementing it on top of wasi sockets.
Should be a really interesting project!
- Vorherrschende Sprache
- Rust
- Sterne
- 395
- Forks
- 57
- Ø Merge
- 2 T. 18 Std.
- Gemergte PRs (30 T.)
- 3
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus bytecodealliance/ComponentizeJS
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 56/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 52/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
bytecodealliance/ComponentizeJS#335 · 3 Kommentare ·
Alle Issues in bytecodealliance/ComponentizeJS
Ähnliche Issues
-
area:release bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
registrystack/registry-stack#1874 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
component:midnight-toolkit status:untriaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
midnightntwrk/midnight-node#2237 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag