设为首页 加入收藏

TOP

Linux编程基础详细教程
2017-12-06 17:35:55 】 浏览:188
Tags:Linux 编程 基础 详细 教程

调试是开发过程中一项不可或缺的工作,在Linux编程中,通常使用gdb来调试我们的c/c++程序,由于gdb可介绍的东西比较多,这里将分几篇文章介绍。


前期准备


在程序编译的时候,函数名、变量名会被相应的内存地址所代替,但这些内存地址对于我们来说是不可读的。我们往往需要需要根据函数名、变量名来查找实际的地址,从而读取其值。


为了方便调试,gcc增加了一个-g参数,在编译的时候可以在程序集中添加相应的符号信息。


    gcc -g hello.c -o hello


启动GDB


启动GDB的方法有以下几种:


这些方式实际上也可以自由组合使用。例如,我们也可以先通过gdb <program>关联程序,然后通过attach <pid>的方式调试当前正在运行的进程。


GDB环境简介


首先介绍下GDB环境,GDB也是一个Shell式的交互环境,在GDB中,可以进程看到其提示符:(gdb)


    (gdb) break


在gdb中,也想VS那样有一定的智能提示功能,具体如下:


例如,设置断点的命令是break,可以直接输入b;也可以输入b后敲两次Tab键以查询所有b开头的命令(只有一个的话可以直接补全):


    (gdb) b
    backtrace bookmark break break-range bt


这个智能提示也可以使用于在设置断点时候自动联想函数名称,例如,我们要对main函数设置断点,当输入b mai后敲Tab键,会自动补全为main


    (gdb) b main


另外,也可以通过help <command>命令查看不熟悉的命令的帮助信息,类似于shell下的man,非常方便。


退出GDB


退出gdb的方式比较简单,直接在Shell下输入q(quit)命令就可以了:


    (gdb) q
    tianfang >


由于篇幅所限,本文暂且介绍到这里,下篇文章主要介绍如何设置断点。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Mybatis的搭建和Spring注入方式 下一篇Java 实现将两个有序数组合成为一..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目