当前位置:   article > 正文

GDB调试常用代码汇总_gdb显示代码

gdb显示代码

#gdb常用代码汇总:
(整理的有点乱,勿喷)
gdb调试:如果需要使用gdb调试程序,请在gcc时加上-g选项
1)进入GDB  #gdb test
  test是要调试的程序,由gcc test.c -g -o test生成。进入后提示符变为(gdb) 。
2)查看源码  (gdb) l
  源码会进行行号提示。
  如果需要查看在其他文件中定义的函数,在l后加上函数名即可定位到这个函数的定义及查看附近的其他源码。或者:使用断点或单步运行,到某个函数处使用s进入这个函数。
3)设置断点  (gdb) b 6
  这样会在运行到源码第6行时停止,可以查看变量的值、堆栈情况等;这个行号是gdb的行号。
 4)查看断点处情况  (gdb) info b
  可以键入"info b"来查看断点处情况,可以设置多个断点;
5)运行代码  (gdb) r
6)显示变量值  (gdb) p n
  在程序暂停时,键入"p 变量名"(print)即可;
  GDB在显示变量值时都会在对应值之前加上" N " 标记,它是当前变量值的引用标记,以后若想再次引用此变量,就可以直接写作 " N"标记,它是当前变量值的引用标记,以后若想再次引用此变量,就可以直接写作" N"标记,它是当前变量值的引用标记,以后若想再次引用此变量,就可以直接写作"N",而无需写冗长的变量名;
7)观察变量  (gdb) watch n
 在某一循环处,往往希望能够观察一个变量的变化情况,这时就可以键入命令"watch"来观察变量的变化情况,GDB在"n"设置了观察点;
8)单步运行  (gdb) n
9)程序继续运行  (gdb) c
  使程序继续往下运行,直到再次遇到断点或程序结束;
10)退出GDB  (gdb) q
11)修改变量的值 set var
12) set args 可指定运行时参数。(如:set args 10 20 30 40 50)
13)clear + 要清除的断点行号 clear 10 用于清除对应行的断点,要给出断点的行号,清除时GDB会给出提示.
调试命令 (缩写) 作用
(gdb) break (b) 在源代码指定的某一行设置断点,其中xxx用于指定具体打断点位置
(gdb) run (r) 执行被调试的程序,其会自动在第一个断点处暂停执行。
(gdb) continue (c) 当程序在某一断点处停止后,用该指令可以继续执行,直至遇到断点或者程序结束。
(gdb) next (n) 令程序一行代码一行代码的执行。
(gdb) step(s) 如果有调用函数,进入调用的函数内部;否则,和 next 命令的功能一样。
(gdb) until (u)
(gdb) until (u) location 当你厌倦了在一个循环体内单步跟踪时,单纯使用 until 命令,可以运行程序直到退出循环体。
until n 命令中,n 为某一行代码的行号,该命令会使程序运行至第 n 行代码处停止。
(gdb) print (p) 打印指定变量的值,其中 xxx 指的就是某一变量名。
(gdb) list (l) 显示源程序代码的内容,包括各行代码所在的行号。
(gdb) finish(fi) 结束当前正在执行的函数,并在跳出函数后暂停程序的执行。
(gdb) jump(j) 使程序从当前要执行的代码处,直接跳转到指定位置处继续执行后续的代码。
(gdb) quit (q) 终止调试。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/742379
推荐阅读
相关标签
  

闽ICP备14008679号