继上周成功调试后出现时间超时问题,且想定位create_index等如何触发milvus底层实现文件,总是报错Timeout,这周碎片化抽空解决此问题,猜测可能是vscode配置的调试环境有问题,果不其然!
grpc时间超时问题。
milvus启动单机成功,测试官方提供的Python SDK脚本文件可以跑出正确结果。
然而,通过vscode调试就常出现断连问题,且无法定位断点位置。故猜测,可能与vscode配置的调试环境有关。
将源码部署Milvus(二)的调试环境launch.json更换为:
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Milvus_cp1.1",
"type": "go",
"request": "attach",
"program": "../bin/milvus",
"args": ["run","standalone"], // Any arguments the program needs
"stopAtEntry": false,
// "cwd": "${workspaceFolder}",
"cwd": "~/milvus_cp1.1",
"environment": [],
"externalConsole": false,
"MIMode": "auto",
"env":{
"GOPATH": "~/go",
"GOROOT": "~/go"
},
"preLaunchTask": "" // Task to run before debugging, like 'build'
}
]
}
查看命令:
go env
将GOPATH
和GOROOT
路径复制到此即可~
在配置 VSCode 的 launch.json
以调试 Go 程序时,通常不需要专门配置 gdb
相关的设置。Go 通常使用 delve
作为其主要的调试工具,而不是 gdb
。delve
提供了更好的 Go 语言支持,包括对 goroutines
和 channels
的支持,以及更好的集成到 Go 的类型系统中。