2016年6月10日

xv6的设计trick(不断更新)

摘要: 1、每个进程通过时钟中断出发trap.c中的 if(proc && proc->state == RUNNING && tf->trapno == T_IRQ0+IRQ_TIMER) yield();来强制把这个进程置为Runnable状态,yield的实现如下: acquire(&ptable.l 阅读全文

posted @ 2016-06-10 16:35 Joker_88 阅读(382) 评论(0) 推荐(0)

GDB调试程序常用命令

摘要: 1、在xv6 内核中 通过 nm kernel | grep _start 找到kernel的起始地址是0010000c 2、 br * 0x0010000c 设置断点,(如果在函数start处设断点就是 br start) 3、c 继续执行到这个断点 4、查看寄存器,找到通过esp找到程序在内存中 阅读全文

posted @ 2016-06-10 15:50 Joker_88 阅读(1505) 评论(0) 推荐(0)

导航