0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux系统GDB单步调试

麦辣鸡腿堡 来源:嵌入式Linux充电站 作者:Vincent 2023-09-26 16:22 次阅读

单步调试

gdbhelloworld<------------------------------- 加载程序

(gdb)breakhelloworld.c:18<------------------------------- 设置断点

(gdb)run<------------------------------- 启动调试

Theprogrambeingdebuggedhasbeenstartedalready.

Startitfromthebeginning?(yorn)y

Startingprogram:/home/book/helloworld

HelleoWorld.

Breakpoint2,main(argc=1,argv=0x7fffffffdca8)athelloworld.c:18<-------- 程序在 18 行暂停

18result+=i;

Breakpoint2,main(argc=1,argv=0x7fffffffdca8)athelloworld.c:18

18result+=i;

(gdb)next<--------  单步执行

17for(i=1;i<= 100; i++)  {

Breakpoint2,main(argc=1,argv=0x7fffffffdca8)athelloworld.c:18

18result+=i;

(gdb)next2<--------  执行两次

Breakpoint2,main(argc=1,argv=0x7fffffffdca8)athelloworld.c:18

18result+=i;

断点继续-continue:

continue命令(可简写为c),它会继续执行程序,直到再次遇到断点处。

单步进入-step:

如果我们想跟踪函数内部的情况,可以使用step命令(可简写为s),它可以单步跟踪到函数内部,但前提是该函数有调试信息并且有源码信息。

单步执行-next:

next命令(可简写为n)用于在程序断住后,继续执行下一条语句,假设已经启动调试,并在第12行停住,如果要继续执行,则使用n执行下一条语句,如果后面跟上数字num,则表示执行该命令num次,就达到继续执行n行的效果了:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10992

    浏览量

    206744
  • 调试
    +关注

    关注

    7

    文章

    527

    浏览量

    33625
  • gdb
    gdb
    +关注

    关注

    0

    文章

    60

    浏览量

    13162
  • 系统
    +关注

    关注

    1

    文章

    981

    浏览量

    21036
收藏 人收藏

    评论

    相关推荐

    使用GDB调试Linux应用程序

    本篇讲解使用GDB调试Linux应用程序,以下以 `hellowld.c` 为例介绍 GDB调试入门。
    发表于 06-27 15:48 338次阅读

    为什么我的protues无法单步调试

    为什么我的protues无法单步调试单步的时候就出现这个,但是程序却在运行
    发表于 10-24 19:24

    关于MDK 5.1的单步调试问题?

    最近安装了MDK5.1,不过单步调试的时候一条语句要单步好几次!观察汇编窗口,原来是在单步每条汇编语句,怎么设置成单步每条C语句的?
    发表于 09-29 11:55

    ADUC7061不能单步调试

    是0X7FFF, 如果下载程序下去, 关电再加电源, 运行通过LCD显示满量程值是24位的,也就是0x3FFFFF; 这导致我没办法单步调试, 因为单步调试从ADC读出来的值是16位的结果, 而正常运行
    发表于 12-28 09:24

    请问用Jink怎么进行单步调试

    求教,用Jink怎么进行单步调试,我该看哪些地方的哪些值??谢谢大家,如果有图更好,嘿嘿……
    发表于 03-17 01:50

    GDB调试利器的相关资料分享

    1. GDB调试利器1.1. GDB简介在单片机开发中,KEIL、IAR、ADS1.2等集成开发环境下的调试工具对程序开发有很大的帮助, 尤其是出现各种疑难杂症的bug时,往往只能通过
    发表于 11-03 08:25

    怎样使用arm-none-eabi-gdb单步调试得到分区结果呢

    使用arm-none-eabi-gcc编译器编译,使用arm-none-eabi-gdb单步调试,得到分区结果如下:#include #include #include float Num
    发表于 02-28 06:57

    嵌入式LinuxGDB调试环境建立

    嵌入式LinuxGDB调试环境由Host和Target两部分组成,Host端使用arm-linux-gdb,Target Board端使用gdbserver。这样,应
    发表于 04-02 14:33 396次阅读

    嵌入式Linux系统GDB远程调试的实现

    stub是嵌入式系统中的一段代码,作为宿主机GDB和目标机调试程序间的一个媒介而存在。 就 目前而言,嵌入式Linux系统中,主要有三种远程
    发表于 04-02 14:38 333次阅读

    嵌入式Linux GDB调试环境搭建与使用

    这里写目录标题简介在Ubuntu下简单体验GDB嵌入式GDB移植GDB 常用命令参考网络通信设置注意事项简介Linux系统常用
    发表于 11-01 17:59 8次下载
    嵌入式<b class='flag-5'>Linux</b> <b class='flag-5'>GDB</b><b class='flag-5'>调试</b>环境搭建与使用

    【嵌入式Linux学习】调试利器之GDB快速入门指南

    1. GDB调试利器1.1. GDB简介在单片机开发中,KEIL、IAR、ADS1.2等集成开发环境下的调试工具对程序开发有很大的帮助, 尤其是出现各种疑难杂症的bug时,往往只能通过
    发表于 11-02 14:06 12次下载
    【嵌入式<b class='flag-5'>Linux</b>学习】<b class='flag-5'>调试</b>利器之<b class='flag-5'>GDB</b>快速入门指南

    代码单步调试失联原因及解决方法

    不知道你是否有这样的体验:代码单步调试,调着调着,出现了下面的提示框。
    的头像 发表于 07-04 16:40 1145次阅读

    ARM平台如何玩转GDB远程调试

    前言关于GDB工具GDB工具是GNU项目调试器,基于命令行使用。和其他的调试器一样,可使用GDB工具单步
    的头像 发表于 09-28 18:17 652次阅读
    ARM平台如何玩转<b class='flag-5'>GDB</b>远程<b class='flag-5'>调试</b>?

    嵌入式Linux GDB是什么

    函数、设置断点、查看变量等等,它是 UNIX/LINUX 操作系统下强大的程序调试工具。 gdb 支持多种语言
    的头像 发表于 07-27 16:29 457次阅读
    嵌入式<b class='flag-5'>Linux</b> <b class='flag-5'>GDB</b>是什么

    如何使用linuxgdb调试python程序

    如何使用linuxgdb调试python程序  在Linux下,可以使用GDB(GNU调试
    的头像 发表于 01-31 10:41 474次阅读