Registros locales y depuración
Lee los registros del programa, el consumo de unidades de cómputo y los errores de transacción en validadores locales sin límites de tasa RPC.
Busca en todas las páginas de la documentación
Lee los registros del programa, el consumo de unidades de cómputo y los errores de transacción en validadores locales sin límites de tasa RPC.
Tarjeta de receta de referencia rápida - lista para copiar y pegar.
solana-test-validator
solana logs
anchor test
solana confirm -v <SIGNATURE>Cuándo recurrir a esto:
msg! durante el desarrollo de instrucciones.# 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
# Después del fallo, inspecciona la firma de la salida de la prueba
solana confirm -v <SIG>Lo que esto demuestra:
solana logs muestran la salida del programa.confirm -v.msg!, sol_log y sol_log_compute_units.logMessages y computeUnitsConsumed.simulateTransaction.| Señal | Herramienta | Acción |
|---|---|---|
| Líneas del programa | solana logs | Rastrea la ruta de la instrucción |
| Código de error | confirm -v | Mapea al enum Error del programa |
| Uso de CU | campo de metadatos | Ajusta la ix del presupuesto de cómputo |
| Estado de la cuenta | solana account | Verifica propietarios y datos |
# Prueba detallada de Anchor
anchor test -- --nocapture
# RUST_LOG para el entorno de prueba fuera de la cadena
RUST_LOG=debug anchor testmsg! excesivo trunca los registros y consume CU. Solución: registra solo discriminadores y resúmenes.solana logs antes de enviar transacciones.msg! solo en compilaciones de desarrollo.| Alternativa | Usar cuándo | No usar cuándo |
|---|---|---|
| Pruebas LiteSVM | Bucles unitarios de Rust de subsegundo | Depuración del cliente de billetera |
simulateTransaction | Preflight del lado del cliente | Transmisión de tráfico en vivo |
| Surfpool simulate | Escenarios de bifurcación de mainnet | Trabajo mínimo solo de programa |
solana logs de devnet | Repositorio compartido con compañeros de equipo | Bucle interno rápido |
Salida estándar del validador de pruebas y solana logs - habilita -- --nocapture para la salida de println de pruebas de Rust.
Usa sol_log_compute_units en el programa o lee el total computeUnitsConsumed en los metadatos después de las pasadas de optimización.
Solana limita los bytes de registro por transacción - reduce la verbosidad.
solana logs admite filtros de mención - consulta solana logs --help.
Sí - las invocaciones internas se indentan en el orden de logMessages.
Mapea los códigos numéricos a los enums #[error_code] en Anchor o a las variantes manuales de ProgramError.
La semántica de ejecución se alinea en Agave 4.1.1; la congestión y las rutas de tarifas de prioridad difieren.
Redirige solana logs o captura metadatos JSON de solana transaction.
LiteSVM 0.6.x captura registros en aserciones de prueba sin suscripciones WebSocket.
Agrega ComputeBudgetInstruction::set_compute_unit_limit en el cliente y compara el consumido con el límite en los metadatos.
Versiones de la pila: Esta página se escribió 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, y LiteSVM 0.6.x.
Revisado por Chris St. John·Última actualización: 16 jul 2026