| #!/usr/bin/env bash | |
| # This is a helper script to launch Terraform inside the "dlv" debugger, | |
| # configured to await a remote debugging connection on port 2345. You can | |
| # then connect to it using the following command, or its equivalent in your | |
| # debugging frontend of choice: | |
| # dlv connect 127.0.0.1:2345 | |
| # | |
| # This tool does not install dlv. To install it, see its instructions: | |
| # https://github.com/derekparker/delve/tree/master/Documentation/installation | |
| # | |
| # For more convenient use, you may wish to put this script in your PATH: | |
| # ln -s ../src/github.com/hashicorp/terraform/scripts/debug-terraform $GOPATH/bin/debug-terraform | |
| # | |
| # Note that when running this script the Terraform binary is NOT in $GOPATH/bin, | |
| # so any providers installed there won't be found unless Terraform searches | |
| # there for some _other_ reason. | |
| set -eu | |
| echo "Launching Terraform in a headless debug session" | |
| echo "Connect to it using: dlv connect 127.0.0.1:2345" | |
| echo "(Terraform takes a long time to build and launch in this mode; some logs will appear below)" | |
| echo "---------------------------" | |
| exec dlv debug github.com/hashicorp/terraform --headless --listen :2345 --log -- "$@" |