JYY 第十一课 系统编程与基础设施(gdb QEMU 以后研究可以再看看)

 

 

 

QEMU v1.0 的代码写得很好,而且规模不大,较为容易驾驭

gdb 除了调试静态程序外,还可以 attached 到一个正在运行的程序,甚至可以 attach 到远程的程序上

使用 b *0x7c00 可以在 内存地址 0x7c00打断点(0x7c00是x86系统启动程序的位置)

一个很坑的bug:即便在C语言中使用了 volatile,也只能保证不优化,会编译出正确的汇编指令,却无法保证CPU不会缓存这些指令。要解决这个问题,需要在页表中设置:这个地址不会被cache

 

posted @ 2022-11-06 23:53  yinhuachen  阅读(35)  评论(0编辑  收藏  举报