github.com/medzin/terraform@v0.11.11/scripts/debug-terraform (about) 1 #!/usr/bin/env bash 2 3 # This is a helper script to launch Terraform inside the "dlv" debugger, 4 # configured to await a remote debugging connection on port 2345. You can 5 # then connect to it using the following command, or its equivalent in your 6 # debugging frontend of choice: 7 # dlv connect 127.0.0.1:2345 8 # 9 # This tool does not install dlv. To install it, see its instructions: 10 # https://github.com/derekparker/delve/tree/master/Documentation/installation 11 # 12 # For more convenient use, you may wish to put this script in your PATH: 13 # ln -s ../src/github.com/hashicorp/terraform/scripts/debug-terraform $GOPATH/bin/debug-terraform 14 # 15 # Note that when running this script the Terraform binary is NOT in $GOPATH/bin, 16 # so any providers installed there won't be found unless Terraform searches 17 # there for some _other_ reason. 18 19 set -eu 20 21 # Make sure we're debugging the process where the code is actually running. 22 # (This also, as a side effect, causes raw logs to go directly to stderr, 23 # and panics to be expressed directly, since we lose the log/panic wrapper.) 24 export TF_FORK=0 25 26 echo "Launching Terraform in a headless debug session" 27 echo "Connect to it using: dlv connect 127.0.0.1:2345" 28 echo "(Terraform takes a long time to build and launch in this mode; some logs will appear below)" 29 echo "---------------------------" 30 31 exec dlv debug github.com/hashicorp/terraform --headless --listen :2345 --log -- "$@"