环境: qemu,qemu -s(内置gdbserver); x86,自制引导加载程序和内核; QEMU 读取一个硬盘映像,其中包含一个加载内核代码的引导加载程序。
目标: 进入保护模式,IDT已经加载。内核源代码中的一行
asm("int3");
应该暂停 gdb 中的执行(远程调试)。 (实现一个内联断点,方便调试)
我认为
asm("int3")
就像其他中断一样,它调用一个可以在IDT表中指定的处理程序。
问题:如何实现这个处理程序?
例如调用 qemu gdbserver 的一些 API? I/O 某个串口?这是正确的方向吗?
欢迎任何信息、想法、相关文件或现有实施。