当前位置:Gxlcms > 数据库问题 > linux应用程序设计--GDB调试

linux应用程序设计--GDB调试

时间:2021-07-01 10:21:17 帮助过:25人阅读

一、GDB的使用操作

  1.启动被调试程序。

  2.让被调试的程序在指定的位置停住。

  3.当程序被停住时,可以检查程序状态(如变量值)。

  GDB调试实例:

    1.在linux下编写test.c程序:

技术分享图片
  1. <span style="font-size: 18px; font-family: 楷体"><span style="color: #008080"> 1</span> #include <stdio.h>
  2. <span style="color: #008080"> 2</span>
  3. <span style="color: #008080"> 3</span> <span style="color: #0000ff">int</span><span style="color: #000000"> main()
  4. </span><span style="color: #008080"> 4</span> <span style="color: #000000">{
  5. </span><span style="color: #008080"> 5</span> <span style="color: #0000ff">int</span><span style="color: #000000"> i;
  6. </span><span style="color: #008080"> 6</span> <span style="color: #0000ff">long</span> result = <span style="color: #800080">0</span><span style="color: #000000">;
  7. </span><span style="color: #008080"> 7</span> <span style="color: #0000ff">for</span>(i=<span style="color: #800080">0</span>;i<<span style="color: #800080">100</span>;i++<span style="color: #000000">)
  8. </span><span style="color: #008080"> 8</span> <span style="color: #000000"> {
  9. </span><span style="color: #008080"> 9</span> result +=<span style="color: #000000"> i;
  10. </span><span style="color: #008080">10</span> <span style="color: #000000"> }
  11. </span><span style="color: #008080">11</span> printf(<span style="color: #800000">"</span><span style="color: #800000">result = %d\n</span><span style="color: #800000">"</span><span style="color: #000000">,result);
  12. </span><span style="color: #008080">12</span> <span style="color: #0000ff">return</span> <span style="color: #800080">0</span><span style="color: #000000">;
  13. </span><span style="color: #008080">13</span> }</span>
View Code

    2.编译生成可执行文件(-g 使程序具有调试信息):

    gcc -g test.c -o test

    3.启动GDB(进入GDB模式下):

    gdb test

    4.在main函数处设置断点:

    break main

    5.运行程序(运行到断点处):

    run

    6.单步运行:

    next

    7.继续运行(运行到下一个断点处):

    c

在linux环境下运行结果如图:

技术分享图片

二、GDB常用命令

  1.启动GDB

    1.1.gdb name : 直接打开名为name的调试程序进行GDB调试

    1.2.gdb(进入gdb模式)-->file name(打开名为name的调试程序进行调试)

  2.list(l) : 查看程序,可以显示运行位置后面一段程序,可以根据代码进行断点的设置

  技术分享图片

  3.break(b) name : 在name函数路口处添加断点

  技术分享图片

  4.break(b) num : 在第num行添加断点

  技术分享图片

  5.break(b) filename : num : 在filename文件中的num行添加断点

  技术分享图片

  6.break(b) num if condition : 如果满足条件condition,则在第num行的位置设置断点

  7.info break : 查看程序中所有设置的断点

  技术分享图片

  8.delete num : 删除编号为num的断点

  技术分享图片

  9.run(r) : 开始运行程序

  10. next(n) : 单步运行程序(不进入子函数)

  11.step(s) : 逐步运行程序(进入子函数)

  12.continue(c) : 继续运行程序,到下一个断点

  13.print(p) variable : 查看变量variable的值

  技术分享图片

  14.finish : 运行程序,直到当前函数结束

  15.watch variable : 对变量variable进行监控

  16.quit(q) : 退出GDB模式

linux应用程序设计--GDB调试

标签:i++   hide   图片   cond   执行文件   test   result   info   http   

人气教程排行