归档
善良比聪明更重要
07
13
06
GDB 调试多线程与多进程进阶 GDB 调试多线程与多进程进阶
本文档主要参看«Debugging with GDB» Tenth Edition, for gdb version 8.0.1,本节我们主要讲述一下使用GDB来调试多线程及多进程程序。 1. 调试多线程1.1 概念介绍在有一些操作系统上,
2021-07-06
06
24
GDB 实战:定位多线程死锁 GDB 实战:定位多线程死锁
本文用一个「双线程、双互斥锁、加锁顺序相反」的最小示例,演示如何用 gdb attach 定位程序死锁。死锁是并发编程里最棘手的问题之一,通过这个例子可以掌握一套通用的分析思路:先看线程与栈回溯(backtrace),再顺着栈找到等待的锁,
2021-06-24
12
05
31
19
07
04
25
13
01
GDB 变量查看:print、display 与 watch GDB 变量查看:print、display 与 watch
前言在启动调试以及设置断点之后,就到了我们非常关键的一步——查看变量。GDB 调试最大的目的之一就是走查代码,查看运行结果是否符合预期。既然如此,我们就不得不了解一些查看各种类型变量的方法,以帮助我们进一步定位问题。 准备工作本文辅助说明程
2021-04-01
03
20
GDB 常用命令速查 GDB 常用命令速查
gdb 是一个在 UNIX 环境下的命令行调试工具。如果需要使用 gdb 调试程序,请在 gcc 时加上 -g 选项。下面的命令部分是简化版,比如使用 l 代替 list 等等。 1. 基本命令1)进入GDB: # gdb test tes
2021-03-20
08
GDB 调试基础:启动、断点与单步执行 GDB 调试基础:启动、断点与单步执行
gdb 是一个强大的命令行调试工具,下面的内容按照调试一个程序的完整流程展开:启动程序、设置断点、单步执行、查看状态,直到定位问题。 在GDB中运行程序一、启动程序如果在启动 gdb 时没有指明程序,可以使用命令 file 或 exec-f
2021-03-08
3 / 4