码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • gdb调试简要总结


    说明:源自牛客网

    GDB调试:gdb调试的是可执行文件,在gcc编译时加入 -g ,告诉gcc在编译时加入调试信息,这样gdb才能调试这个被编译的文件 gcc -g tesst.c -o test

    ps: gcc和g++命令的区别,gcc一般用于.c文件,g++一般用于.cpp文件,如果把gcc编译用于.cpp文件一般会显示找不到c++的一些库的报错
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    对于上述命令的说明:

    1.list

    list 5,10:显示5到10行的代码
    list 10: 以10为中心显示上下文的代码,一般显示的listsize限制为10,所以显示5-14行的代码(?)
    list test.c:5, 10: 显示test.c源文件5到10行的代码,在调试多个文件时使用
    list get_sum: 显示get_sum函数周围的代码
    list test.c:get_sum: 显示源文件get_sum函数周围的代码,在调试多个文件时使用

    例子:g++ sort.cpp main.cpp -o main -g
    此时gdb list 10默认显示main.cpp第10行的上下文,除非gdb list sort.cpp:10 才会显示 sort.cpp第10行中的上下文。

    2. show list/listsize

    默认每次显示的行数

    3.set list/listsize 行数

    修改默认每次显示的行数

    4. help

    help list/all:查看帮助信息

    5.break

    break:设置断点

    break 7:在第七行设置断点

    break get_sum:以函数名设置断点

    break 行号或者函数名 if 条件:以条件表达式设置断点

    6.watch

    watch 条件表达式:条件表达式发生改变时程序就会停下来

    7.next\step

    next:继续执行下一条语句 ,会把函数当作一条语句执行

    step:继续执行下一条语句,会跟踪进入函数,一次一条的执行函数内的代码

    8.条件断点:break if 条件 以条件表达式设置断点

    9.多进程下如何调试

    用set follow-fork-mode child 调试子进程

    ​或者set follow-fork-mode parent 调试父进程

  • 相关阅读:
    Thinkphp使用composer安装扩展包教程
    内存分配malloc和free
    verdi fsdb转vcd波形:用于后端功耗分析
    大模型应用开发:为产品创建一个AI客服/智能助手
    『无为则无心』Python面向对象 — 58、类方法和静态方法
    python命名空间详解
    Android流媒体开发之路二:NDK C++开发Android端RTMP直播推流程序
    时间复杂度和空间复杂度(以题目的方式来介绍和分析)
    strlen函数使用与模拟实现【进阶版】
    ucontext的简单介绍
  • 原文地址:https://blog.csdn.net/goodgoodstudy___/article/details/126085819
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号