前言

gnuradio是一个软件无线电的开源软件,至于作用是啥也不多说了,能看到这篇文章的同学肯定已经在使用了。但是做毕设的过程中,发现GNURadio虽然有很多无线通信模块,但是导师要求自己复现或实现一些特殊功能模块的时候,就得自己写信号处理模块,但是写代码很少有不出错的,这时就需要用到调试,我也是摸索了一个月,在官网的指导以及ChatGPT的指导下终于成功vscode代码级的调试功能。

需要软件

1.vscode
2.gnuradio

步骤

  1. 安装 C/C++ 扩展
    在 VS Code 中安装 C/C++ 扩展。这可以通过在 VS Code 中搜索扩展或从 VS Code 的扩展市场中找到。
  2. 编写并安装自建模块
    就是
    一般步骤是演示的是在build文件夹下的步骤
cmake ../
make 
sudo make install
sudo ldconfig

而如果要用到调试的话这个时候cmake要变一下

cmake ../ -DCMAKE_BUILD_TYPE=Debug
make 
sudo make install
sudo ldconfig

注意此时编译的时候find的是python3还是python2,后面配置json文件需要使用。

  1. 在gnuradio-companion测试模块中搭建一个测试流图,然后点击生成一个流图(在运行按钮旁边的),注意生成的流图文件位置,待会配置.json文件的时候要用。

  2. 启动Vscode
    然后在自己的代码中设置断点

  3. 找到Vscode的Debug按钮就是有小蜘蛛的那个

  4. 选择配置环境“C++ (GDB/LLDB)”,这将打开launch.json文件并插入一些代码

  5. 配置launch.json文件,
    json文件大概如下所示

{
    "version": "0.2.0",
    "configurations": [
        
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "/usr/bin/python3",
            "args": ["-u","/path/to/flowgraph.py"],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        },
    ]
}

program中有可能是python2,python3,自己根据之前第二步cmake的时候改。
args就是要调试的流图,根据之前第三步生成的流图位置修改。
修改这两个地方后保存。
8. 保存完后点击左上角的开始调试
9. 运行正常的话就可以进入代码级调试啦!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐