Logs Locais e Depuração
Leia logs de programa, consumo de compute units e erros de transação em validadores locais sem limites de taxa de RPC.
Busque em todas as páginas da documentação
Leia logs de programa, consumo de compute units e erros de transação em validadores locais sem limites de taxa de RPC.
Cartão de receita de referência rápida - pronto para copiar e colar.
solana-test-validator
solana logs
anchor test
solana confirm -v <SIGNATURE>Quando usar:
msg! durante desenvolvimento de instruções.# Terminal 1
solana-test-validator --reset
# Terminal 2
solana config set --url http://127.0.0.1:8899
solana logs
# Terminal 3
anchor test --skip-local-validator
# Após falha, inspecione a assinatura da saída do teste
solana confirm -v <SIG>O que isso demonstra:
solana logs exibem saída do programa.confirm -v.msg!, sol_log e sol_log_compute_units.logMessages e computeUnitsConsumed.simulateTransaction.| Sinal | Ferramenta | Ação |
|---|---|---|
| Linhas do programa | solana logs | Rastrear caminho da instrução |
| Código de erro | confirm -v | Mapear para enum Error do programa |
| Uso de CU | campo meta | Ajustar ix de orçamento de compute |
| Estado da conta | solana account | Verificar owners e dados |
# Teste Anchor verboso
anchor test -- --nocapture
# RUST_LOG para harness de teste off-chain
RUST_LOG=debug anchor testmsg! excessivo trunca logs e queima CU. Correção: registre apenas discriminadores e resumos.solana logs antes de enviar transações.msg! apenas em builds de dev.| Alternativa | Use quando | Não use quando |
|---|---|---|
| Testes LiteSVM | Loops unitários Rust em subsegundos | Depuração de cliente de carteira |
simulateTransaction | Preflight no lado do cliente | Tráfego ao vivo em streaming |
| Surfpool simulate | Cenários de fork da mainnet | Trabalho mínimo só de programa |
solana logs na devnet | Repro compartilhada com colegas | Loop interno rápido |
Stdout do validador de teste e solana logs - habilite -- --nocapture para saída println de teste Rust.
Use sol_log_compute_units no programa ou leia computeUnitsConsumed total na meta após passes de otimização.
Solana limita bytes de log por transação - reduza verbosidade.
solana logs suporta filtros de menção - veja solana logs --help.
Sim - invocações internas indentam na ordem de logMessages.
Mapeie códigos numéricos para enums #[error_code] no Anchor ou variantes manuais de ProgramError.
Semântica de execução alinha no Agave 4.1.1; congestionamento e caminhos de priority fee diferem.
Redirecione solana logs ou capture meta JSON de solana transaction.
LiteSVM 0.6.x captura logs em asserts de teste sem assinaturas WebSocket.
Adicione ComputeBudgetInstruction::set_compute_unit_limit no cliente e compare consumido vs limite na meta.
Versões da stack: Esta página foi escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0 e LiteSVM 0.6.x.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026