zoukankan      html  css  js  c++  java
  • gdb调试工具常用命令

    编译程序时需要加上-g,之后才能用gdb进行调试:gcc -g main.c -o main

    gdb中命令:

    回车键:重复上一命令

    (gdb)help:查看命令帮助,具体命令查询在gdb中输入help + 命令,简写h

    (gdb)run:重新开始运行文件(run-text:加载文本文件,run-bin:加载二进制文件),简写r

    (gdb)start:单步执行,运行程序,停在第一执行语句

    (gdb)list:查看原代码(list-n,从第n行开始查看代码。list+ 函数名:查看具体函数),简写l

    (gdb)set:设置变量的值

    (gdb)next:单步调试(逐过程,函数直接执行),简写n

    (gdb)step:单步调试(逐语句:跳入自定义函数内部执行),简写s

    (gdb)backtrace:查看函数的调用的栈帧和层级关系,简写bt

    (gdb)frame:切换函数的栈帧,简写f

    (gdb)info:查看函数内部局部变量的数值,简写i

    (gdb)finish:结束当前函数,返回到函数调用点

    (gdb)continue:继续运行,简写c

    (gdb)print:打印值及地址,简写p

    (gdb)quit:退出gdb,简写q

    (gdb)break+num:在第num行设置断点,简写b

    (gdb)info breakpoints:查看当前设置的所有断点

    (gdb)delete breakpoints num:删除第num个断点,简写d

    (gdb)display:追踪查看具体变量值

    (gdb)undisplay:取消追踪观察变量

    (gdb)watch:被设置观察点的变量发生修改时,打印显示

    (gdb)i watch:显示观察点

    (gdb)enable breakpoints:启用断点

    (gdb)disable breakpoints:禁用断点

    (gdb)x:查看内存x/20xw 显示20个单元,16进制,4字节每单元

    (gdb)run argv[1] argv[2]:调试时命令行传参

    (gdb)set follow-fork-mode child#Makefile项目管理:选择跟踪父子进程(fork())

       core文件:先用$ ulimit -c 1024 开启core,当程序出错会自动生成core文件。调试时 gdb a.out core

    ctrl+c:退出输入

  • 相关阅读:
    c++ 文本处理
    c++ 汇编代码看内存分配
    c++ Message与Folder 拷贝 析构(没有动态空间的类)
    c++ StrVec等效vector(string)的类
    c++ istream_iterator ostream_iterator
    c++ 子类与父类之间的类型转换
    android中的空格表示
    ViewPager实现每隔两秒自动切换图片
    有关Android ListView根据项数的大小自动改变高度问题
    Android strings.xml中空格符的标识方法附xml特殊字符表示法
  • 原文地址:https://www.cnblogs.com/tangtangde12580/p/8045980.html
Copyright © 2011-2022 走看看