zoukankan      html  css  js  c++  java
  • Linux下gdb使用整理记录

    1.创建cpp文件:vim sourcefile.cpp

    2.生成可执行文件:g++ -g sourcefile.cpp -o exename

    ------加上-g参数,才能输出调试信息; -o:指定生成的可执行文件名;-c:指定目标文件名

    3.启动调试:输入gdb进入gdb环境

    4.输入 file exename   (告诉gdb要调试了)

    5.输入 l (list)查看代码,回车重复上一条命令

    -----------------------list 的详细使用-----------------------------

    ----list  linenum  :显示linenum周围几行代码,我line 5 给我显示了1-10行代码

    ----list function   :显示函数function的实现代码

    ----list                :显示当前行后面的代码

    ----list -             :显示当前行前边的代码

    ----set listsize count :默认显示10行,可通过这个命令来更改每次显示的行数

    ----show listsize       :  查看当前listsize的设置。

    ----list  first, last     :显示从first行到last行之间的源代码.

    ----list  , last           :从当前行到last

    ----list +                 : 当前行以后的代码


    一般来说在list后面可以跟以下这们的参数:

    <linenum> 行号。
    <+offset> 当前行号的正偏移量。
    <-offset> 当前行号的负偏移量。
    <filename:linenum> 哪个文件的哪一行。
    <function> 函数名。
    <filename:function> 哪个文件中的哪个函数。
    <*address> 程序运行时的语句在内存中的地址。

    6.断点设置:b main   在main函数入口加一个断点

    -------break  5  :在第5行设置断点; i b  (info break) 查看断点信息  

    7.输入 r (run)开始运行代码到断点处

    8.输入 s  (step)单步进入函数

    9.可以输入 n:单步调试;输入print var (缩写:p var)可以查看变量bar的值

    ------查看堆栈bt,  down和up可一个一个打印堆栈信息。bt直接打印全部堆栈信息。

    10.调试结束,输入c (continue) 运行到结束

    -----或者 q  (quit)退出

    问题:如果代码错了,不能生成可执行文件该如何??

  • 相关阅读:
    IDEA+SpringMVC+Spring+Mybatis
    WSDL详解
    cxf的使用
    cxf使用wsdl文件生成代码
    给你的博客加上“Fork me on Github”彩带(转)
    老毛桃pe装机工具一键还原系统
    老毛桃pe装机工具备份系统
    java项目中classpath路径到底指的是哪里?
    this.class.getClassLoader().getResourceAsStream与this.class.getResourceAsStream
    Eclipse中导入项目后js报错解决方法(转未解决问题)
  • 原文地址:https://www.cnblogs.com/lp3318/p/5628483.html
Copyright © 2011-2022 走看看