好奇处理器/ CPU在执行除零指令时在intel cpu和Linux上通常做什么或可以说。还将错误如何中继到应用程序,以便它可以记录错误或通知开发人员?
谢谢!
一般而言,而不是针对x86_64上Linux的细节,这可能会使概念模糊。
让我尝试以不同的方式回答这个问题。我使用过的每个处理器都定义了一个中断向量结构。在英特尔芯片上,此结构称为中断分配表(IDT)。中断向量是指向函数的指针数组。数组中的每个条目都对应一个特定的事件(中断或异常(故障或陷阱))。
当“在CPU中发生DIV0错误时,应用程序将无法记录任何内容(除非某些子进程正在管理)。”>
DIV0几乎不会在CPU中发生,它会被捕获: