Operating system 如何使用GDB用自定义GDT调试内核?(断点失败)

Operating system 如何使用GDB用自定义GDT调试内核?(断点失败),operating-system,gdb,qemu,Operating System,Gdb,Qemu,我正在使用QEMU来模拟一个迷你操作系统 内核与位于0xC0100000的虚拟地址入口点链接。(文件内核中所有符号的地址都高于0xC0100000) 引导加载程序在物理地址0x00100000上加载内核后,它设置了一个全局描述符表,使0xC0100000之外的虚拟地址空间映射到物理地址0x00100000,然后长时间跳到内核入口点 当我使用GDB调试内核时,它会忽略内核中设置的所有断点 GDB仍然假设我的内核代码位于0xC0100000,但是,内核代码位于0x00100000。当我使用物理地址设

我正在使用QEMU来模拟一个迷你操作系统

内核与位于0xC0100000虚拟地址入口点链接。(文件内核中所有符号的地址都高于0xC0100000)

引导加载程序在物理地址0x00100000上加载内核后,它设置了一个全局描述符表,使0xC0100000之外的虚拟地址空间映射到物理地址0x00100000,然后长时间跳到内核入口点

当我使用GDB调试内核时,它会忽略内核中设置的所有断点

GDB仍然假设我的内核代码位于0xC0100000,但是,内核代码位于0x00100000。当我使用物理地址设置断点时,它可能会命中,但在以后的执行中会引发问题

如何使GDB不忽略定制GDT的存在