Page Fault

Hi ,

during device driver development we often run into
page faults. previously i wasnt using softice. now
that i use softice my machine is saved of the
immediate reboots coz the page faults are caught by
softice . but however ultimately i have to reboot my
machine giving the command “hboot”. is their any way
that if i go into a page fault and recover without
rebooting?

– thanks
– please consider that i am new to the device driver field.


Do You Yahoo!?
Spot the hottest trends in music, movies, and more.
http://buzz.yahoo.com/


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

No. It is not possible.

Regards,
Satish K.S

Hi ,

during device driver development we often run into
page faults. previously i wasnt using softice. now
that i use softice my machine is saved of the
immediate reboots coz the page faults are caught by
softice . but however ultimately i have to reboot my
machine giving the command “hboot”. is their any way
that if i go into a page fault and recover without
rebooting?

– thanks
– please consider that i am new to the device driver field.


Do You Yahoo!?
Spot the hottest trends in music, movies, and more.
http://buzz.yahoo.com/


You are currently subscribed to ntdev as: xxxxx@aalayance.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

guarding your code in __try __except blocks can help you to a certain
extent . using SEH sometimes acceleate development cycle. buy is not an
panaceum

----- Original Message -----
From: “cts mad”
To: “NT Developers Interest List”
Sent: Friday, June 15, 2001 7:59 AM
Subject: [ntdev] Page Fault

> Hi ,
>
> during device driver development we often run into
> page faults. previously i wasnt using softice. now
> that i use softice my machine is saved of the
> immediate reboots coz the page faults are caught by
> softice . but however ultimately i have to reboot my
> machine giving the command “hboot”. is their any way
> that if i go into a page fault and recover without
> rebooting?
>
> – thanks
> – please consider that i am new to the device driver field.
>
> __________________________________________________
> Do You Yahoo!?
> Spot the hottest trends in music, movies, and more.
> http://buzz.yahoo.com/
>
> —
> You are currently subscribed to ntdev as: danp@jb.rdsor.ro
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

This is incorrect: SoftICE will attempt to restart the faulting instruction. Control stops on the actual faulting instruction with all the registers in their initial state. You can easily skip the faulting instruction (and resume execution) be changing the instruction pointer. Of course, if whatever caused the page fault to begin with trashed the stack, you’ll wind up causing other faults down the road -

Ed Lau

MidCore Software, Inc.
900 Straits Tpke
Middlebury, CT 06762

www.midcore.com

----- Original Message -----
From: Satish
To: NT Developers Interest List
Sent: Friday, June 15, 2001 4:12 AM
Subject: [ntdev] Re: Page Fault

No. It is not possible.

Regards,
Satish K.S

Hi ,

during device driver development we often run into
page faults. previously i wasnt using softice. now
that i use softice my machine is saved of the
immediate reboots coz the page faults are caught by
softice . but however ultimately i have to reboot my
machine giving the command “hboot”. is their any way
that if i go into a page fault and recover without
rebooting?

– thanks
– please consider that i am new to the device driver field.


Do You Yahoo!?
Spot the hottest trends in music, movies, and more.
http://buzz.yahoo.com/


You are currently subscribed to ntdev as: xxxxx@aalayance.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@midcore.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

With page faults you often access memory you already freed. Often it’s
possible to recovered with softice. A typical example is this:


mov ecx, [ebp+c] ; fetch pSomething
mov [ecx+8], 1 ; pSomething->SomeBoolean = TRUE; <== PAGE FAULT

Very often you can recover just by skipping the offending mov
instruction. Like “r eip eip+x” in softice, where X is the size of
the offending instruction. Obviously it’s far from 100%.

Regards,
Andres

S> No. It is not possible.

S> Regards,
S> Satish K.S

> Hi ,
>
> during device driver development we often run into
> page faults. previously i wasnt using softice. now
> that i use softice my machine is saved of the
> immediate reboots coz the page faults are caught by
> softice . but however ultimately i have to reboot my
> machine giving the command “hboot”. is their any way
> that if i go into a page fault and recover without
> rebooting?
>
> – thanks
> – please consider that i am new to the device driver field.
>
> __________________________________________________
> Do You Yahoo!?
> Spot the hottest trends in music, movies, and more.
> http://buzz.yahoo.com/
>
> —
> You are currently subscribed to ntdev as: xxxxx@aalayance.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

S> —
S> You are currently subscribed to ntdev as: xxxxx@flaffer.com
S> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


Best regards,
Anders mailto:xxxxx@flaffer.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Yes, I did it many times :slight_smile: It is always faster than reboot and chances are
fair. It is even better on SMP machine; if a problem is unsolvable you can
let faulting CPU in the busy loop and continue working on others. Once I
continued coding for hours in this state because was too lazy to reboot :wink:

Best regards,

Michal Vodicka
Veridicom
(RKK - Skytale)
[WWW: http://www.veridicom.com , http://www.skytale.com]


From: Ed Lau[SMTP:xxxxx@midcore.com]
Reply To: NT Developers Interest List
Sent: Friday, June 15, 2001 4:31 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Page Fault

This is incorrect: SoftICE will attempt to restart the faulting
instruction. Control stops on the actual faulting instruction with all the
registers in their initial state. You can easily skip the faulting
instruction (and resume execution) be changing the instruction pointer. Of
course, if whatever caused the page fault to begin with trashed the stack,
you’ll wind up causing other faults down the road -

Ed Lau

MidCore Software, Inc.
900 Straits Tpke
Middlebury, CT 06762

www.midcore.com

----- Original Message -----
From: Satish
To: NT Developers Interest List
Sent: Friday, June 15, 2001 4:12 AM
Subject: [ntdev] Re: Page Fault

No. It is not possible.

Regards,
Satish K.S

> Hi ,
>
> during device driver development we often run into
> page faults. previously i wasnt using softice. now
> that i use softice my machine is saved of the
> immediate reboots coz the page faults are caught by
> softice . but however ultimately i have to reboot my
> machine giving the command “hboot”. is their any way
> that if i go into a page fault and recover without
> rebooting?
>
> – thanks
> – please consider that i am new to the device driver field.
>
> __________________________________________________
> Do You Yahoo!?
> Spot the hottest trends in music, movies, and more.
> http://buzz.yahoo.com/
>
> —
> You are currently subscribed to ntdev as: xxxxx@aalayance.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@midcore.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntdev as: xxxxx@rkk.cz
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com