码农知识堂 - 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 调试父进程

  • 相关阅读:
    Github每日精选(第73期):Go 的 JSON 解析器gjson
    TCR历史期刊为何受大家欢迎?
    【猿灰灰赠书活动 - 04期】- 【分布式统一大数据虚拟文件系统——Alluxio原理、技术与实践】
    protobuf的复杂结构
    浅谈分布式任务调度系统Celery的设计与实现
    【LeetCode】Day125-最接近的三数之和 & 电话号码的字母组合
    Promise,async,await 面试题
    深度学习技巧总结
    SkyEye Q&A ——第三期
    MySQL(1) 索引结构
  • 原文地址:https://blog.csdn.net/goodgoodstudy___/article/details/126085819
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号