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


QEMU v1.0 的代码写得很好,而且规模不大,较为容易驾驭
gdb 除了调试静态程序外,还可以 attached 到一个正在运行的程序,甚至可以 attach 到远程的程序上
使用 b *0x7c00 可以在 内存地址 0x7c00打断点(0x7c00是x86系统启动程序的位置)
一个很坑的bug:即便在C语言中使用了 volatile,也只能保证不优化,会编译出正确的汇编指令,却无法保证CPU不会缓存这些指令。要解决这个问题,需要在页表中设置:这个地址不会被cache

 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号