源码部署Milvus(三)成功解决vscode调试milvus源码时间超时问题!

作者有话说

继上周成功调试后出现时间超时问题,且想定位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'
        }
    ]
}

注意对应替换

  • “program”: “…/bin/milvus” 这里填写存放已编译生成的二进制milvus文件
  • “cwd”: “~/milvus_cp1.1” 这里填写milvus的开源根目录绝对路径
  • "env"需加上自己服务器配置的GO环境
  • “MIMode”: “auto” 有些博客配置写得是“mode":“auto”,我这样写会报错。”MIMode"则正常

查看命令:

go env

GOPATHGOROOT路径复制到此即可~

总结

在配置 VSCode 的 launch.json 以调试 Go 程序时,通常不需要专门配置 gdb 相关的设置。Go 通常使用 delve 作为其主要的调试工具,而不是 gdbdelve 提供了更好的 Go 语言支持,包括对 goroutineschannels 的支持,以及更好的集成到 Go 的类型系统中。

你可能感兴趣的:(向量数据库,milvus,vscode,ide)