码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • gdb调试知识积累——真·详解


    1、info threads

    命令功能:查看程序的线程数量及其详细信息

    2、sudo gdb attach 进程号

    该命令可以调试目标进程号的程序。常用于多线程程序卡死了,但是不知道卡在了哪里。此时,使用该命令进入gdb,然后再使用1、中的命令查看线程信息,就能够分析个大概了。

    注意使用这个命令的时机。得是程序已经运行起来了,然后你再用这个命令 突然杀进去调试。其实这都是废话,程序不运行起来哪里来的进程号??(注:使用ps -u命令查看进程号)

    第一次见到这个调试方法(指sudo gdb attach 进程号+info threads)是在写微型聊天室项目的时候。当时客户端程序卡死在一个地方,我自己用cout输出打法,试了好长时间,才大致明白问题出在哪了。然后教程上讲了这个方法。其实,本文的1、到4、全都是从这个例子里认识到的。

    3、bt

    命令功能:列出当前线程的调用堆栈。

    什么是线程的调用堆栈?我发现很多博客都写个打印调用堆栈,那啥是调用堆栈,都不解释一下,这和没写有啥区别?

    调用堆栈就是把程序里面函数的调用顺序 列成一个表,最后被调用的函数出现在最上方。bt命令就是列出了这样一张表,表的第一列就是当前线程最后调用的函数。

    用该命令可以一下就找到程序卡死的位置。

    记一篇文章,对bt列出的调用堆栈进行了深入剖析:https://blog.csdn.net/zhg598242449/article/details/7591123

    4、thread Id

    命令功能:切换想要调试的线程。通常在调试多线程程序时使用。

    这里的Id是1、中命令显示的Id并不是系统中真正的线程id,如下图所示:
    在这里插入图片描述注意红框中打了 * 的线程,表示该线程是当前正在调试的线程。使用thread 2命令切换线程后,打 * 的线程也变成了Id为2的线程。

    (还遇到啥比较好用的命令,再接着补充)

  • 相关阅读:
    【期权系列】基于偏度指数的择时分析
    端口号被占用解决办法(超详细)
    【GEE笔记2】遍历循环Reducer/.map
    Java Math toIntExact() 使用方法及示例 long转int
    shiro设置url过滤配置详解
    C语言 函数
    微软出品自动化神器【Playwright+Java】系列(十)元素定位详解
    探花交友_第7章-完善消息功能以及个人主页
    NVMe SSD 学习总结:02 浅析SSD技术基础(掉电保护、U.2 双端口、多命名空间)
    小米路由器青春版R1CL刷入OpenWrt
  • 原文地址:https://blog.csdn.net/m0_51551385/article/details/127442664
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号