Stanford CS144 Lab0: Networking Warmup
应用层Overview
应用层Overview
很多情况都用到了Lazy allocation, 比如:
gdb
的流程。tmux
分割两个窗口,一个窗口作为服务器make CPUS=1 qemu-gdb
,另一个窗口作为gdb
调试窗口gdb-multiarch
。将断点打在ecall指令处
, continue
执行,随后再将第二个断点打到print/x $stvec
处也就是,TRAPFRAME
的起始地址。ecall
指令完成三件事,将用户模式切换到管理员模式、将PC保存到sepc寄存器中、将stvec寄存器的值赋给PC跳转到stvec保存的地址处执行。简化版Git,深入探索Git的底层结构
用时4天,体验CPU设计
熟悉GDB