Linux调试器:gdb与linux(多)进程理解

本文详细介绍了debug与release模式的区别,GDB调试工具中的常用命令,如代码查看、运行、断点设置等,以及进程的概念、管理(查看PID、杀死进程、fork操作)、进程状态(阻塞、挂起、切换)等内容。
摘要由CSDN通过智能技术生成


1.debug和release

我们知道debug下才可以调试,release下是不可以调试的!

在这里插入图片描述

2.启动/退出gdb

在这里插入图片描述

3.gdb常用命令

3.1 查看代码(list)

在这里插入图片描述

3.2 运行(r)

在这里插入图片描述

3.3 其他命令

大家可以自行练习,这里就不再展示

1.list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。
2.list/l 函数名:列出某个函数的源代码。
3.r或run:运行程序。
4.n 或 next:单条执行。
5.s或step:进入函数调用
6.break(b) 行号:在某一行设置断点
7.break 函数名:在某个函数开头设置断点
8.info break :查看断点信息。
9.finish:执行到当前函数返回,然后挺下来等待命令
10.print§:打印表达式的值,通过表达式可以修改变量的值或者调用函数
11.p 变量:打印变量值。
12.set var:修改变量的值
13.continue(或c):从当前位置开始连续而非单步执行程序
14.run(或r):从开始连续而非单步执行程序
15.delete breakpoints:删除所有断点
16.delete breakpoints n:删除序号为n的断点
17.disable breakpoints:禁用断点
18.enable breakpoints:启用断点
19.info(或i) breakpoints:参看当前设置了哪些断点
20.display 变量名:跟踪查看一个变量,每次停下来都显示它的值
21.undisplay:取消对先前设置的那些变量的跟踪
22.until X行号:跳至X行
23.breaktrace(或bt):查看各级函数调用及参数
24.info(i) locals:查看当前栈帧局部变量的值
25.quit:退出gdb
在这里插入图片描述

4.进程

4.1 进程的概念

操作系统的组成:
在这里插入图片描述
进程的组成:
在这里插入图片描述
Linux中的进程:
在这里插入图片描述

4.2 查看进程及进程的pid

查看进程:
在这里插入图片描述

进程的信息还可以通过 /proc 系统文件夹查看
如:要获取PID为1的进程信息,你需要查看 /proc/1 这个文件夹
ls /proc/1 -d

查看pid:
在这里插入图片描述

4.3 杀死进程及ppid(父进程)

杀死进程的两种方式:
①ctrl+c
②kill -9 pid号

在这里插入图片描述

4.4 创建一个进程(fork)

fork使用示例:
在这里插入图片描述
fork实现不同进程同时运行:
在这里插入图片描述
一次创建多个进程:(多进程创建)

在这里插入图片描述

时间片的概念

假设有一个进程的时间片是2ms,那么这个程序要是在2ms内运行完成那么就没事,如果超过2ms,那么操作系统就会将这个程序从CPU上拿下来!然后放到程序队列的尾部,执行下一个进程!

4.5 进程路径

在这里插入图片描述

4.6 PCB/task_ struct内容、进程状态

task_ struct内容分类:
①标示符: 描述本进程的唯一标示符,用来区别其他进程。 (pid,ppid)
②状态: 任务状态,退出代码,退出信号等。
③优先级:相对于其他进程的优先级。
④程序计数器: 程序中即将被执行的下一条指令的地址。
⑤内存指针:包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针
⑥上下文数据:进程执行时处理器的寄存器中的数据[休学例子,要加图CPU,寄存器]。
⑦ I/ O状态信息: 包括显示的I/O请求,分配给进程的I/O设备和被进程使用的文件列表。
⑧记账信息: 可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号等。
⑨其他信息

进程状态:
在这里插入图片描述

孤儿进程:
在这里插入图片描述

4.7 进程的阻塞和挂起、运行和切换

运行状态:
在这里插入图片描述
阻塞状态:
在这里插入图片描述
挂起状态:
在这里插入图片描述
进程的切换:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chris·Bosh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值