2018年9月10日

Linux进程描述符task_struct结构体详解--Linux进程的管理与调度

摘要: https://blog.csdn.net/gatieme/article/details/51383272 阅读全文

posted @ 2018-09-10 14:08 eyusgua 阅读(228) 评论(0) 推荐(0) 编辑

2018年9月3日

Linux用户空间与内核地址空间

摘要: Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。 Linux内核地址映射模型 x86 CPU采用了段页式地址映射模型。进程代码中的 阅读全文

posted @ 2018-09-03 14:54 eyusgua 阅读(870) 评论(0) 推荐(0) 编辑

[Linux内存]——内核地址空间

摘要: 一,为什么需要高端内存答:对于32位机器,linux虚拟内存最大为4G,其中3-4G空间是用作内核空间,考虑到如果物理内存大于1G,那么物理内存不能得到完全的映射, 因此,Linux 规定“内核直接映射空间” 最多映射 896M 物理内存,ARM体系架构上有高端内存的概念,不过不是固定在896M以上 阅读全文

posted @ 2018-09-03 14:53 eyusgua 阅读(257) 评论(0) 推荐(0) 编辑

2018年8月28日

使用 GDB 调试多进程程序

摘要: GDB 是 linux 系统上常用的 c/c++ 调试工具,功能十分强大。对于较为复杂的系统,比如多进程系统,如何使用 GDB 调试呢?考虑下面这个三进程系统: Proc2 是 Proc1 的子进程,Proc3 又是 Proc2 的子进程。如何使用 GDB 调试 proc2 或者 proc3 呢? 阅读全文

posted @ 2018-08-28 17:12 eyusgua 阅读(170) 评论(0) 推荐(0) 编辑

Linux GDB常用命令

摘要: Linux GDB 常用命令如下: 1.启动和退出gdb (1)启动:gdb ***:显示一段版权说明; (*** 表示可执行程序名) (2)退出:quit。有的时候输入quit后会出现相关提示:类似于“(y/n)”,输入y 2.显示和查找程序源代码 (1)list :显示10行代码,但是我为什么没 阅读全文

posted @ 2018-08-28 17:10 eyusgua 阅读(338) 评论(0) 推荐(0) 编辑

GDB常用命令使用

摘要: GDB(GNU Debugger)是在Unix以及类Unix系统下的调试工具。功能极其强大,几乎涵盖了你所需要的全部功能。 GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的定制要求随心所欲的运行程序。 2.可让被调试的程序在你所指定的调置的断点处停住。 3.当程序被停住时,可 阅读全文

posted @ 2018-08-28 17:08 eyusgua 阅读(397) 评论(0) 推荐(0) 编辑

GDB调试原理——ptrace系统调用

摘要: 引子: 追根溯源,我们今天来研究一下Linux下这个强大的系统调用:ptrace() 首先,linux的进程状态大体分为以下几种: (以上内容来自ps命令的manual手册,原文请看↓) 其中上面的5就是我们要讨论的,gdb调试程序时的t状态,程序被追踪。(关于进程的其他状态请自行百度)。 请看pt 阅读全文

posted @ 2018-08-28 17:07 eyusgua 阅读(677) 评论(0) 推荐(0) 编辑

导航