gdb 使用参考
http://kuchaguangjie.iteye.com/blog/913397
对于GUN编译器来说,程序的编译要经历预处理、编译、汇编、连接四个阶段.
在预处理阶段,输入的是C语言的源文件,通常为*.c。它们通常带有.h之类头文件的包含文件。这个阶段主要处理源文件中的#ifdef、 #include和#define命令。该阶段会生成一个中间文件*.i,但实际工作中通常不用专门生成这种文件,因为基本上用不到;若非要生成这种文件不可,可以利用下面的示例命令:
gcc -E test.c -o test.i
在编译阶段,输入的是中间文件*.i,编译后生成汇编语言文件*.s 。这个阶段对应的GCC命令如下所示:
GCC -S test.i -o test.s
在汇编阶段,将输入的汇编文件*.s转换成机器语言*.o。这个阶段对应的GCC命令如下所示:
GCC -c test.s -o test.o
最后,在连接阶段将输入的机器代码文件*.s(与其它的机器代码文件和库文件)汇集成一个可执行的二进制代码文件。这一步骤,可以利用下面的示例命令完成:
GCC test.o -o test
上面介绍了GCC编译过程的四个阶段以及相应的命令。下面简单说明一下gdb
一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点。如:
> cc -g hello.c -o hello
> g++ -g hello.cpp -o hello
如果没有-g,你将看不见程序的函数名、变量名,所代替的全是运行时的内存地址。当你用-g把调试信息加入之后,并成功编译目标代码以后,让我们来看看如何用gdb来调试他。
启动GDB的方法有以下几种:
1、gdb <program>
program也就是你的执行文件,一般在当然目录下。
2、gdb <program> core
用gdb同时调试一个运行程序和core文件,core是程序非法执行后core dump后产生的文件。
3、gdb <program> <PID>
如果你的程序是一个服务程序,那么你可以指定这个服务程序运行时的进程ID。gdb会自动attach上去,并调试他。program应该在PATH环境变量中搜索得到。
关于GDB调试 参考文章 http://blog.csdn.net/haoel/article/details/2879
分享到:
相关推荐
### GDB手册知识点详解 #### 一、GDB简介与手册背景 GNU调试器(GDB)是一款功能强大的源码级调试工具,适用于多种编程语言,包括但不限于C、C++等。该手册针对的是GDB的第六版,版本号为6.8.50.20090706,提供了...
GDB(GNU Debugger)是GNU项目的一个组成部分,是一款强大的源代码级调试器,适用于C、C++、Fortran、Objective-C、Python等语言。这款工具允许程序员在运行代码时检查程序的状态,包括变量值、内存区域、调用堆栈等...
GDB 官方用户手册是 GNU 调试器的一份官方文档,用于帮助用户学习和掌握 GDB 的使用方法和技术。本手册涵盖了 GDB 的基本概念、基本使用方法、调试技术、进阶技术等方面的知识点。 知识点 1: GDB 的基本概念 GDB...
《深入理解GDB:GNU调试器的探索与实践》 GDB,全称为GNU Debugger,是开源社区GNU项目的一部分,专为Unix类操作系统设计的一款强大的源代码级调试工具。无论你是初学者还是经验丰富的开发者,GDB都能提供必要的...
在IT行业中,`gdb`(GNU Debugger)是一款强大的源代码级调试器,用于调试C、C++等语言编译的程序。`dwarf`是编译器在编译过程中生成的一种元数据格式,用于存储关于源代码的信息,如变量、函数、类型等,方便调试...
GDB(GNU Debugger)是GNU项目的一个开源工具,用于调试C、C++和其他语言编写的程序。在给定的压缩包中,包含了两个版本的GDB:`gdb64.exe`和`gdb.exe`。`gdb64.exe`是64位版本的GDB,用于调试64位应用程序,而`gdb....
Linux下GDB的移植 GDB是GNU开放源代码的调试器,广泛应用于Linux系统中。为了在Linux下进行程序调试,需要将GDB移植到目标平台上。本文将详细介绍GDB的移植步骤,包括准备工作、编译ncurses、编译GDB、测试等环节。...
GDB调试手册是一份非常适合初学者的中文资源,它详尽地介绍了如何使用GDB这一强大的开源调试工具。GDB,全称GNU调试器,是Linux和其他类Unix系统下用于调试C、C++、Objective-C、Fortran等语言编写的程序的工具。...
在Ubuntu 20.04操作系统中,GDB(GNU调试器)是一个至关重要的工具,尤其对于软件开发者和系统管理员来说。它是一个源代码级别的调试器,允许用户检查和调试运行中的程序,查找并修复代码错误。这个"ubuntu20.04-gdb...
### GDB调试工具详解 #### 一、GDB概述与特点 **GDB**(GNU Debugger)是由GNU项目提供的一款强大且免费的程序调试工具,主要用于UNIX及其衍生系统(如Linux)上的软件开发。尽管现代集成开发环境(IDE)如Visual ...
GDB(GNU Debugger)是GNU项目的一个组成部分,它是一个强大的源代码级调试器,用于C、C++、Objective-C、Fortran、Ada等语言。在本文中,我们将深入探讨GDB 8.0.1这一特定版本,以及如何在Windows环境下安装和使用...
标题中的“gdb.exe文件”指的是GNU Debugger的可执行文件,它是开源的C、C++以及其他语言的调试工具。在编程过程中,特别是进行低级别调试或优化代码时,GDB是一个不可或缺的工具。它允许程序员设置断点、单步执行...
GDB调试器(gdb-7.0.2)是一款由GNU开源组织提供的强大调试工具,主要用于在UNIX系统以及类似环境中调试C和C++程序。它具有丰富的功能,可以帮助开发者定位并解决代码中的错误,提高软件开发的效率和质量。在Windows...
GDB,全称为GNU调试器(GNU Debugger),是开源社区GNU项目的一部分,是一个强大的命令行工具,用于调试C、C++、Fortran等语言编写的程序。它允许开发者在程序运行时检查和控制程序状态,如查看内存变量、设置断点、...
在Linux开发环境中,GDB(GNU调试器)是进行源码级调试的重要工具,尤其适用于C/C++语言编程。其全称为"The gnu Source-Level Debugger",是GNU项目的一部分。随着版本*.*.*.**的发布,GDB不仅保持了其作为源码级...
GDB(GNU调试器)是Linux环境下用于C、C++等编程语言的开源调试工具,它可以帮助开发者在程序运行过程中检查变量状态、设置断点、单步执行代码,从而定位和修复程序中的错误。以下是对GDB安装的详细步骤解析: 1. *...
GDB(GNU Debugger)是一款强大的源代码级调试器,用于检查和调试C、C++以及许多其他编程语言的程序。GDB-Multiarch是其扩展版本,特别设计用于支持多种架构,包括ARM、RISC和X86等。在GDB-Multiarch 14.2的Windows...
GDB(GNU Debugger)是一个强大的调试工具,能够帮助开发者在C/C++等语言的程序中查找和定位内存泄露的问题。下面将详细介绍如何使用GDB来查找和分析内存泄露。 首先,内存泄露通常发生在动态分配的内存没有被正确...
GDB(GNU Debugger)是一款强大的源代码级调试器,广泛应用于Linux和其他Unix-like操作系统中,用于调试C、C++以及其他支持的编程语言编译出的程序。在这个场景中,我们将聚焦于如何使用GDB来调试基于ARM AArch64...
**GDB使用手册(中文版)** GDB(GNU调试器)是开源世界中最常用的调试器之一,尤其在Linux环境中,它为C、C++、Fortran等编程语言提供了强大的调试支持。本手册将深入介绍如何有效地利用GDB进行程序调试,帮助开发者...