gdb调试命令
step和next的区别?
当前line有函数调用的时候,next会直接执行到下一句 ,step会进入函数.

查看内存
(gdb)p &a //打印变量地址

gdb)x 0xbffff543 //查看内存单元内变量

0xbffff543: 0x12345678

(gdb) x /4xb 0xbffff543 //单字节查看4个内存单元变量的值

0xbffff543: 0x78 0x56 0x34 0x12

多线程调试
(gdb) info threads:查看GDB当前调试的程序的各个线程的相关信息

(gdb) thread threadno:切换当前线程到由threadno指定的线程

break filename:linenum thread all 在所有线程相应行设置断点,注意如果主线程不会执行到该行,并且启动all-stop模式,主线程执行n或s会切换过去

set scheduler-locking off|on\step 默认off,执行s或c其它线程也同步执行。on,只有当前相称执行。step,只有当前线程执行

show scheduler-locking 显示当前模式

thread apply all command 每个线程执行同意命令,如bt。或者thread apply 1 3 bt,即线程1,3执行bt。

查看调用堆栈
(gdb)bt

(gdb)f 1 帧简略信息

(gdb)info f 1 帧详细信息

断点
b test.cpp:11

b test.cpp:main

gdb attach 调试方法:

gdb->file xxxx->attach pid->这时候进程是停止的->c 继续运行

带参数调试
输入参数命令set args 后面加上程序所要用的参数,注意,不再带有程序名,直接加参数,如:

(gdb)set args -l a -C abc

list命令
list linenum  显示程序第linenum行的周围的程序

list function  显示程序名为function的函数的源程序

GDB多线程调试常用命令相关推荐

  1. 调试多线程 查死锁的bug gcore命令 gdb对多线程的调试 gcore pstack 调试常用命令...

    gdb thread apply all bt 如果你发现有那么几个栈停在 pthread_wait 或者类似调用上,大致就可以得出结论:就是它们几个儿女情长,耽误了整个进程. 注意gdb的版本要高于 ...

  2. Windows下 网络调试常用命令

    网络调试常用命令 Windows提供了一组实用程序来实现简单的网络配置和管理功能,这些实用程序通常以Dos命令的形式出现.用键盘命令来显示和改变网络配置,感觉像直接操纵硬件一样,不但简单方便,而且效果 ...

  3. GDB多线程调试(调试命令+调试演示)

    多线程调试 (一)多线程调试命令 shell的命令: (1)查看当前运行的进程:ps aux | grep book (2)查看当前运行的轻量级进程:ps -aL | grep book (3)查看主 ...

  4. gdb调试常用命令速查(段错误调试)

    编译程序时需要加上-g,之后才能用gdb进行调试:gcc -g main.c -o main gdb中命令: 回车键:重复上一命令 (gdb)help:查看命令帮助,具体命令查询在gdb中输入help ...

  5. GDB调试——常用命令

     命令  解释  示例 file <文件名> 加载被调试的可执行程序文件. 因为一般都在被调试程序所在目录下执行GDB,因而文本名不需要带路径. (gdb) file gdb-sample ...

  6. gdb 不能显示变量_linux下gdb调试常用命令汇总

    1.对于一个.c文件需要在编译时加上-g生成的.out文件才能使用gdb进行编译,如下图所示 2.使用gdb XX文件进入gdb调试 3.使用start开始进行调试,初始只有一个断点在main函数,可 ...

  7. Android调试常用命令

    1.input 命令 1.1 input keyevent:可以向系统发送按键事件 1.2 input text<String>:可以接收字符串的UI 控件输入字符 2.dumpsys命令 ...

  8. C语言:---gdb多线程调试

    1)恢复程序运行和单步调试 当程序被停住了,你可以用continue命令恢复程序的运行直到程序结束,或下一个断点到来.也可以使用step或next命令单步跟踪程序. continue [ignore- ...

  9. java 命令 线程栈_JVM调试常用命令——jstack命令与Java线程栈(1)

    1 jstack 命令 jstack命令的主要作用是打印指定Java进程中每一个线程的工作状态,以及每个线程栈当前的方法执行顺序等详细情况.为什么jstack命令不和jmap.jinfo.jstat等 ...

最新文章

  1. mariadb 内存占用优化
  2. 如何用PyTorch进行语义分割?
  3. PowerShell 笔记
  4. Java 获取昨天、当前、明天的时间
  5. android banner 高度,Android Banner 的简单使用步骤
  6. SpringCloud Ribbon的分析
  7. 算法:874. 模拟行走机器人
  8. 4款微信公众号编辑器,哪个最好用?
  9. SEO与SEM区别是什么
  10. 未来十年的音视频,教科书级别的Android音视频开发教程,学完我成功“挤进”了抖音音视频开发岗
  11. localStorage使用实例-进入显示广告,点击关闭之后,刷新网页不再出现
  12. 2023软考考哪个证书好?
  13. Windows Server 2016 启用完整版任务管理器
  14. 知乎热议:告别“大小周”、程序员“内卷”时代终结?程序员最想学习的语言原来是这?
  15. 【Keras】IMDB电影情感分析(三种神经网络)
  16. 连接SQL server2008,并在SQL server2008中实现MySQL中group_concatd的分组;使用jsp和servlet实现页面的跳转和重写
  17. java怎么打开指定的浏览器_Java之——打开浏览器访问指定页面
  18. 欧姆龙cp1E plc和台达变频器modbus rtu通讯 变頻器可实现正反转,停止,频率的设定、加减速
  19. PDF解决方案(3)--PDF转SWF
  20. 一个女生教你怎么追MM

热门文章

  1. [数据库] Navicat for MySQL定时备份数据库及数据恢复
  2. Python之分享常用的五款动态数据可视化工具
  3. 【数据结构与算法】之深入解析“分割回文串”的求解思路与算法示例
  4. 《每日一题》842. Split Array into Fibonacci Sequence 将数组拆分成斐波那契序列
  5. 2017 年全国大学生电子设计竞赛试题——四旋翼自主飞行器探测跟踪系统(C 题)【本科组】2
  6. 2015年第六届蓝桥杯 - 省赛 - C/C++大学A组 - B. 星系炸弹
  7. Linux (七) 网络
  8. 【机器视觉】 while算子
  9. 【Tools】vim YouCompleteMe自动补全配置与使用
  10. python字典进行大写转化_python之字典的增删改查