1
9
据我所知,没有一种内在的方法可以像你描述的那样做到这一点。但您可以使用构建标记来指示delve调试器正在运行,这或多或少是相同的。您可以将生成标记传递给
在Goland中,您可以在“运行/调试配置”下启用此功能,方法是将以下内容添加到“Go tool参数”:
如果你在Goland以外,跑步
或者,您可以使用delve
|
2
3
如果假设使用的调试器是Delve,则可以检查Delve进程。至少有两种情况需要考虑(可能更多)。
请注意,1和2使用的操作系统功能不同。一个获取父PID,另一个获取您的PID。 要执行1的一些非常基本的代码如下所示:
|
3
1
在Linux上,您可以阅读
如何使用:
|
4
0
对于案例2,我们可以将程序设置为等待某个信号(SIGUSR1),并在此等待期间附加调试器。
发射vscode的json:
说明: 例如,我们使用env WAIT\u FOR\u DEBUGGER=true启动程序
它将输出
运行
断点也会起作用 |
5
0
如果您的进程是由Delve运行的,而不是事后附加的,那么这里有一个非常简单的解决方案来检测Delve。至少到目前为止,这是大多数用例
|