`
deepfuture
  • 浏览: 4428811 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80292
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70785
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103941
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:287422
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15120
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:68272
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32527
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:46244
社区版块
存档分类
最新评论

linux-c/c++调试利器gdb、ddd小试

阅读更多

一、gdb,在shell窗口调试

main.c内容:

main.c

#include <stdio.h>

int main() 

{

int y=0;

for (int i=0;i<10;i++){

   y+=i;

}

return 0;

}

深未来技术原创文章,如转载,请注明来源http://deepfuture.iteye.com/ 

编译:

 

deepfuture@deepfuture-desktop:~/test$ gcc -ggdb -std=c99 -o main main.c

 

启动gdb

1、gdb 执行文件名

 

deepfuture@deepfuture-desktop:~/test$ gdb main

GNU gdb (GDB) 7.1-ubuntu

Copyright (C) 2010 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.  Type "show copying"

and "show warranty" for details.

This GDB was configured as "i486-linux-gnu".

For bug reporting instructions, please see:

<http://www.gnu.org/software/gdb/bugs/>...

Reading symbols from /home/deepfuture/test/main...done.

2、list为列出源代码

(gdb) list

1

2 #include <stdio.h>

3 int main() 

4 {

5 int y=0;

6 for (int i=0;i<10;i++){

7   y+=i;

8 }

9 return 0;

10 }

3、运行
(gdb) run
Starting program: /home/deepfuture/test/main 

Program exited normally.
4、退出gdb
(gdb) quit
5、启动gdb后,再设置要加载的文件
(gdb) file main
Reading symbols from /home/deepfuture/test/main...done.

6、设置断点,,使用break行号

(gdb) list
warning: Source file is more recent than executable.
1
2 #include <stdio.h>
3 int main() 
4 {
5 int y=0;
6 for (int i=0;i<10;i++){
7   y+=i;
8 }
9 return 0;
10 }

(gdb) break 7
Breakpoint 1 at 0x80483ca: file main.c, line 7.

7、运行,run
(gdb) run
Starting program: /home/deepfuture/test/main 

Breakpoint 1, main () at main.c:7
7   y+=i;
8、离开这个断点,继续运行
(gdb) c
Continuing.
9、监视变量
(gdb) watch y
Hardware watchpoint 2: y
10、检查变量变化
(gdb) c
Continuing.
Hardware watchpoint 2: y

Old value = 1
New value = 3
main () at main.c:6
6 for (int i=0;i<10;i++){
(gdb) c
Continuing.

Breakpoint 1, main () at main.c:7
7   y+=i;
(gdb) c
Continuing.
Hardware watchpoint 2: y

Old value = 3
New value = 6
main () at main.c:6
6 for (int i=0;i<10;i++){


二、ddd,使用
可以在选择行或某变量后,watch,break等按钮,很方便
右中部的面板是一些流程调试

 图形方式调试





 


  • 大小: 21.2 KB
1
0
分享到:
评论

相关推荐

    Linux GDB C/C++调试基础与提升课程

    分享一套课程——Linux GDB C/C++调试基础与提升视频课程,提供源码+PPT下载。

    aarch64-linux-android-gdb.zip

    开发者可以利用它来调试本地C/C++代码,这对于处理性能关键的模块或者系统级问题尤其有用。 四、设置与使用 1. 安装与配置:首先,你需要将`aarch64-linux-android-gdb`解压并添加到PATH环境变量中,确保可以命令行...

    ubuntu 20.04 下安装arm-linux-gnueabi和编译对应的GDB.docx

    在Ubuntu 20.04系统中,针对ARM架构的交叉编译工具链通常用于...总之,安装和配置`arm-linux-gnueabi`交叉编译工具链及GDB,是开发和调试ARM设备应用的重要步骤。理解这些过程对于进行跨平台的嵌入式开发工作至关重要。

    aarch64-linux-android-gdb

    aarch64-linux-android-gdb 可调试arm64位内核的工具,目前自己测试可用

    C/C++调试器

    常见的C/C++调试器有GDB(GNU Debugger)、Visual Studio的调试器、LLDB等。这些工具通过与编译器协作,利用调试信息来理解源代码和生成的机器码之间的关系,从而提供交互式的调试环境。 ollydbg是一款著名的...

    Linux GDB C/C++调试基础与提升

    Linux GDB C/C++调试基础与提升视频教程分享,视频+源码+PPT下载 一、gdb的概述 gdb是GNU开源组织发布的一个强大的UNIX下的程序调试工具。 二、gdb的使用场景 启动你的程序,可以按照你的自定义的要求随心所欲的...

    linux - gcc/ gdb/ make 手册

    GDB是用于调试C、C++等语言程序的强大工具,它允许开发者在运行时检查程序状态,设置断点,单步执行,查看变量值,跟踪调用堆栈等。`gdb.pdf`手册可能包含以下主题: 1. GDB的安装和启动 2. 创建和使用调试会话,...

    linux c/c++ gdb浅析

    GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。对于习惯了图形界面方式的开发者,如...对于Linux新手而言,通过C/C++语言的程序作为示例,使用GDB进行调试操作,可以更好地理解程序的运行机制和调试过程。

    linux c/c++ gdb调试手册

    ### Linux C/C++ GDB调试手册知识点概览 #### GDB概述 - **定义与功能**:GDB(GNU Debugger)是由GNU项目开发的一款强大的调试工具,主要用于在UNIX及类UNIX系统(如Linux)上进行程序调试。它支持C、C++等多种...

    aarch64-linux-gnu-gdb

    官网下载最新的aarch64 gdb调试工具压缩包,有需要的可以看下

    arm-linux-gnueabihf-gdb-8.2_Ubuntu16.04.tar.gz

    首先,arm-linux-gnueabihf-gdb是GDB(GNU调试器)的一个变体,专为ARM架构下的Linux系统设计,具备了标准GDB的所有功能,包括源代码级调试、断点设置、变量查看、调用堆栈分析等。其中,“gnueabihf”表示该工具链...

    CN-GDB,Linux上基于GDB-7.11的BANG-C源代码级调试器。-C/C++开发

    CAMBRICON CN-GDB这是CN-GDB,Linux上的BANG-C源代码级调试器,基于GNU-7.11(GNU源代码级调试器)。 有关gdb的更多信息,请参阅此文件夹中的README文件或检查GDB hom。CAMBRICON CN-GDB这是CN-GDB,Linux上的BANG-C...

    制作GDB和GDBServer,arm-linux-gdb.pdf

    在嵌入式Linux开发中,调试工具的重要性不言而喻,GDB(GNU Debugger)和GDBServer是其中的关键组件。GDB用于本地调试,而GDBServer则允许远程调试,尤其适用于在目标硬件上运行的嵌入式系统。本文将详细介绍如何...

    vs code配置C/C++调试器和编译器json文件

    vs code配置C/C++调试器和编译器json文件

    (免费下载)Dev-C++ 6.5 安装包 - C++/C语言/编辑器

    集合了功能强大的源码编辑器、MingW64 / TDM-GCC 编译器、GDB 调试器和 AStyle 格式整理器等众多自由软件,适合于在教学中供 C / C++语言初学者学习使用,也适合于非商业级普通开发者使用。开发环境包括多页面窗口、...

    (免费下载)Dev-C++ 5.9.2 安装包 - C++/C语言/编辑器

    集合了功能强大的源码编辑器、MingW64 / TDM-GCC 编译器、GDB 调试器和 AStyle 格式整理器等众多自由软件,适合于在教学中供 C / C++语言初学者学习使用,也适合于非商业级普通开发者使用。开发环境包括多页面窗口、...

    arm-linux-gnueabihf-gdb-8.2.tar.gz

    `arm-linux-gnueabihf-gdb`是这样一个专门用于调试ARM架构Linux系统上的程序的GNU调试器。本文将详细解析其功能、应用以及与`arm-linux-gnueabihf`交叉编译环境的关系。 首先,`arm-linux-gnueabihf`是针对ARM架构...

    Linux-c-gdb调试.pdf

    Linux-c-gdb调试.pdf 学习Linux编写C语言的资料

    C/C++ DevTools Support (DWARF)

    C/C++ DevTools Support (DWARF) 是一套专门针对C和C++开发工具的增强支持,它利用了DWARF调试信息格式来提供更高效、详细的调试体验。DWARF是一种广泛使用的二进制文件调试标准,尤其在编译器、链接器和调试器之间...

Global site tag (gtag.js) - Google Analytics