我正在学习os内核开发,并且仍处于初级阶段。我为80386处理器编写了一些代码,并使用gdb作为调试器(远程调试)在qemu上进行测试。
现在,奇怪的错误即将来临: - 当我在qemu中运行代码时,它运行正常,但是当我运行它并将其连接到gdb时。 gdb在一行显示分段错误。
我的问题是,当我在实际模式下运行时,如何在内核中出现分段错误,甚至还没有使用内存保护。此外,如果存在生成分段错误的机制,为什么内核在qemu中运行良好。
答案 0 :(得分:0)
硬件抛出seg故障而不是操作系统。所以是的,你仍然可以获得段错误,但是段错误是一些更容易解决的错误。