程序调试利器GDB使用指南

作者:京东科技孙晓军

1.GDB介绍

GDB是GNUDebugger的简称,其作用是可以在程序运行时,检测程序正在做些什么。GDB程序自身是使用C和C++程序编写的,但可以支持除C和C++之外很多编程语言的调试。GDB原生支持调试的语言包含:

?C

?C++

?D

?Go

?Object-C

?OpenCLC

?Fortran

?Pascal

?Rust

?Modula-2

?Ada

此外,通过扩展GDB,也可以用来调试Python语言。

使用GDB,我们可以方便地进行如下任务:

?如果程序崩溃后产生了coredump文件,gdb可以通过分析coredump文件,找出程序crash的位置,调用堆栈等用于找出问题原因的关键信息

?在程序运行时,GDB可以检测当前程序正在做什么事情

?在程序运行时,修改变量的值

?可以使程序在特定条件下中断

?监视内存地址变动

?分析程序Crash后的core文件

GDB是了解三方中间件,无源码程序,解决程序疑难杂症的利器。使用GDB,可以了解程序在运行时的方方面面。尤其对于在测试(Test),集成(SIT),验收(UAT),预发布(Staging)等环境下的问题调查和解决,GDB有着日志无法比拟的优势。此外,GDB还非常适合对多种开发语言混合的程序进行调试。

GDB不适合用来做什么:

?GDB可以用来辅助调试内存泄露问题,但GDB不能用于内存泄露检测

?GDB可以用来辅助程序性能调优,但GDB不能用于程序性能问题分析

?GDB不是编译器,不能运行有编译问题的程序,也不能用来调试编译问题

2.安装GDB

2.1.从已发布的二进制包安装

在基于Debian的Linux系统,可以使用apt-get命令方便地安装GDB

apt-getupdateapt-getinstallgdb

2.2.从源代码安装

前置条件

#安装必要的编译工具apt-getinstallbuild-essential

首先,我们需要下载GDB的源码。


转载请注明:http://www.aierlanlan.com/cyrz/6852.html