浅谈linux - vs code搭建运行调试环境

2023-05-16

概述

在Linux开发过程中,用不惯vim的用户往往会选择vs code软件或者source insight软件编写相关的源代码,由于vs code对linux系统的支持及界面的美观,所以小编往往会选择使用vs code来编写代码,但是,代码编写完成后,需要进行调试,除了gdb还有没有其它方式呢?答案是肯定有,vs code结合gdb就可以实现在线调试功能。

操作

点击调试运行按钮

c146889be5907078f5def4b7ec75efa3.png

点击创建launch.json文件

466c7c9e3c63d2301ecd4f23d9f82202.png

点击显示所有自动调试配置

6181ef43dc21096030e945be2de8da4a.png

点击添加配置

ad0f31c2689c2fc38ea360874f968eb1.png

选择C/C++:(gdb)启动

8a6cff9029abfa5d407ebdfd4d3c229e.png

选择完之后,软件自动生成配置,如下图所示。

f323f14db66dc6dabd369be4ff812296.png

在“program”后面输入需要运行的程序名称:"program": "/home/feng/feng/library/dynamic/main"

2b2a2b6bcc8e8843895d56fefb5b5df8.png

添加键值对"miDebuggerPath": "/usr/bin/gdb"。"miDebuggerPath"后跟调试器gdb路径。

9c1c0a1e8ff63dc754fa59cb66fa5900.png

编写应用程序并编译,注意编译选项需要加上-g以支持gdb调试。

98ac95504f068223eb58b2c84f007de5.png

点击代码行前面,添加断点。

2c5e054da0593145a68308752d0dd9dc.png

点击F5启动运行,到了断点,程序会自动停止运行。

98884d5e45bb4ad91e1a530184b2dca7.png

窗口1用于观察变量。

窗口2可以控制调试运行方式,单步运行,进入函数内部执行等,另外也可通过快捷键控制,F5运行到断点、F10单步跳过、F11单步调试、Shift+F11单步跳出,Ctrl+Shift+F5重启、Shift+F5停止调试。

95e1d068e338a8c6b16647f094179367.png

往期 · 推荐

实时系统vxWorks - 任务(重要)

实时系统vxWorks - 加载应用程序的方法

实时系统vxWorks - 在线调试

实时系统vxWorks - 虚拟机环境搭建

实时系统vxWorks - zynq7020移植vxWorks

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

浅谈linux - vs code搭建运行调试环境 的相关文章

  • 让 MongoDB 在 Linux 上监听远程连接

    我已在 Windows 本地计算机上 上成功安装 MongoDB 作为服务 但现在我想将 MongoDb 移动到单独的服务器 所以我将 tarball 解压到网络上的虚拟服务器 运行 Linux 当我从本地计算机使用 PuTTY 连接到服务
  • 归档文件系统或格式

    我正在寻找一种文件类型来存储已退役系统的档案 目前 我们主要使用 tar gz 但从 200GB tar gz 存档中查找并提取几个文件是很麻烦的 因为 tar gz 不支持任何类型的随机访问读取规定 在你明白之前 使用 FUSE 安装 t
  • arm-linux-gnueabi 编译器选项

    我在用 ARM Linux gnueabi gcc在 Linux 中为 ARM 处理器编译 C 程序 但是 我不确定它编译的默认 ARM 模式是什么 例如 对于 C 代码 test c unsigned int main return 0x
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • 嵌入式Linux poll()不断返回

    我有一个特别的问题 当我知道没有什么可读时 民意调查不断返回 因此设置如下 我有 2 个文件描述符 它们构成fd设置民意调查监视 一种用于引脚从高到低的变化 GPIO 另一个用于代理输入 代理输入出现问题 处理的顺序是 启动main函数 然
  • xsel -o 对于 OS X 等效项

    是否有一个等效的解决方案可以在 OS X 中抓取选定的文本 就像适用于 Linux 的 xsel o 一样 只需要当前的选择 这样我就可以在 shell 脚本中使用文本 干杯 埃里克 你也许可以安装xsel在 MacOS 上 更新 根据 A
  • 为什么我收到的数据包数据大小大于mss?

    我在两台 PC 上使用 ifconfig ethX mtu 300 修改了 MTU 并使用 netperf 测试网络 我用 WireShark 嗅探了 SYN 数据包中的 MSS 260 但我得到了一些大于 260 的数据包 为什么 嗅探器
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • 如何检测并找出程序是否陷入死锁?

    这是一道面试题 如何检测并确定程序是否陷入死锁 是否有一些工具可用于在 Linux Unix 系统上执行此操作 我的想法 如果程序没有任何进展并且其状态为运行 则为死锁 但是 其他原因也可能导致此问题 开源工具有valgrind halgr
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • nginx 上的多个网站和可用网站

    通过 nginx 的基本安装 您的sites available文件夹只有一个文件 default 怎么样sites available文件夹的工作原理以及如何使用它来托管多个 单独的 网站 只是为了添加另一种方法 您可以为您托管的每个虚拟
  • Jenkins中找不到环境变量

    我想在詹金斯中设置很多变量 我试过把它们放进去 bashrc bash profile and profile of the jenkins用户 但 Jenkins 在构建发生时找不到它们 唯一有效的方法是将所有环境变量放入Jenkinsf
  • 如何在bash中使用jq从变量中包含的json中提取值

    我正在编写一个 bash 脚本 其中存储了一个 json 值 现在我想使用 Jq 提取该 json 中的值 使用的代码是 json val code lyz1To6ZTWClDHSiaeXyxg redirect to http examp
  • 无法从 jenkins 作为后台进程运行 nohup 命令

    更新 根据下面的讨论 我编辑了我的答案以获得更准确的描述 我正在尝试从詹金斯运行 nohup 命令 完整的命令是 nohup java jar home jar server process 0 35 jar prod gt gt var
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • 两种情况或 if 哪个更快? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须制作一个 非常 轻的脚本 它将接受用户的选项并调用脚本中的函数来执行一些任务 现在我可以使用 IF 和 CASE 选项 但我想知道两

随机推荐

  • 实时系统vxWorks - 增加删除ip

    概述 实际应用中 相信各位小伙伴都遇到过以下的情况 只有一个网络端口 但是想要与多台设备通讯 而不同的设备网段又不一样 这个时候需要频繁的修改自己的ip地址 显得很不方便 windows系统下 操作系统为我们提供了一种可以添加多个ip地址的
  • 实时系统vxWorks - 多IP系统UDP通讯

    概述 在 实时系统vxWorks 增加删除ip 一文中 小编已经向大家展示了如何在网口上添加多个IP 接下来将为大家展示如何编写代码绑定各个IP进行UDP通讯 注意 开发环境 vxWorks6 9 4 workbench3 3 5 另外 小
  • 实时系统vxWorks - 配置多网口

    概述 本文提供在系统运行中对网口进行配置的方法 注意 开发环境 vxWorks6 9 4 workbench3 3 5 1 之前小编网上找相关资料时 有博主说使用新增网口不能与已存在的网口处于同一网段 不过经过小编的测试 两个网口ip可以处
  • 听说Zynq-uboot命令行

    概述 本文主要介绍在linux中uboot命令行的一些常见命令使用方法 注意 开发板 TLZ7x EasyEVM A3 另外 小编所有文章均是自己亲手编写验证 由于文件太多 小编就不在公众号后台一一回复列举了 若需要小编的工程代码 请关注公
  • 听说Zynq-通过tftp加载镜像

    概述 本文主要介绍在linux中如果通过tftp加载启动镜像 以及将启动方式固话到uboot程序中 注意 开发板 TLZ7x EasyEVM A3 另外 小编所有文章均是自己亲手编写验证 由于文件太多 小编就不在公众号后台一一回复列举了 若
  • 浅谈linux - virtual box设置共享文件夹

    概述 本文用于展示在virtual box虚拟机创建共享文件夹 xff0c 实现windows和ubuntu文件互传 注意 开发环境 xff1a VirtualBox 6 1 ubuntu 16 04 另外 xff0c 小编所有文章均是自己
  • 浅谈linux - 搭建nfs服务

    概述 本文用于展示如何搭建nfs服务 xff0c 实现开发机和目标机之间的文件共享 注意 开发环境 xff1a ubuntu 16 04 xff0c linux 4 9 xff0c 开发板 xff1a TLZ7x EasyEVM A3 另外
  • 听说Zynq-petalinux编译linux程序

    概述 PetaLinux 是一种嵌入式 Linux 软件开发套件 SDK 主要用于赛灵思 FPGA 基片上系统设计 注意 开发环境 linux4 9 VirtualBox 6 1 ubuntu 16 04 开发板 TLZ7x EasyEVM
  • 实时系统vxWorks - udp组播通讯

    概述 组播又称多目标广播 多播 网络中使用的一种传输方式 它允许把所发消息传送给所有可能目的地中的一个经过选择的子集 即向明确指出的多种地址输送信息 是一种在一个发送者和多个接收者之间进行通信的方法 注意 开发环境 vxWorks6 9 4
  • 实时系统vxWorks - tcp客户端通讯

    概述 传输控制协议 TCP Transmission Control Protocol 是一种面向连接的 可靠的 基于字节流的传输层通信协议 注意 开发环境 vxWorks6 9 4 workbench3 3 5 另外 小编所有文章均是自己
  • nvm导致React Native启动失败

    错误如下 xff1a The following build commands failed PhaseScriptExecution CP User Generate Specs Users qiaohao Library Develop
  • 实时系统vxWorks - tcp服务器通讯

    概述 接上一篇文章 本文主要展示vxWorks下TCP服务器的编程方法 注意 开发环境 vxWorks6 9 4 workbench3 3 5 另外 小编所有文章均是自己亲手编写验证 由于文件太多 小编就不在公众号后台一一回复列举了 若需要
  • 开发工具 - 离线安装VS code插件

    概述 VSCode具有丰富的插件库 xff0c 程序猿们可以根据自己需要安装插件 xff0c 大大提高VS code工具的生产力 注意 开发环境 xff1a Ubuntu 16 04 xff0c 开发板 xff1a TLZ7x EasyEV
  • 开发工具 - 设置vs code主题

    概述 不可否认 xff0c 良好的界面风格能给程序员带来更好的软件体验 对于小编这种颜值至上的人来说 xff0c 一个高颜值的软件会让人心情愉悦 xff0c 编写代码效率提高 这也是VS code和Source Insight软件的对比优势
  • 开发工具 - 设置vs code显示中文

    概述 本文主要针对像小编一样对于英文看着比较吃力的小伙伴 xff0c 如果你对自己英文很有信心 xff0c 那么建议忽略此文章 注意 开发环境 xff1a Ubuntu 16 04 xff0c 开发板 xff1a TLZ7x EasyEVM
  • 通信协议 - ntp时间同步

    概述 NTP Network Time Protocol xff09 网络时间协议基于UDP xff0c 用于网络时间同步的协议 xff0c 使网络中的计算机时钟同步到UTC xff0c 再配合各个时区的偏移调整就能实现精准同步对时功能 提
  • 通信协议 - ARINC615A加卸载协议

    概述 ARINC615A加卸载端系统由加载端软件和目标端软件组成 xff0c 通过加载端软件和目标端软件的通信共同完成端系统设备的数据加卸载功能 加载端软件运行于大容量设备中 xff0c 被加载端即目标端软件运行于AFDX交换机内和其他端系
  • 我用C语言玩对象,封装相似算法的策略模式

    概述 在策略模式 xff08 Strategy Pattern xff09 中 xff0c 一个类的行为或其算法可以在运行时更改 这种类型的设计模式属于行为型模式 在策略模式中 xff0c 我们创建表示各种策略的对象和一个行为随着策略对象改
  • 浅谈linux - 库文件制作与使用

    概述 本质上来说 xff0c 库文件就是可执行代码的二进制形式 xff0c 可以被操作系统载入内存中执行 Linux操作系统支持的函数库分为静态库和动态库 xff0c 动态库又称共享库 Linux系统有几个重要的目录存放相应的函数库 xff
  • 浅谈linux - vs code搭建运行调试环境

    概述 在Linux开发过程中 xff0c 用不惯vim的用户往往会选择vs code软件或者source insight软件编写相关的源代码 xff0c 由于vs code对linux系统的支持及界面的美观 xff0c 所以小编往往会选择使