This is free software: you are free to change and redistribute it.There is" />
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux系统中如何进行GDB调试

麦辣鸡腿堡 来源:嵌入式Linux充电站 作者:Vincent 2023-10-04 15:52 次阅读

编写代码

#include < stdio.h >

int main(int argc, char **argv)
{
    int i;
    int result = 0;

    if(1 >= argc)
    {
        printf("Helloworld.n");
    }
    printf("Hello World %s!n",argv[1]);

    for(i = 1; i <= 100; i++)  {
        result += i;
    }

    printf("result = %dn", result );

    return 0;
}

编译时加上 -g 参数

gcc helloworld.c -o hellowrld -g

启动调试

$ gdb helloWorld
GNU gdb (GDB) Red Hat Enterprise Linux 8.2-12.el8
Copyright (C) 2018 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 "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
< http://www.gnu.org/software/gdb/bugs/ >.
Find the GDB manual and other documentation resources online at:
    < http://www.gnu.org/software/gdb/documentation/ >.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from helloworld...done.
(gdb) run                  < ----------------------------- 不带参数运行
Starting program: /home/zhuzhg/helloworld
Missing separate debuginfos, use: yum debuginfo-install glibc-2.28-101.el8.x86_64
helloworld.
result = 5050
[Inferior 1 (process 1069013) exited normally]
(gdb) run China            < ----------------------------- 带参数运行
Starting program: /home/zhuzhg/helloworld China
Hello World China!
result = 5050
[Inferior 1 (process 1071086) exited normally]
(gdb)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11219

    浏览量

    208872
  • 调试
    +关注

    关注

    7

    文章

    572

    浏览量

    33892
  • 代码
    +关注

    关注

    30

    文章

    4741

    浏览量

    68323
  • gdb
    gdb
    +关注

    关注

    0

    文章

    60

    浏览量

    13274
收藏 人收藏

    评论

    相关推荐

    使用GDB调试Linux应用程序

    本篇讲解使用GDB调试Linux应用程序,以下以 `hellowld.c` 为例介绍 GDB调试入门。
    发表于 06-27 15:48 447次阅读

    嵌入式LinuxGDB调试环境建立

    嵌入式LinuxGDB调试环境由Host和Target两部分组成,Host端使用arm-linux-gdb,Target Board端使用gdbserver。这样,应
    发表于 04-02 14:33 508次阅读

    嵌入式Linux系统GDB远程调试的实现

    stub是嵌入式系统的一段代码,作为宿主机GDB和目标机调试程序间的一个媒介而存在。 就 目前而言,嵌入式Linux
    发表于 04-02 14:38 402次阅读

    Linux应用的GDB调试的原理及过程分析

    GDB调试是应用程序在开发板上运行,然后在PC机上对开发板上得应用程序进行调试,PC机运行GDB,开发板上运行GDBServer。在应用程序
    发表于 03-05 09:44 3385次阅读
    <b class='flag-5'>Linux</b>应用的<b class='flag-5'>GDB</b><b class='flag-5'>调试</b>的原理及过程分析

    linux编程GDB调试功能

    GDB是一套字符界面的程序集,可以用它在linux调试C和C++程序,它提供了以下的功能:
    的头像 发表于 05-05 23:49 2226次阅读
    <b class='flag-5'>linux</b>编程<b class='flag-5'>GDB</b><b class='flag-5'>调试</b>功能

    嵌入式Linux GDB调试环境搭建与使用

    这里写目录标题简介在Ubuntu下简单体验GDB嵌入式GDB移植GDB 常用命令参考网络通信设置注意事项简介Linux系统常用
    发表于 11-01 17:59 8次下载
    嵌入式<b class='flag-5'>Linux</b> <b class='flag-5'>GDB</b><b class='flag-5'>调试</b>环境搭建与使用

    Linux嵌入式 gdb VSCode图形化调试教程

    文章目录介绍GDB简介交叉编译器的gdb介绍在学习单片机的时候我们可以通过集成式IDE 来进行调试,比如MDK、IAR 等。在嵌入式linux
    发表于 11-02 12:21 15次下载
    <b class='flag-5'>Linux</b>嵌入式 <b class='flag-5'>gdb</b> VSCode图形化<b class='flag-5'>调试</b>教程

    OpenHarmony系统使用gdb调试init

    。如果能使用gdb调试init,会极大的提高定位效率。 本文简单描述了一下L2二次启动的系统如何使用gdb调试init 首先将
    的头像 发表于 12-26 12:10 892次阅读

    嵌入式Linux GDB是什么

    函数、设置断点、查看变量等等,它是 UNIX/LINUX 操作系统下强大的程序调试工具。 gdb 支持多种语言
    的头像 发表于 07-27 16:29 705次阅读
    嵌入式<b class='flag-5'>Linux</b> <b class='flag-5'>GDB</b>是什么

    在ubuntu调试GDB

    的 gcc 编译器即可,注意需要加 -g 选项,才能使用 gdb 调试 arm-linux-gnueabihf-gcc gdbtest .c -o gdbtest -g //编译测试程序,注意-g 选项
    的头像 发表于 07-27 16:31 1019次阅读
    在ubuntu<b class='flag-5'>中</b><b class='flag-5'>调试</b><b class='flag-5'>GDB</b>

    在板子调试GDB的方法

    系统,比如 ubuntu、centos 等,我们可以直接运行 gdb调试程序。但是嵌入式芯片性能一般比较弱,所以直接在嵌入式系统
    的头像 发表于 07-27 16:37 1210次阅读
    在板子<b class='flag-5'>中</b><b class='flag-5'>调试</b><b class='flag-5'>GDB</b>的方法

    GDB调试何进行变量查看

    argc $3 = 1(gdb) print str $4 = 0x4006c8 "Hello World" 查看内存: examine(简写为x)可以用来查看内存地址的值。语法如下: x / [n] [f] [u] addr 其中: 单元类型常见有如下: 示例: (
    的头像 发表于 09-26 16:17 1890次阅读

    GDB调试工具的原理

    了。 1.2 执行中进程调试 如果想对一个已经执行的进程进行调试,那么就要在gdb这个父进程调用ptrace(PTRACE_ATTA
    的头像 发表于 11-09 17:04 881次阅读
    <b class='flag-5'>GDB</b><b class='flag-5'>调试</b>工具的原理

    linuxgdb调试遇到函数调用怎么办?

    。 要顺利进行函数调用的调试,首先需要准备好代码和符号表。在编译代码时,需要加上 `-g` 参数来生成调试信息。这样编译器会在可执行文件嵌入符号表,以供
    的头像 发表于 01-31 10:33 677次阅读

    如何使用linuxgdb调试python程序

    如何使用linuxgdb调试python程序  在Linux下,可以使用GDB(GNU调试
    的头像 发表于 01-31 10:41 2415次阅读