使用Delve调试时如何向可执行文件传递参数?
解决Delve调试时向二进制文件传递参数的问题
你遇到的这个错误是因为Delve调试器无法区分自身的命令行参数和目标二进制文件的参数——它把--config当成了自己的未知flag,而不是要传递给/mypath/binary的参数。
正确的做法是使用**双短横线--**作为分隔符,告诉Delve:--之后的所有参数都直接传递给你要调试的二进制文件,不要尝试解析为Delve自身的选项。
修正后的命令
dlv --listen=:5432 exec /mypath/binary -- --config=config.toml
扩展说明
如果你的二进制文件需要多个参数,只需要把所有参数都放在--后面即可,比如:
dlv --listen=:5432 exec /mypath/binary -- --config=config.toml --log-level=debug --port=8080
这个分隔符是很多命令行工具通用的标准用法,用来明确区分工具自身参数和其要调用的子命令/目标程序的参数,避免解析混淆。
内容的提问来源于stack exchange,提问作者Rudziankoŭ
相关产品推荐
相关产品推荐

