zen*_*321 4 signals go visual-studio-code delve vscode-debugger
我想在终止 vscode golang 调试器时捕获操作系统信号并执行一些退出作业。
我的代码如下:
sigalChan := make(chan os.Signal, 1)
signal.Notify(sigalChan, syscall.SIGINT, syscall.SIGTERM)
<-sigalChan
doSomeJobs()
Run Code Online (Sandbox Code Playgroud)
但它不起作用。谁能告诉我如何弄清楚?也许信号类型不是 SIGINT 或 SIGTERM?
zen*_*321 11
我找到一个解决方案。只需在launch.json中将“console”设置为“integratedTerminal”即可使delve服务器前台,然后我可以使用“ctrl+c”终止调试过程,并且可以在我的程序中接收信号。
{
// launch.json
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}/main.go",
"console": "integratedTerminal"
}
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1792 次 |
| 最近记录: |