终于可以通过GDB和BOCHS调试LINUX0.11内核了

SAMBA,VNC,BOCHS,GDB,SSH,IPTABLES,SELINUX都启用,困难还有无数个未知要克服,但总算可以有个环境进行进一步摸索啦。

打个包,存个照。下一步是VSFTP和自己编译源码。

时间: 2024-09-17 04:50:09

终于可以通过GDB和BOCHS调试LINUX0.11内核了的相关文章

linux0.11内核源码剖析:第一篇 内存管理、memory.c【转】

转自:http://www.cnblogs.com/v-July-v/archive/2011/01/06/1983695.html linux0.11内核源码剖析第一篇:memory.c   July  二零一一年一月六日 ----------------------------------------- 博主声明:1.本系列非linux系统教程,仅仅是针对linux0.11内核源码,所做的剖析,注释.2.本系列参考:深入理解linux内核.linux内核完全注释,linux内核源代码情景分析

Linux0.11内核剖析--内核体系结构

一个完整可用的操作系统主要由 4 部分组成:硬件.操作系统内核.操作系统服务和用户应用程序,如下图所示: 用户应用程序是指那些字处理程序. Internet 浏览器程序或用户自行编制的各种应用程序: 操作系统服务程序是指那些向用户所提供的服务被看作是操作系统的部分功能的程序. 在 Linux 操作系统上,这些程序包括 X 窗口系统. shell 命令解释系统以及那些内核编程接口等系统程序:操作系统内核程序即是本书所感兴趣的部分,它主要用于对硬件资源的抽象和访问调度. Linux 内核的主要用途就

Linux0.11内核剖析--初始化程序(init)

1.概述 在内核源代码的 init/目录中只有一个 main.c 文件. 系统在执行完 boot/目录中的 head.s 程序后就会将执行权交给 main.c.该程序虽然不长,但却包括了内核初始化的所有工作.因此在阅读该程序的代码时需要参照很多其它程序中的初始化部分.如果能完全理解这里调用的所有程序,那么看完这章内容后你应该对Linux 内核有了大致的了解. 从本文开始,我们将接触大量的 C 程序代码,因此读者最好具有一定的 C 语言知识.最好的一本参考书还是 Brian W. Kernigha

Linux0.11内核剖析--内核代码(kernel)--sched.c

1.概述 linux/kernel/目录下共包括 10 个 C 语言文件和 2 个汇编语言文件以及一个 kernel 下编译文件的管理配置文件 Makefile.其中三个子目录中代码注释的将放在后面的文章进行.本文主要对这 13 个代码文件进行注释. 首先我们对所有程序的基本功能进行概括性地总体介绍, 以便一开始就对这 12 个文件所实现的功能和它们之间的相互调用关系有个大致的了解,然后逐一对代码进行详细地注释. 本文地址:http://www.cnblogs.com/archimedes/p/

bochs-关于Bochs虚拟机调试一段写好的代码(虚拟操作系统为linux0.11)

问题描述 关于Bochs虚拟机调试一段写好的代码(虚拟操作系统为linux0.11) //就是调试这段代码,通过j的逻辑地址找到物理地址,修改j在内存中的值为0,让程序执行完.#include int j = 0x123456; int main() { printf("theaddress of j is 0x%xn", &j); while(j); printf("programterminated normally!n"); return0; } ?

pwntools如何用利用Pwnlib.gdb进行远程调试?

问题描述 pwntools如何用利用Pwnlib.gdb进行远程调试? 1C 这几天在学习pwn,在调试一些交互程序的时候,需要输入信息,可是无法在调试过程中输入内存地址无法观察输入字符串是否覆盖到了栈地址(比如在测试栈溢出的到时候利用python可以python -c ""print 'A'*123 +'x12x12x12.......'"")因此想进行远程调试,从网上找到pwntools,其中pwnlib.gdb的gdb.debug可以用来远程调试,就是用gdb

利用GDB进行多线程调试

一.多线程调试 多线程调试重要就是下面几个命令: info thread 查看当前进程的线程. thread <ID> 切换调试的线程为指定ID的线程. break file.c:100 thread all  在file.c文件第100行处为所有经过这里的线程设置断点. set scheduler-locking off|on|step,这个是问得最多的.在使用step或者continue命令调试当前被调试线程的时候,其他线程也是同时执行的,怎么只让被调试程序执行呢?通过这个命令就可以实现这

C语言中GDB进行程序调试笔记

使用 GDB 调试程序打开 C 程序的调试功能 编译程序, 我们可以使用 gcc -S main.c 这样来打开调试并且这样也能见到二进制的汇编. 编译程序时使用 -g 更加方便不但有二进制汇编,还有代码本身 (注, 这时我们想看二进制结构,可以使用 objdump 加 -dS 参数).测试样例代码 #include  int add_range(int low, int high) {    int i, sum;    for (i = low; i <= high; i++) {     

关于linux0.11当中设置页表映射的问题 增加C币悬赏

问题描述 关于linux0.11当中设置页表映射的问题 增加C币悬赏 关于linux0.11当中设置页表映射的问题 最近在学习linux0.11,在设置页表映射出了问题. linux0.11中用来** .org 0x1000;.org 0x2000;.org 0x3000;.org 0x4000**这个几个来做表格映射. 但是我在实验当中发现一旦使用了 上面的几个 这个命令之后,就会运行不起来. 因此我就把这个命令注释,手动来直接对内存地址0x1000,0x2000等这几个地址进行操作. 但是接