github.com/DFWallet/tendermint-cosmos@v0.0.2/docs/tools/debugging.md (about) 1 # Debugging 2 3 ## tendermint debug kill 4 5 Tendermint comes with a `debug` sub-command that allows you to kill a live 6 Tendermint process while collecting useful information in a compressed archive. 7 The information includes the configuration used, consensus state, network 8 state, the node' status, the WAL, and even the stack trace of the process 9 before exit. These files can be useful to examine when debugging a faulty 10 Tendermint process. 11 12 ```bash 13 tendermint debug kill <pid> </path/to/out.zip> --home=</path/to/app.d> 14 ``` 15 16 will write debug info into a compressed archive. The archive will contain the 17 following: 18 19 ```sh 20 ├── config.toml 21 ├── consensus_state.json 22 ├── net_info.json 23 ├── stacktrace.out 24 ├── status.json 25 └── wal 26 ``` 27 28 Under the hood, `debug kill` fetches info from `/status`, `/net_info`, and 29 `/dump_consensus_state` HTTP endpoints, and kills the process with `-6`, which 30 catches the go-routine dump. 31 32 ## Tendermint debug dump 33 34 Also, the `debug dump` sub-command allows you to dump debugging data into 35 compressed archives at a regular interval. These archives contain the goroutine 36 and heap profiles in addition to the consensus state, network info, node 37 status, and even the WAL. 38 39 ```bash 40 tendermint debug dump </path/to/out> --home=</path/to/app.d> 41 ``` 42 43 will perform similarly to `kill` except it only polls the node and 44 dumps debugging data every frequency seconds to a compressed archive under a 45 given destination directory. Each archive will contain: 46 47 ```sh 48 ├── consensus_state.json 49 ├── goroutine.out 50 ├── heap.out 51 ├── net_info.json 52 ├── status.json 53 └── wal 54 ``` 55 56 Note: goroutine.out and heap.out will only be written if a profile address is 57 provided and is operational. This command is blocking and will log any error.