Be sure to check the Registry key already cited in this thread. If the key
is not defined, or the program it references is not installed, there is no
JIT debugger that can be invoked, and the effect is a fatal exception which
is reflected back to the app, which, having no exception handler for it,
will take the default exception handler (unhandled exception) and terminate
the app.
joe
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of amitr0
Sent: Wednesday, December 24, 2008 2:07 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] int 3/ int 2d
Tim,
I am not clear in several points here, let me try once more…
The second sentence is true. The first sentence is not. As long as you
have a debugger attached, int 3 is perfectly acceptable. Indeed, when
you have a debugger attached and set a breakpoint, the debugger inserts
an “int 3” at that spot.
okay, I understand about int3, what about int2d? What is the behaviour of
int2d with and without debugger on win32 and win64?
How are you noticing the exception? Perhaps the app is catching it.
No, the app doesnt catch it, I notice it because windbg in kernel mode
cathces it as
The context is partially valid. Only x86 user-mode context is available.
WOW64 breakpoint - code 4000001f (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
00000000`00428235 59 pop ecx
so when I looked into the code of the app, I saw where it was throwing.
On Tue, Dec 23, 2008 at 11:47 PM, wrote:
On Tue, Dec 23, 2008 at 11:07:58PM -0800, amitr0 wrote:
>
> If i recall correctly, we are not supposed to call INT3H or INT2D from
> inside win32 applications. Doing so, will generate an exception.
The second sentence is true. The first sentence is not. As long as you
have a debugger attached, int 3 is perfectly acceptable. Indeed, when
you have a debugger attached and set a breakpoint, the debugger inserts
an “int 3” at that spot.
> However, recently I came across some application (win32 console) that uses
> inline assembly to generate these interrupts. That application works fine
> without causing any expections at all. Infact, the os debug handler
catches
> the debug interrupt (I have checked using a break point).
Right, just as it is supposed to.
> The same app (32 bit) generates expection when run on 64 bit vista
(wow64),
> also the same app when compiled for 64 bit (moving out the assenbly code
> into seperate files) also generates exception.
>
> So, my question is, why and how does the 32 bit executable work without
> expection on a 32 bit vista os?
How are you noticing the exception? Perhaps the app is catching it.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boeklheide, Inc.
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
–
- amitr0
— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the
List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
–
This message has been scanned for viruses and
dangerous content by http:</http:> MailScanner, and is
believed to be clean.