zoukankan      html  css  js  c++  java
  • Ubuntu

    gcc -g -o test test.c

    gdb 或 gdb ./test

    (gdb) file ./test

    (gdb) r

    Hello, World!

    ----------

    调试代码:

    run(r):运行代码

    next(n):单步跟踪,函数调用当作一条简单语句执行

    step(s):单步跟踪,函数进入被调用函数体内

    finish : 退出进入的函数

    until(u):退出一个循环体

    continue(c):继续运行程序

    查看运行时数据

    print(p):打印变量、字符串、表达式等直

    ----------

    设置断电

    break(b)行号:设断点

    b 函数名

    i b :查看断电信息

    whatis  内容:打印内容

    d  编号:删除编号处(不是行号)的断点

    b 行号 if i==9:设置条件断点

    bt:打印栈帧信息

    找不到源代码,可使用list

    若使用list命令无效,记住gdb的调试信息中并不包含源代码,

    这个需要通过directory命令实现,由于某中原因,源代码移动

    位置,则需要告诉gdb,gdb就会根据指定的路进查找,查看gdb

    的查找路径:

    show directories

    dir dirname1:dirname2:dirname3

    有时使用-g没有调试信息,可改成

    -gstabs试一试,若还是不太理想,可使用

    -gstabs+

    list(l)行号:显示行号

    l :从main函数开始

    l 函数名

  • 相关阅读:
    从TCP三次握手说起——浅析TCP协议中的疑难杂症
    动态绑定是如何实现的?
    C++对象的内存模型
    C/C++关键字
    libevent库介绍--事件和数据缓冲
    libevent编程疑难解答
    大型工程多个目录下的Makefile写法
    C++中的RAII机制
    C++中的智能指针
    二叉树的非递归遍历
  • 原文地址:https://www.cnblogs.com/gwzz/p/13376878.html
Copyright © 2011-2022 走看看