首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我可以使用gdb编辑代码行吗?在同一个调试会话中,是否也可以保存为实际的源文件和头文件?linux

可以使用gdb编辑代码行。在gdb调试会话中,可以使用gdb提供的编辑命令来修改源代码。例如,可以使用"edit"命令来编辑当前断点所在的源文件,或者使用"list"命令查看源代码并进行编辑。

在同一个调试会话中,gdb也可以保存实际的源文件和头文件。可以使用"gdb"命令来启动gdb调试器,并使用"file"命令指定要调试的可执行文件。gdb会加载该可执行文件的符号表信息,包括源文件和头文件的路径。在调试过程中,可以使用"gdb"命令来查看和修改源文件和头文件,并使用"save"命令将修改后的文件保存到磁盘上。

需要注意的是,gdb是一个调试器工具,主要用于调试程序,而不是作为代码编辑器。如果需要进行大量的代码编辑工作,建议使用专业的代码编辑器或集成开发环境(IDE),如Visual Studio Code、Eclipse、IntelliJ IDEA等。这些工具提供了更丰富的代码编辑功能和更友好的用户界面,能够提高开发效率。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

OpenRestyNginx Lua服务远程调试方法

很多Nginx Lua程序员入门过程中会遇到一个问题就是选择编辑器IDE,其实Lua编辑器IDE过去流行也有几种,但大多数都被人遗忘了,如果只是做纯Lua代码语法检查,代码补全,很多IDE都可以做到...而可以在线调试Nginx程序,设置断点可视化IDE,那应该ZeroBraneStudio这个编辑器,低层利用Lua Socket进行通信,可以可视化IDE,某句Lua代码,比如ngx.say("...Nginx/OpenResty下断点进行调试的人不会太多,环境配置就比较麻烦,而且生产环境上Linux服务器,部署XWindow意义不大,更多是本地调试,远程同步代码,现在找还可以找到之前在网上写这个调试过程教程...可以PowerShell中使用SSH登录,测试上述是否成功: ?...接下来需要对VSCodedebuggee进行配置,在对应工作区launch属性中直接配置即可。实际工作,我们可以针对不同调试模式使用不同debuggee配置。

5.3K20

Linux C编程之一:Linux下c语言开发环境

1、开发环境构成   编辑器:VI;   编译器:选择GNU C/C++编译器gcc;   调试器:应用广泛gdb;   函数库:glibc ;   系统头文件:glibc_header...; 2、安装Linux时需要注意事项   安装时选上“程序开发”“开发工具”,就可以自动安装gcc/gdb;   若想开发图形界面,还需要选上GNOME/KDE软件开发。...假如用户安装过程少装了这些包,就无法编译c源程序,这时候可以通过rpm包来迅速安装LinuxC开发语言环境。...7、Linux下C程序开发过程:   (1)使用vi工具编辑写源程序;   (2)保存为*.c;   (3)使用gcc编译成二进制可执行文件;   (4)..../a.out执行(当gcc没有用-o选项指定可执行文件名时);   (5)有问题可以使用gdb进行调试; 8、第一个程序:Hello.c 1 2 3 4 5 int main(int args,char

10.7K00

Linux C编程之一:Linux下c语言开发环境

1、开发环境构成 编辑器:VI; 编译器:选择GNU C/C++编译器gcc; 调试器:应用广泛gdb; 函数库:glibc ; 系统头文件:glibc_header; 2、安装Linux时需要注意事项...安装时选上“程序开发”“开发工具”,就可以自动安装gcc/gdb; 若想开发图形界面,还需要选上GNOME/KDE软件开发。...) 是GNU推出多平台编译器,以下是gcc支持编译一些源文件后缀及其解释 .c后缀 c语言源代码文件 .h后缀 是程序所包含文件 .o后缀 是编译后目标文件 例:gcc -o hello...假如用户安装过程少装了这些包,就无法编译c源程序,这时候可以通过rpm包来迅速安装LinuxC开发语言环境。...7、Linux下C程序开发过程: (1)使用vi工具编辑写源程序; (2)保存为*.c; (3)使用gcc编译成二进制可执行文件; (4).

7.7K40

C编程之一:Linux下c语言开发环境

1、开发环境构成 编辑器:VI; 编译器:选择GNU C/C++编译器gcc; 调试器:应用广泛gdb; 函数库:glibc ; 系统头文件:glibc_header; 2、安装Linux...时需要注意事项 安装时选上“程序开发”“开发工具”,就可以自动安装gcc/gdb; 若想开发图形界面,还需要选上GNOME/KDE软件开发。...CCompiler) 是GNU推出多平台编译器,以下是gcc支持编译一些源文件后缀及其解释 .c后缀 c语言源代码文件 .h后缀 是程序所包含文件 .o后缀 是编译后目标文件 1...假如用户安装过程少装了这些包,就无法编译c源程序,这时候可以通过rpm包来迅速安装LinuxC开发语言环境。...7、Linux下C程序开发过程: (1)使用vi工具编辑写源程序; (2)保存为*.c; (3)使用gcc编译成二进制可执行文件; (4).

2.9K00

SDNLAB技术分享(五):浅谈Open vSwitch移植

3、执行编译步骤(在编译过程可能会出现各种错误,可能不会有错,取决于你自己机器是否安装Open vSwitch所依赖库) 本想把一些错误记录下来,拿出来和大家分享一下,可是编译过程中比较走运...如果有人需要移植ovsdb-server可以参考上面过程,过程相似。 四、编译参数 假设我们移植完所有源文件和头文件,接下来就需要编写makefile。...之前博客中有一篇介绍main函数,里面会涉及到gdb调试,你可以参考一下。但是gdb调试多线程时候 需要特别注意 2、日志。 对于多线程、多进程ovs,日志特别重要。...Q9:如果想调试比较靠后过程一段代码(可能已经不是main函数所在文件代码),比如说是匹配过程代码等,是否gdb可以直接调试操作?...A9:一样可以调试,你按照函数名进行断点调试 Q10:gdb调试文档在哪里?

1.7K90

linux 编译安装GCC4.9.3(完整版)「建议收藏」

/contrib/download_prerequisites 做好上面的准备就可以configure了,建议另建一个目录来存放编译文件,默认安装目录是 /usr/local/ 可以使用 –prefix...,尝试使用root用户或者root权限编译 编译过程很慢,一切顺利的话,取决于你配置40分钟-1个小时后再来看结果吧,用公司16核服务器编译了20分钟 第三步 .bashrc配置库文件和头文件路径...enable-checking=release --enable-languages=c,c++ --disable-multilib 线程模型:posix gcc 版本 4.9.3 (GCC) ---- 如果在调试过程某些库无法定位到源文件...看了其他人教程,都没有提到这一点,特此写这篇文章算是加深记忆和便于以后查看,请继续看下一步 ---- 第五步 升级完gcc还需要升级gdb!!!...因为版本不匹配导致调试时候 print变量提示找不到符号,以及其他莫名其妙问题… 这里选择安装时候gdb-7.9 ,安装gdb需要4个组件 ,python,python-devel ,texinfo

1.4K20

使用GDB调试Linux内核

GDB可以让你在被调试程序执行时看到它”内部“情况,观察程序特定断点上状态,并逐行运行代码GDB还提供了“远程”模式,使用GDB协议通过网络或串行设备与被调试程序进行通信。...类似的,Linux内核开发者可以使用GDB远程模式,与调试应用程序几乎相同方式来调试Linux内核。...KGDB是Linux内核代码调试器,你可以使用GDB作为KGDB前端,我们熟悉且功能强大GDB调试界面调试内核。...我们可以使用QEMU/KVM虚拟机作为目标机器,让待调试内核运行在虚拟机,然后宿主机上运行gdb,连接到虚拟机KGDB。...写在最后 本机搭建Linux内核调试环境步骤有点繁杂,但使用GDB调试内核,会成为我们学习内核利器,进程管理、内存管理、文件系统,对源码有什么困惑就可以debug一下。 Enjoy it!

88810

Linux GDB常用命令一栏

有的时候输入quit后会出现相关提示:类似于“(y/n)”,输入y 2.显示和查找程序源代码 (1)list :显示10行代码,但是为什么没有显示成功呢?...(2)list 5,10:显示源文件第五行到第十行代码 (3)list t4.c:5,10:显示源文件第五行到第十行代码跳是含有多个源文件次序时使用; (4)list get_sum:显示get_sum...(5)list t4.c :get_sum:显示源文件t4.c第五行到第十行代码跳是含有多个源文件次序时使用; (6)如果在调试运行linux命令,则可以gdb提示符下输入shell命令...比如可以针对远程调试进行设置,可以用来设置gdb一行字符数等。 8.控制程序执行 (1)continue命令:让程序继续运行,直到下一个断点或者运行完为止。...单步执行一条语句使用next和step命令。通常一条语句有多条机器指令构成。    注意是:gdb一些命令可以简写,比如list可以用li来代替,continue命令可以用cont来代替。

1.6K40

Linux开发工具——gdb

为了能够控制源码生成二进制程序时候加上-g选项,我们可以makefile文件中进行操作:   我们windows写代码时,调试工具大家多多少少都用过,但是为什么还分为debug版本和release...开始使用   我们有了带调试信息可执行程序之后,使用 gdb mybin,进入到调试页面:   当我们看到这样页面,就说明你已经开始调试了,下面来一一介绍gdb对应指令功能。...vs,我们可以禁用断点:   禁用断点之后,调试就不会从这里停下来了,gdb,我们也有禁用断点指令。 disable/enable命令 作用: 使能(禁用/开启)断点。...用法: until 行号 测试用例:   vs下,我们要想修改变量值,需要打开源文件,再进行修改,修改完之后再调试,而在Linuxgdb工具,可以实现 不用退出调试更改变量,使用set var命令即可...✈️ 总结 想要进行调试,需要再makefile文件里生成目标文件时加上-g选项,生成可执行程序可以使用readelf指令查看是否具有调试信息。

10610

Linux系统编程】Linux调试器——gdb 基本使用

这篇文章我们继续学习Linux开发工具。 经过之前学习,我们已经能够Linux上编写代码、运行代码和通过git管理代码了。...但是如何在Linux上调式代码我们还不知道,所以今天要学Linux调试器——gdb 基本使用。 1. 准备工作及知识补充 那要使用调式器调式,首先我们得有代码,有可执行程序。...1.1 源文件和Makefile 所以,先来写一个代码,写一下Makefile 先写一个源文件test.c 然后写一下Makefile 然后我们来编译运行一下: 我们发现报错了 说是...我们说了Linux调式器是gdb,那如何使用gdb调式 如果你机器上没有gdb可以先安装一下:sudo yum install -y gdb 然后调式的话,第一步直接gdb+可执行文件名...实际开发,通常会使用 Debug 配置进行代码开发、调试和测试,以便于快速定位和修复问题。而在准备发布软件时,会切换到 Release 配置,以生成性能更高、体积更小最终可执行文件

21410

1.Win10+VsCodeCCPP编译环境搭建

但是实际上CPP是不建议把字符串常量赋值给非常量字符指针(C语言中不会报错)。同样代码VScode选择clang编译就会出现警告。...VS Code是一个轻量级开源跨平台代码编辑器,可以运行在win,Mac OS以及Linux系统上,为各种常见语言(C/Cpp,Java,C#,Python,Go等)提供丰富扩展生态系统运行平台。...,可能出现问题,是校园网所以没下载下来,如果可以下载的话可以使用这种方式。...这一步文件管理器建立就可以了。 ? 建立.vscode配置文件夹。 VS Code文件管理器中找到新建文件按键。 ? 建立配置文件。..."MIMode": "gdb", // 指定连接调试器,可以gdb或lldb。但目前lldbwindows下没有预编译好版本。

4.6K70

Ubuntu 系统配置 VS Code C++ 开发环境

VS Code 环境配置 VS Code 安装 安装 VS Code VS Code 安装 C/C++ Extension Pack 扩展组件,其他插件会附带安装 同时安装了 C/C++,Code...),可以为每个工作空间配置定制环境,可以配置默认环境。...}” 这样变量,“type”可以改成“shell”,不能任意; “label”是task名称,可以随意,但要与launch.json文件变量“preLaunchTask”设置一致; “command..., 运行调试时,debugger不会在源文件添加断点,设置为true时,调试会在main函数入口处等待。...配置补充 c_cpp_properties.json 想要进行更多配置,例如设置编译器路径、改变C标准等,可以创建一个c_cpp_properties.json文件使用 ctrl+shift+P 打开命令搜索

55310

使用vs2019进行Linux远程开发方法步骤

通常,当我们开发Linux程序时有两种方案: Linux上直接编写程序并进行运行测试和调试 Windows或Mac OS X上借助工具进行远程开发 虽然自己是Linux环境上直接进行开发,但也有许多的人是...Visual Studio跨平台开发功能简介 从visual studio 2017开始微软推出了vs跨平台开发功能,你可以vs编辑代码,随后进行跨平台编译和远程调试,将原先我们需要手动完成工作进行了自动化...vs进行远程开发分为两步: 创建远程环境连接,随后让vs将远程环境系统头文件同步到本地(可以指定其他地方文件,后面会讲解),c++代码补全只需要头文件即可。...随后vs将会在consolegdb或gdbserver运行你程序,在此期间你可以充分享受vs debugger带来高效和便利。 经过上述步骤之后你就可以vs里调试自己编写跨平台程序了。...本地编写和远程调试 至此你已经可以vs编写面向Linux平台代码了,自动补全可以正常工作: ? ? 可以看到Linux文件和结构体都已经可以识别了。

4.1K40

程序员C语言快速上手——环境准备篇(一)

因此,我们采用一种折中更灵活方案,Windows上使用GCC编译器以及一些GNU工具链来模拟LinuxC语言学习体验,这样一来,我们既能使用熟悉Windows系统,能利用GNU工具链来学习...在这里插入图片描述 配置调试环境 实际上不配置调试环境一点不影响我们写代码,但是在学习C语言过程,借助调试功能可以帮助我们形象理解很多概念,而且调试功能对于我们查找BUG等问题非常有帮助。...实际上VS Code编辑器并不具备任何调试功能,调试功能是GNU工具链提供,它在我们之前安装MinGW-W64那个bin文件夹里面,它名字叫gdb.exe,如果大家之前环境配置Ok,那么可以cmd...在这里插入图片描述 如上图,不仅可以用鼠标查看,编辑器左侧面板会显示出当前已经执行过代码变量情况。此时,如想继续往下一执行,直接按一次【F10】代码就会往下再运行一行。 ?...在这里插入图片描述 除了快捷键,可以使用鼠标点击悬浮菜单红框键,它对应【F10】,其他控制键,大家自行探究。 编译代码 如果想直接运行写好代码可以使用鼠标右键菜单运行 ?

91840

Linux从入门到精通(九)——Linux编程

5.2.2 编译阶段 gcc选项,-S,生成.s文件(作用:检查代码规范性、是否有语法错误等,以确定代码实际要做工作,检查无误后,就开始把代码翻译成汇编语言。)...只编译汇编不链接,生成目标文件.o-S只编译不链接,生成汇编代码-E只进行预处理,不做其他处理-g可执行程序包含标准调试信息,加了这个才可以gdb调试文件。...动态库文件: 编译链接时,没有把库文件代码加入到可执行文件执行时候去访问库文件,节省系统开销,生成文件小,后缀一般.so。...6.1 gdb 基本用法 ​ 需要调试程序,在编译时要使用调试选项。默认情况下,调试符号不会编译到程序调试之后,不需要重新编译程序。...gdb [可执行文件名] 出现 (gdb)#这里可以输入调试命令 注意:可执行文件编译时候,必须加入参数-g,才可以使用gdb 6.2 gdb 常用命令 进入gdb调试界面后,可以输入以下命令:

2K30

windows平台中使用vscode远程连接linux进行c++开发配置教程(内容详细适合小白)-2021-3-30

可以windows平台上运行ssh客户端,linux系统运行ssh服务端,从而实现windows到linux 远程连接。...选择远程平台为linux 输入前面配置文件user用户对应登录密码 连接成功之后可以左下角看到连接标识。...最后,设置各个选项具体意义可以vscode官网进行查看,结合选项意义和实际项目需求即可完成设置。...若linux系统未安装gdb,则要先进行安装。左侧主菜单,选择“运行和调试” ,然后点击蓝色按钮,选择“ C ++(GDB / LLDB)”,此时vscode自动打开launch.json文件。...调试时在编辑顶部,将显示一个调试控制面板,可以进行单步、多步调试控制,同时在编辑器左侧会显示局部变量、监视变量和程序调用堆栈等信息。

9K51

LinuxLinux 编译器与调试器 -- gccg++gdb 使用

动态库与静态库 3、gcc/g++ 使用 二、Linux调试器 - gdb 使用 1、debug 和 release 2、gdb 使用 一、Linux编译器 - gcc/g++ 使用 1、程序运行四个阶段...,Linux下其后缀名为 “.a”,Windows下其后缀名为 “.lib”; 动态库被称为共享库,它与静态库相反,在编译链接时并没有把相应文件代码加入到可执行文件,而是程序执行时由运行时链接文件来加载库...,所以运行不了过大可执行程序; 虽然动态链接受函数库变动影响,但是函数库一般很少会变动,即使变动必须兼容以前版本,所以影响不大; Linux下,我们可以使用 “file” 指令来辨识文件类型,...,以 debug 和 release 模式发布程序无论是程序大小、程序内部包含有关调试二进制信息,还是 gdb 模式下是否具有调试样例都是有明显区别的。...2、gdb 使用 当我们指定 -g 得到以 debug 模式发布可执行程序后,我们就可以使用 gdb 对其进行调试了; gdb 安装 Linux下,我们可以使用如下命令来安装 gdb: sudo

1.5K00

Centos编译JDK8源码

代码只有JVM等核心代码是用C/C++编写,一些类库还是Java编写,最后需要编译为class文件,这部分工作需要另外一个JDK来编译;网上说编译8JDK要用1.7用1.8可以编译通过...3.4 开始编译 make CONF=linux-x86_64-normal-server-slowdebug CONF参数是一个编译配置,我们可以配置不同编译参数,如一个用于生产不带调试信息,另一个带调试信息...5、调试 经过上述编译后,我们就可以GDB编译了,开发机GDB版本为9.1。.../build/linux-x86_64-normal-server-slowdebug/jdk/bin/java 运行gdb后设置调试参数: set args Hello 然后设置断点在入口main...函数: break jdk/src/share/bin/main.c:97 接下来就可以开始jdk源代码遨游了。

1.1K10

gdb调试ubuntu环境使用gdb调试一棵四层二叉树数据结构详解

整体思路 在案例使用c语言编写了一个简单四层二叉树进行 GDB 调试练习。这个程序故意在后面引发了一个段错误,导致程序崩溃。文章将使用 GDB 来诊断这个问题。 2....tree3_01 2.3 GDB调试基础 使用GNU调试器(GDB)时,以下是一些常用命令: run (或 r): 启动程序并开始调试。...tree3_01.c:58 指明了出错源文件以及代码所在行数,即在文件 tree3_01.c 第 58 行。...查看指针 ptr 发生段错误之前,可以查看指针 ptr 值,看它是否为 NULL。 p ptr 这个输出表示指针 ptr 值是 0x0,即空指针。...查看核心转储文件 如果程序产生了核心转储文件可以使用 GDB 打开它并查看导致段错误堆栈跟踪信息。

7310

GDB调试还不会?看这篇就够了!

源码查看 Linux使用C/C++进行开发,不了解gdb基本使用,是有点说不过去,网上也有官方GDB教程,或者其他教程,本文是借助实例,介绍了如何使用GDB进行调试。...看完这篇,GDB日常使用就够了。当然,想要获取电子版可以公众号【编程珠玑】后台回复【GDB调试指南】,即可获取PDF版本。...第一种无限制,第二种指定最大产生大小。 调试core文件很简单: gdb 程序文件名 core文件名 具体可参看《linux常用命令-开发调试篇》gdb部分。...step后面可以文件: (gdb)skip file gdbStep.c 这样gdbStep.c函数都不会进入。...这里使用是相对路径,保险起见,你可以使用绝对路径。 更换源码目录 例如,你编译好程序文件,放到了另外一台机器上进行调试,或者你源码文件全都移动到了另外一个目录,怎么办呢?

4.1K21
领券