ubuntu 上vscode gdb可视化源码调试live555

目录

1. ubuntu 下载安装vscode

2. vscode 添加插件 

3. 下载live555源码

4. live555 生成makefile 

5. vscode 打开目录, 开始编译

 6.0 添加修改调试配置

7.0 打断点,愉快地debug  


要捋清楚源码,不得不说这个live555的风格还是很奇怪的,一段时间没动回过来看几乎又不知所云了,跑着跑着就崩溃了,所以这次准备在ubuntu 上,vscode 可视乎debug一下live555.

vscode, 完美替代甚至超出了source insight, 重要的是,免费,三平台通用,各种插件加持下不仅可以编辑,格式化,提示补全,还可以debug

1. ubuntu 下载安装vscode


VSCode中文网 - Visual Studio Code中文官网 VS Code编辑器中文网站  下载Linux版本
如果下载慢可以参考解决VsCode下载慢问题_wang13679201813的博客-CSDN博客_vscode下载慢
或者干脆复制下载连接用 迅雷下载也是可以的
下载完可以在文件管理器中右键用软件安装程序打开,即可像安装windows程序一样安装

2. vscode 添加插件 

 需要两个关键的插件 c/c++  Makefiletools
    打开一个.cpp 文件,右下角会自动提示建议安装插件,直接按照提示确认,装上了如下插件。
其中重要的就是在 c/c++ 插件,已经包括了gdb。 可以点击这个插件看介绍
    

发现Makefile文件,也会提示插件,于是再装上了 Makefile Tools插件(如果只是一个简单的 Makefile 一个目标,这个工具倒是可以直接编译+调试)

3. 下载live555源码

 http://live555.com/liveMedia/public/

4. live555 生成makefile 

更多请参考<一 编译> ndk 编译live555 for android_王二の黄金时代的博客-CSDN博客
源码目录 live下执行
$ ./genMakefiles linux-gdb
执行上述命令后会生成Makefile  里面已经是 加了-g选项的。

5. vscode 打开目录, 开始编译

在Makefile Tool 插件按钮, 点击左侧makefile 插件按钮,在二级菜单里面点击编译按钮开始编译并启动调试
如果编译提示 openssl 错误:两种解决办法:
1. 安装上openssl
2. 返回到第四步, 在config.linux-gdb  COMPILE_OPTS 的后面添加上-DNO_OPENSSL=1 同时把文件里面的 -lssl -lcrypto  去掉。(这一步之前要改一下文件的属性,默认是只读的无法修改,用命令# chmod +w config.linux-gdb)重新执行$ ./genMakefiles linux-gdb生成makefile

 6.0 添加修改调试配置

如果是一个Makefile中一个目标,上图界面的三角形按钮应该可以直接开始debug这个程序了,但是当前的Makefile 比较复杂这个插件似乎是找不到目标了。需要手动修改 调试的配置文件 launch.json 加上我们要调试的可执行程序的路径。  让调试程序调用到正确的程序
在 打开的工程文件下,有一个隐藏目录 .vscode   (vscode自动创建), 我们在这个c++ 调试二级菜单中可以添加配置,(这个是调试插件的功能),一般三个配置文件 launch.json   setting.json task.json          task.json 是用来编译的任务,也可以修改这个里面的编译条件,达到编译的效果。  我们现在已经可以编译通过了,所以可以直接修改这个task.json 让点击调试按钮的时候能够正确调用到待调试的程序。
一般这些文件不需要手动添加,会有提示
选择添加配置,c++ gdb会自动创建好:

 然后修改启动的程序路径,比如我要运行编译出来的 demo文件在live/testProgs$/testOnDemandRTSPServer
task.json 文件如下:
其中只修改了一条:"program": "${workspaceFolder}/testProgs/testOnDemandRTSPServer",其他皆通过按钮点击提示生成。

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/testProgs/testOnDemandRTSPServer",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description":  "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        },
        {
            "type": "pwa-node",
            "request": "launch",
            "name": "Launch Program",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "${file}"
        }
    ]
}

7.0 打断点,愉快地debug  

在源码里面,左侧编译双击即可添加点。 在调试debug二级菜单中点击那个绿色三角形按钮,启动调试,现在,可以愉快地debug了,栈信息,遍历值等等结合着源码看

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VSCode是一款非常流行的代码编辑器,它提供了丰富的插件来支持各种编程语言的开发和调试。其中,GDB是一种常用的调试器,可以用于调试C、C++等编程语言。下面是在VSCode中使用GDB进行调试的方法: 1. 安装插件:首先,在VSCode中安装C/C++插件和CodeLLDB插件。C/C++插件提供了基本的C/C++开发支持,而CodeLLDB插件则提供了与GDB集成的功能。 2. 配置调试环境:在VSCode中打开你的项目文件夹,并创建一个名为`.vscode`的文件夹。在该文件夹中创建一个名为`launch.json`的文件,并在其中添加以下配置: ```json { "version": "0.2.0", "configurations": [ { "name": "Debug with GDB", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/your_program", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "gdb" } ] } ``` 请将`your_program`替换为你要调试的程序的路径。 3. 开始调试:在VSCode中按下`F5`键,或者点击左侧的调试按钮,选择`Debug with GDB`配置,然后点击开始调试按钮。VSCode将会启动GDB,并在调试控制台中显示调试信息。 4. 设置断点:在你希望进行调试的代码行上设置断点。当程序执行到断点时,调试器会暂停程序的执行,并允许你查看变量的值、执行表达式等。 5. 调试操作:在调试过程中,你可以使用调试控制台中的命令来控制程序的执行,例如继续执行、单步执行、跳过当前函数等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值