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

GDB调试程序(二)

http://blog.csdn.net/haoel/article/details/2880 GDB的命令概貌 ——————— 启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了...(gdb) gdb的命令很多,gdb把之分成许多个种类。...在GDB中运行程序 ———————— 当以gdb 方式启动gdb后,gdb会在PATH路径和当前目录中搜索的源文件。...2、先用gdb 关联上源代码,并进行gdb,在gdb中用attach命令来挂接进程的PID。并用detach来取消挂接的进程。...暂停 / 恢复程序运行 ————————— 调试程序中,暂停程序运行是必须的,GDB可以方便地暂停程序的运行。你可以设置程序的在哪行停住,在什么条件下停住,在收到什么信号时停往等等。

97520
您找到你想要的搜索结果了吗?
是的
没有找到

学习GDB

1 简介      GDB(GNU Debugger)是GCC的调试工具。...3 启动GDB 的方法      gdb program      program 也就是你的执行文件,一般在当前目录下。...的值           $4 = 13      你可以使用set var命令来告诉GDB,width不是你GDB的参数,而是程序的变量名,如:           (gdb) set var width...12 显示源代码      GDB 可以打印出所调试程序的源代码,当然,在程序编译时一定要加上 –g 的参数,把源程序信息编译到执行文件中。不然就看不到源程序了。...当程序停下来以后,      GDB会报告程序停在了那个文件的第几行上。你可以用list命令来打印程序的源代码。默认打印10行,还是来看一看查看源代码的GDB命令吧。

1.4K80

用图文带你彻底弄懂GDB调试原理

第一篇文章,就是当前这一篇,主要内容是介绍GDB的底层调试原理,我们来看一下GDB是通过什么机制来控制被调试程序的执行顺序。...二、GDB调试模型 GDB调试包括2个程序:gdb程序和被调试程序。...根据这2个程序是否运行在同一台电脑中,可以把GDB的调试模型分为2种: 本地调试 远程调试 本地调试:调试程序和被调试程序运行在同一台电脑中。 ?...远程调试:调试程序运行在一台电脑中,被调试程序运行在另一台电脑中。 ? 关于可视化调试程序并不是重点,它只是一个用来封装GDB的外壳而已。...tracer就是调试程序,可以理解为gdb程序;tracee就是被调试程序,对应于图中的目标程序test。

4.7K53

原来gdb的底层调试原理这么简单

相信每位嵌入式开发工程师都使用过 gdb调试程序,如果你说没有用过,那只能说明你的开发经历还不够坎坷,还需要继续被 BUG 吊打。 ?...GDB调试模型 GDB 调试包括 2 个程序:gdb 程序和被调试程序。根据这 2 个程序是否运行在同一台电脑中,可以把 GDB 的调试模型分为 2 种:本地调试和远程调试。...本地调试:调试程序和被调试程序运行在同一台电脑中。 ? 远程调试:调试程序运行在一台电脑中,被调试程序运行在另一台电脑中。 ? 关于可视化调试程序并不是重点,它只是一个用来封装 GDB 的外壳而已。...tracer 就是调试程序,可以理解为 gdb 程序;tracee 就是被调试程序,对应于图中的目标程序 test。...test,被调试程序 test 就在 gdb 发来的信号指挥下进行相应的动作。

1.5K40

GDB调试

回车在GDB相当于重复上一个命令。 启动GDB运行程序 运行GDB调试a.out程序有以下几种方式: 方式一:直接运行gdb,然后在gdb中执行“file a.out”加载程序。...方式二:gdb ,命令行给出可执行程序运行,即运行“gdb a.out” 方式三:gdb ,带core文件运行,“gdb a.out /tmp...方式五:对运行中的a.out,可以先按方式二启动,然后在gdb中中心“attach 19475”调试运行中的a.out 进入到GDB后,可以通过help命令来获取帮助,GDB对命令做了分类,要获取详细说明可以查看...通过cd命令可以更改目录,pwd显示当前所在目录 准备就绪后就可以真正开始用GDB调试程序了。...暂停、恢复程序运行 调试程序,首先是要让程序是某些感兴趣的点上停下来,GDB有以下几种方式通知GDB暂停程序的运行:断点、观察点、捕捉点(GDB中这三种都统称为断点breakpoints)、信号、线程停止

2.1K10

GDB高级技巧

GDB高级技巧 yijian 2009-2-22 难得有雅兴,边动手边记录操作步骤,本文主要示例一些平常较少使用到的GDB功能,掌握这些用法有助于提高GDB调试和解决问题的能力。...1) 查看宏 默认情况下,在GDB中是不能查看宏的值及定义的,但通过如下方法,则可以达到目的: 编译源代码时,加上“-g3 -gdwarf-2”选项,请注意不是“-g”,必须为“-g3”,查看宏的值使用命令...使用“rb”命令,如果执行“rb”时不带参数,则表示在所有函数处打一个断点,“rb”后面可以接一个符合正则表达式的参数,用来对符合正则表达式的所有函数打断点 4) .gdbinit文件 GDB在启动时...如果想在命令执行完,再执行某个或某些命令,则: #define hookpost-print echo ----------\n end 7) GDB中循环 GDB支持if/else/while.../loop_break/loop_continue,如: (gdb) set $x=1 (gdb) while $x==1  >p $x  >set $x=0  >p $x  >end -

1.4K10

GDB调试学习

gdb调试 能进行GDB调试,一般在编译过程中,需使用-g参数。如果不使用-g参数,则在gdb调试过程中,将不能得到程序的函数名、变量名等信息,而只能看见运行时内存地址。...c:继续执行被调试程序,直到到下一个断点,或程序整体结束。 b:设置断点,包括以下几种: s:执行一行源程序的代码,如果此行代码中存在函数调用,则进入该函数。...q:退出gdb调试环境。 help [命令名称]:gdb帮助命令,提供对GDB各种命令的解释说明。...如果指定了“命令名称”参数,则显示该命令的详细说明;若果没有指定参数,则分类显示所有GDB命令,共用户进一步浏览和查询。 cd dir:运行GDB,使用dir作为gdb的工作目录。...gdb filename // 其中filename为可执行文件名 gdb filename core // core是程序core dump产生的文件,产生core文件,需设置栈大小无线使用ulimit

1.3K20
领券