Depuração
Variável de ambiente OXC_LOG
A variável de ambiente OXC_LOG ativa rastreamento em tempo de execução no oxlint e no oxfmt. Quando não está definida, o logging fica totalmente desligado, sem custo em tempo de execução.
Uso básico
# Enable debug logging for oxlint
OXC_LOG=debug oxlint
# Enable debug logging for oxfmt
OXC_LOG=debug oxfmt
# Enable resolver tracing when using import plugin
OXC_LOG=oxc_resolver oxlint --import-plugin
# Enable formatter tracing
OXC_LOG=oxc_formatter oxfmtSintaxe de filtro
OXC_LOG usa a sintaxe de filtro do tracing-subscriber:
| Padrão | Descrição |
|---|---|
debug | Nível debug em todos os módulos |
trace | Nível trace em todos os módulos |
oxc_resolver | Todos os logs do módulo oxc_resolver |
oxc_resolver=debug | Nível debug apenas em oxc_resolver |
oxc_resolver=trace | Nível trace apenas em oxc_resolver |
oxc_formatter,oxc_resolver | Vários módulos ao mesmo tempo |
Saída
Os logs vão para stderr, para não misturar com o stdout dos diagnósticos do linter ou do código formatado. No oxfmt, nomes de threads e informações de tempo de span entram na saída para ajudar a depurar operações multithread.
Casos de uso comuns
Listar todos os arquivos em processamento:
OXC_LOG=debug oxlint
OXC_LOG=debug oxfmtDepurar problemas de resolução de módulos:
OXC_LOG=oxc_resolver=debug oxlint --import-pluginrust-lldb
O rust-lldb pode ser usado para obter informações de panic em builds de debug.
Ative símbolos de debug:
[profile.release]
debug = true
strip = false
panic = "unwind"Compile o binário:
cargo build --release --bin oxlint --features allocatorExecute o binário:
rust-lldb -- ./target/release/oxlintDepois que abrir, pressione r para rodar o programa.
Depurar TypeScript no VS Code
Segundo o guia de depuração do repositório TypeScript:
- renomeie
.vscode/launch.template.jsonparalaunch.json - adicione
tests/cases/compiler/foo.ts - troque
"${fileBasenameNoExtension}"porfoo.ts - defina um breakpoint em algum ponto do código-fonte do TypeScript
- no menu "Run - Debugging", ou pressione F5
- durante a depuração, o tsc avalia arquivos globais
.d.tsantes do arquivo de teste alvo Debug.formatXXX(value)emsrc/compiler/debug.tspode ser usado para imprimir valores de enum- use a seção "WATCH" para "ver" o valor que interessa
Depurar o linter no VS Code
É simples depurar o linter para um projeto npm em outro lugar com o CodeLLDB.
Em .vscode/launch.json, ajuste os campos da configuração conforme precisar:
cwd: caminho absoluto para o projeto npmargs: argumentos passados ao linter
{
"type": "lldb",
"request": "launch",
"name": "Debug Oxlint",
"cargo": {
"env": {
"RUSTFLAGS": "-g"
},
"args": ["build", "--bin=oxlint", "--package=oxlint"],
"filter": {
"name": "oxlint",
"kind": "bin"
}
},
"cwd": "PATH-TO-TEST-PROJECT",
"args": ["--ARGS-TO-OXLINT"]
}Abra o painel de Depuração do VS Code, selecione Debug Oxlint e inicie a depuração.
O processo será iniciado com o cwd indicado — como se você rodasse o linter no projeto de teste com o depurador anexado.