Probleme in Programmen finden und melden, die Sie mit Elide ausführen.
Fehler lesen
elide --error-format=plain run app.jsSchlichte Fehler gehen mit einem kurzen Stack auf stderr; die Programmausgabe bleibt auf stdout. --verbose oder
--debug fügt die eigenen Logs von Elide hinzu.
| Flag | Wirkung |
|---|---|
--abort-on-uncaught-exception | Gibt den Fehler aus und löst dann SIGABRT aus (Exit-Code 134), damit das Betriebssystem einen Core-Dump schreibt. |
--redirect-warnings= | Schreibt Prozesswarnungen wie process.emitWarning() nach FILE statt auf stderr. |
--timeout=DURATION | Stoppt das Programm nach DURATION (zum Beispiel 30s) mit Exit-Code 124. |
--max-mem=SIZE | Begrenzt die Heap-Größe, zum Beispiel 512m. Eine Überschreitung endet mit einem Exit-Code ungleich null. |
Einen Debugger anhängen
| Programm | Flag | Lauscht auf | Client |
|---|---|---|---|
| JavaScript, TypeScript, Python | --debugger=cdp | ws://127.0.0.1:1337/… | Chrome DevTools oder ein beliebiger CDP-Client |
| JavaScript, TypeScript, Python | --debugger=dap | 127.0.0.1:4711, wartet auf einen Client | Jeder Editor mit DAP-Unterstützung |
| Java, Kotlin | --debugger | 127.0.0.1:5005 (JDWP), angehalten | IntelliJ IDEA, VS Code, jdb |
elide run --debugger=cdp app.jsDebugger listening on ws://127.0.0.1:1337/<id>/inspect
For help, see: https://docs.elide.dev/guides/debugging
E.g. in Chrome open: devtools://devtools/bundled/js_app.html?ws=127.0.0.1:1337/<id>/inspectÖffnen Sie den devtools://-Link in Chrome.
elide run --debugger=dap app.js
elide run --debugger Hello.ktListening for transport dt_socket at address: 5005Ändern Sie die Adresse eines Listeners mit --debugger-host und --debugger-port:
elide run --debugger=dap --debugger-port=5678 app.js
elide run --debugger=0.0.0.0:5005 Hello.ktEine Zahl oder host:port nach --debugger ist eine JDWP-Adresse und gilt nur für Java und Kotlin. JDWP hat keine
Authentifizierung: Binden Sie nur in einem vertrauenswürdigen Netz über Loopback hinaus, oder verwenden Sie einen
SSH-Tunnel.
Tests debuggen
elide test --debugger
elide test --debugger=dap sample.test.mts
elide test --debugger=5005| Flag | Debuggt |
|---|---|
--debugger | JavaScript-Tests über CDP und JVM-Tests über JDWP auf 5005 |
--debugger=cdp oder dap | Nur JavaScript-Tests |
--debugger=PORT | Nur JVM-Tests |
Ein Pfad beschränkt JavaScript-Tests auf eine Datei; JVM-Tests beschränken Sie über den Paketnamen. Solange ein Debugger angehängt ist, laufen JavaScript-Testdateien nacheinander.
Abdeckung messen
elide run --coverage app.jsElide gibt nach dem Ende des Programms einen Coverage Report aus, mit den abgedeckten Anweisungen, Zeilen und
Funktionen pro Datei. Die Abdeckung für JavaScript und TypeScript wird außerdem als LCOV nach
.dev/reports/coverage/js/run/lcov.info im Projekt geschrieben, außerhalb eines Projekts ins Arbeitsverzeichnis.
CPU-Zeit profilieren
elide run --profiler=cputracing app.js╭Profiler Report───────────────────────────────────────────────────────────────╮
│ Location Root Total Interpreted Compiled │
│ app.js fib 21.89k 100.0% 21.89k 100.0% 0 0.0% │
│ app.js :program 1 0.0% 1 100.0% 0 0.0% │
╰──────────────────────────────────────────────────────────────────────────────╯Total zählt die Aufrufe jeder Funktion. Für JFR-Aufzeichnungen, Heap-Dumps und Linux-perf siehe
Überwachung und Profiling.
Mit Insights tracen
// insight.js
insight.on("enter", (ctx) => {
console.log("enter", ctx.name);
}, { roots: true });elide run --insights=insight.js app.jsJeder Eintritt in eine Funktion gibt eine Zeile wie enter fib aus. Ereignisse und Filter finden Sie unter
Insight-Skripte.
Einen Fehler melden
elide info
elide agent diagnostics
elide agent bugelide agent bug gibt die URL des Issue-Trackers und eine Markdown-Vorlage für den Bericht aus. Tragen Sie den genauen
Befehl, das erwartete Verhalten und gegebenenfalls einen Absturzbericht ein.