Trouvez et signalez les problèmes des programmes exécutés avec Elide.
Lire les erreurs
elide --error-format=plain run app.jsLes erreurs brutes vont sur stderr avec une pile courte ; la sortie du programme reste sur stdout. --verbose ou
--debug ajoute les journaux propres à Elide.
| Option | Effet |
|---|---|
--abort-on-uncaught-exception | Affiche l’erreur, puis lève SIGABRT (sortie 134) pour que le système écrive un core dump. |
--redirect-warnings= | Écrit les avertissements du processus, comme process.emitWarning(), dans FILE au lieu de stderr. |
--timeout=DURATION | Arrête le programme après DURATION (par exemple 30s) avec le code de sortie 124. |
--max-mem=SIZE | Limite la taille du tas, par exemple 512m. Un dépassement échoue avec un code de sortie non nul. |
Attacher un débogueur
| Programme | Option | Écoute sur | Client |
|---|---|---|---|
| JavaScript, TypeScript, Python | --debugger=cdp | ws://127.0.0.1:1337/… | Chrome DevTools ou tout client CDP |
| JavaScript, TypeScript, Python | --debugger=dap | 127.0.0.1:4711, attend un client | Tout éditeur compatible DAP |
| Java, Kotlin | --debugger | 127.0.0.1:5005 (JDWP), suspendu | 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>/inspectOuvrez le lien devtools:// dans Chrome.
elide run --debugger=dap app.js
elide run --debugger Hello.ktListening for transport dt_socket at address: 5005Changez l’adresse d’écoute avec --debugger-host et --debugger-port :
elide run --debugger=dap --debugger-port=5678 app.js
elide run --debugger=0.0.0.0:5005 Hello.ktUn nombre ou host:port après --debugger est une adresse JDWP et ne s’applique qu’à Java et Kotlin. JDWP n’a pas
d’authentification : n’écoutez au-delà de l’interface loopback que sur un réseau
de confiance, ou utilisez un tunnel SSH.
Déboguer les tests
elide test --debugger
elide test --debugger=dap sample.test.mts
elide test --debugger=5005| Option | Débogue |
|---|---|
--debugger | Les tests JavaScript via CDP et les tests JVM via JDWP sur 5005 |
--debugger=cdp ou dap | Les tests JavaScript uniquement |
--debugger=PORT | Les tests JVM uniquement |
Un chemin restreint les tests JavaScript à un fichier ; restreignez les tests JVM par nom de paquet. Tant qu’un débogueur est attaché, les fichiers de test JavaScript s’exécutent un par un.
Mesurer la couverture
elide run --coverage app.jsElide affiche un rapport de couverture à la sortie du programme, avec les instructions, lignes et fonctions couvertes
par fichier. La couverture JavaScript et TypeScript est aussi écrite au format LCOV dans
.dev/reports/coverage/js/run/lcov.info du projet, ou dans le répertoire de travail hors d’un projet.
Profiler le temps CPU
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 compte les appels de chaque fonction. Pour les enregistrements JFR, les vidages du tas et perf sous Linux,
voir Surveillance et profilage.
Tracer avec Insight
// insight.js
insight.on("enter", (ctx) => {
console.log("enter", ctx.name);
}, { roots: true });elide run --insights=insight.js app.jsChaque entrée dans une fonction affiche une ligne comme enter fib. Voir Scripts Insight pour les
événements et les filtres.
Signaler un bug
elide info
elide agent diagnostics
elide agent bugelide agent bug affiche l’URL du gestionnaire de tickets et un modèle de rapport en Markdown. Indiquez la commande
exacte, le comportement attendu et tout rapport de plantage.