From 7ec3343df21aae30bf782f77171f5e4d9a1d5e65 Mon Sep 17 00:00:00 2001 From: Gregory Sanders Date: Tue, 27 Jun 2017 10:06:34 -0400 Subject: [PATCH] add gdb attach process to test README --- test/README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/test/README.md b/test/README.md index 15f6df790f9..868eb667ae2 100644 --- a/test/README.md +++ b/test/README.md @@ -155,6 +155,26 @@ import pdb; pdb.set_trace() anywhere in the test. You will then be able to inspect variables, as well as call methods that interact with the bitcoind nodes-under-test. +If further introspection of the bitcoind instances themselves becomes +necessary, this can be accomplished by first setting a pdb breakpoint +at an appropriate location, running the test to that point, then using +`gdb` to attach to the process and debug. + +For instance, to attach to `self.node[1]` during a run: + +```bash +2017-06-27 14:13:56.686000 TestFramework (INFO): Initializing test directory /tmp/user/1000/testo9vsdjo3 +``` + +use the directory path to get the pid from the pid file: + +```bash +cat /tmp/user/1000/testo9vsdjo3/node1/regtest/bitcoind.pid +gdb /home/example/bitcoind +``` + +Note: gdb attach step may require `sudo` + ### Util tests Util tests can be run locally by running `test/util/bitcoin-util-test.py`.