本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
本地直通调试Golang功能
与Node.js、Java和Python相比,Golang功能直通调试略有不同。我们要求 德尔维
调试时,必须以调试模式编译您的功能:
GOARCH=amd64 GOOS=linux go build -gcflags='-N -l' -o <output path> <path to code directory>
Delve调试器
您必须编译 德尔维--debugger-path
参数。
构建 德尔维
GOARCH=amd64 GOOS=linux go build -o <delve folder path>/dlv github.com/go-delve/delve/cmd/dlv
Delve调试器路径
输出路径需要结束于 /dlv
。Docker容器希望dlv二进制文件位于 <delve folder path>
。如果不是,则会出现安装问题。
的 --debugger-path
是包含从上一个代码编译的dlv二进制文件的目录的路径。
示例:
调用 AWS SAM 类似于以下内容:
sam local start-api -d 5986 --debugger-path <delve folder path>
Delve调试程序API版本
要运行 德尔维-delveAPI
.
对于 IDEs 例如 GoLand、MicrosoftVisualStudioCode等,运行 德尔维
示例
调用 AWS SAM 与 德尔维
sam local start-api -d 5986 --debugger-path <delve folder path> --debug-args "-delveAPI=2"
Example
以下是要附加到调试会话的MicrosoftVisualStudioCode的示例启动配置。
{ "version": "0.2.0", "configurations": [ { "name": "Connect to Lambda container", "type": "go", "request": "launch", "mode": "remote", "remotePath": "", "port": <debug port>, "host": "127.0.0.1", "program": "${workspaceRoot}", "env": {}, "args": [], }, ] }