Bochs: Difference between revisions

→‎TripleFault: changed title to match the error description
[unchecked revision][unchecked revision]
No edit summary
(→‎TripleFault: changed title to match the error description)
Line 15:
You sent your code pointer (eip) to some uninitialized memory area. This means you either followed a null (or uninitialized) pointer, or you damaged the return address of your [[Stack#Stack example on the X86 architecture|stack frame]]. Make your code more clean, test pointers before you follow them, initialize every pointer (especially those who are on the stack) and enable -Wall.
 
=== 3rd exception with no resolution===
===TripleFault===
 
The CPU didn't manage to invoke an exception handler and would normally [[Triple Fault|triple fault]]. This is probably due to a bad [[Interrupt Descriptor Table|IDT]] register content, or a bad IDT descriptor. Sometimes (but less likely), it can also be due to a severe bug in your exception handler code. Check your exception works with "illegal" ASM instructions like <tt>idiv 0</tt>, or
 
push 0xf001
pop ds ;; 0xf001 is no valid segment,
mov ax, ~[ds:0x12345678] ;; let's see if we get the GPF
 
In several cases, there are other error messages prior to this one which can provide more details in the error.
 
===I/O Operand Size===
1,490

edits