一、多进程调试

命令 功能
follow-fork-mode parent 进入父进程。(默认)
child 进入子进程。
datch-on-fork on 调用 fork 之后,未被调试的进程正常运行。(默认)
off 调用 fork 之后,未被调试的进程被阻塞。
info inferiors (null) 查看进程信息。
inferior num 切换到 num 进程。

对于 gdb 来说,指令 datch-on-fork 就是想询问大家 gdb debugger 是否需要与 child fork 分离?分离就意为着 child fork 可以摆脱 gdb 的约束,从而无忧无虑的运行。如果该指令为 on,则 child fork 正常运行即可,否则阻塞。

二、多线程调试

命令 功能
scheduler-locking off 调试本线程时,无论使用 n、s还是 c 指令,其他线程正常运行。(默认)
on 调试本线程时,无论使用 n、s还是 c 指令,其他线程均阻塞。
step

调试本线程时,

使用 n 和 s 时,其他线程阻塞。

使用 c 时,其他线程正常运行。

info threads (null) 查看本进程所有线程的信息。
thread num 切换到编号为 num 线程。该编号是由 gdb 提供的。

对于 gdb 来说,指令 scheduler-locking 就是想询问大家 gdb debugger 是否需要对其他线程的运行加锁?当为 on 时,就实时加锁,off 时为永不加锁,step 时为只在单步下加锁。

(SAW:Game Over!)

命令 / GDB / 多进程调试 + 多线程调试相关推荐

  1. Linux gdb多进程、多线程调试

    目录 常用命令 堆栈相关命令 更为详细的断点调试 gdb多进程调试 gdb多线程调试 前言 gdb 是 linux 平台下进行程序调试的最常用的工具.简单的程序调试就是加断点,然后一步一步让程序运行, ...

  2. Linux gdb调试(4):多进程与多线程调试

    一,gdb的基础知识 1>介绍: gdb是Linux环境下的代码调试工具. 2>使用:需要在源代码生成的时候加上 -g 选项. 3>开始使用: gdb binFile 4>退出 ...

  3. C语言gdb调试之精髓 | gdb调试多线程

    C语言gdb调试之精髓(常用命令.多进程.多线程.程序日志) 起语: 版权声明: C语言技术网原创文章,转载请说明文章的来源.作者和原文的链接. 来源:C语言技术网(www.freecplus.net ...

  4. gdb调试: 多线程-宏-条件断点

    GDB中应该知道的几个调试方法 七.八年前写过一篇<用GDB调试程序>,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题.这么 ...

  5. 利用GDB进行多线程调试

    一.多线程调试 多线程调试重要就是下面几个命令: info thread 查看当前进程的线程. thread <ID> 切换调试的线程为指定ID的线程. break file.c:100 ...

  6. GDB常用调试命令以及多进程多线程调试

    今天把所有的GDB常用的调试命令都过了一遍,尤其是多线程调试.所以先做个总结,以免忘记.以后如果有新的有用的命令会继续追加. 本文地址:(LYanger的博客:http://blog.csdn.net ...

  7. gdb调试多进程和多线程命令 .

    1. 默认设置下,在调试多进程程序时GDB只会调试主进程.但是GDB(>V7.0)支持多进程的 分别以及同时 调试,换句话说,GDB可以同时调试多个程序.只需要设置follow-fork-mod ...

  8. gdb调试多进程和多线程命令

    1. 默认设置下,在调试多进程程序时GDB只会调试主进程.但是GDB(>V7.0)支持多进程的 分别以及同时 调试,换句话说,GDB可以同时调试多个程序.只需要设置follow-fork-mod ...

  9. GDB 调试多进程或者多线程应用

    GDB 是 linux 系统上常用的 c/c++ 调试工具, 功能十分强大. 对于较为复杂的系统, 比如多进程系统, 如何使用 GDB 调试呢? 考虑下面这个三进程系统 : 进程 ProcessChi ...

最新文章

  1. html用vue传递数据,Vue组件及数据传递详解
  2. python最新版本-官方宣布不再维护Python2,并每年发布一个新版本
  3. HDU1226 搜索 bfs xingxing在努力
  4. z-index在IE中的迷惑
  5. 建设开发者生态:6项华为API管理原则落地
  6. 在modelarts上部署backend为TensorFlow的keras模型
  7. linux僵尸进程理解,聊聊Linux系统中的僵尸进程
  8. 第一次申请去美国面签,需要注意哪些事项提高成功率?
  9. Python数据分析第二周总结
  10. LabVIEW以太网仪器控制
  11. 凤凰系统运行linux,凤凰系统率先升级内核到Linux4.9,支持更多新硬件
  12. matlab随机抽样模拟,随机抽样一致性算法(matlab)
  13. freeswitch简介
  14. SolidWorks 2010 SP0.0 最新下载+序列号 注册机及方法
  15. ESP8266获取B站粉丝数
  16. 简单聊聊为什么说外包不好?
  17. perl data::dumper 模块使用
  18. 假如有这样一种生活……
  19. C++,OpenCV 中template(模板)的简单理解
  20. python学习笔记3

热门文章

  1. UIView CALayer
  2. dubbo源码分析系列——dubbo-cluster模块源码分析
  3. Oracle EBS-SQL (QA-1):检查超出检验周期的检验数据.sql
  4. PlateSpin forge V2P回推步骤。
  5. 检正email的格式
  6. 2020 操作系统第二天复习(习题总结)
  7. SpringBatch tasklet实现和用法(十)
  8. golang map的定义语法
  9. sonarqube启动报错解决办法:Process exited with exit value [es]: 143
  10. Spark集群搭建+基于zookeeper实现高可用HA