Page 1 of 1

Crash screenshot

Posted: Mon May 12, 2008 1:10 am
by Candy
Just thought I'd let you know I'm not dead and that I've been working on AtlantisOS. Yes, it's still the same OS. No it's not dead, it's just crashed.

I'm still working on the stack trace a bit... want it to print the function names and offsets, which it doesn't right now. It's pretty useful though.

Image

Posted: Mon May 12, 2008 12:52 pm
by jgraef
Hi,

Your exception handler looks nice, but I would change a few things:
* Print name of exception
* For some exceptions you have an errorcode. This can be quite useful for Pagefaults because it says you if the PF was caused by a read or write operation.
* You can get the address of a PF from CR2
* You can also get if a PF was caused by a normal read or by executing wrong memory (just compare CR2 with EIP)

This is a screenshot of my exception handler. The exception is caused by "*((char*)0) = 0". I know the stack trace isn't something special...
Image

EDIT: oh I see, you already print the errorcode, but you could write this a bit user friendlier to screen, because this safes time everytime you have to decode the errorcode to something usable.

Posted: Mon May 12, 2008 1:51 pm
by JamesM
jgraef wrote: * You can also get if a PF was caused by a normal read or by executing wrong memory (just compare CR2 with EIP)
Or, the less ham-handed way, test bit 4 of the error code (1 = faulted on instruction fetch) ;)

Also, Candy's a big boy, I'm 100% certain he knew about CR2 before you were born!

Cheers,

James

Posted: Tue May 13, 2008 3:38 am
by bluecode
JamesM wrote:Also, Candy's a big boy, I'm 100% certain he knew about CR2 before you were born!
:lol: :P

Posted: Sat May 17, 2008 8:50 am
by stevenup7002
Image
Nothing wrong with a bit of fun :wink: