From d587fe3f0eea6812b3310bf5948b7b9cf1da7f6b Mon Sep 17 00:00:00 2001 From: MarcoFalke Date: Wed, 19 Jul 2017 22:45:22 +0200 Subject: [PATCH] Merge #10681: add gdb attach process to test README 7ec3343 add gdb attach process to test README (Gregory Sanders) Pull request description: Saved me many hours. h/t to @jnewbery for the new guide efforts Tree-SHA512: 4d8ba1717eb842201079488f1cfe369d5d5114df5278643a3f996c986a51e3e039ea994a6f2f06bf6607b697388ad6561198da4693e3cb1ca4a8424e6d423d85 --- test/README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/test/README.md b/test/README.md index 074d98c80f..bce08f81bf 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 dashd 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`.