Re: A question about JIT debugger

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



It depends. The problem is that the crashed process has to call
CreateProcess. That is a lot of code running in the crashed process context
if you think about it - there are heap allocations, character conversions,
etc. Any of which could fail depending on how badly trashed the process is.

The best bet is to pre-create a watchdog process (perhaps acting as a
debugger) that watches for unhandled exceptions and takes the appropriate
action. This does of course have the drawback of you having to run yet
another process.

"darkside" <zlfeng@xxxxxxxxxxx> wrote in message
news:%23zW0Du0jGHA.4588@xxxxxxxxxxxxxxxxxxxxxxx
Thank you,it is the most understanding answer here.Would you kindly point
out that in those listed items, which are also not able to be captured by
SEH(setunhandler)? I know "Memory / resource leaks" is a case, how about
"Several threads fail at the same time" and "Unhandled C++ exceptions, if
they get caught by CRT library"?

I don't really understand "Most of these situations come from the fact
that it is the failed process itself
who attempts to launch the JIT debugger", would you give an example? Are
above items you listed related with this fact?

Thanks!

-DS




"Oleg Starodumov" <com-dot-debuginfo-at-oleg> wrote in message
news:%23zk6uEsjGHA.4660@xxxxxxxxxxxxxxxxxxxxxxx

Thanks, is there anything more? Say, different mode like safe mode, or
differnt platform like home edition...?


There are many other reasons that can prevent JIT debugger from working.
For example:
- Unhandled C++ exceptions, if they get caught by CRT library
- SetErrorMode(SEM_NOGPFAULTERRORBOX) has been called,
or equivalent setting in Registry has been set
- The failed thread can run under a user context that does not have
enough
privileges to JIT-debug (depends on the actions performed by JIT
debugger)
- Corruption of the process heap
- Memory / resource leaks
- Several threads fail at the same time

Most of these situations come from the fact that it is the failed process
itself
who attempts to launch the JIT debugger using CreateProcess.

Also, managed applications can (and usually do) use their own JIT
debugging mechanism.

Regards,
Oleg
[VC++ MVP http://www.debuginfo.com/]








.



Relevant Pages

  • Re: Media Center TV "CANNOT LOAD FILES"
    ... When trying to do "Settings" in Media Center and setting up the Program ... Registered JIT debugger is not available. ... Click Cancel to abort the JIT debug request. ...
    (microsoft.public.windows.mediacenter)
  • Re: Media Center TV "CANNOT LOAD FILES"
    ... When trying to do "Settings" in Media Center and setting up the Program ... Registered JIT debugger is not available. ... Click Cancel to abort the JIT debug request. ...
    (microsoft.public.windows.mediacenter)
  • Re: Program wont run on another computer...
    ... Registered JIT debugger is not available. ... JIT debugger with the following command resulted in an error code of 0x2 ... > Click on Cancel to abort the JIT debug request. ... > I've read a little about this problem online. ...
    (microsoft.public.dotnet.framework.clr)
  • Re: Differences in unhandled exception handling between Windows 2000 and 2003?
    ... my only success in getting this exception trapped has been to have windbg attached ... minimal debugger in my launching process that can ... would be through the UnhandledExceptionFilter (and therefore, JIT debugger) route? ... so I have a good vehicle for implementing a minimal debugger. ...
    (microsoft.public.win32.programmer.kernel)
  • Re: .Net Framework 1.1 Service Pack 1
    ... > Click CANCEL to debug the application. ... > Registered JIT debugger is not available. ... An attempt to> launch a JIT debugger with the following cammand resulted> in an error code of 0x2. ... > I don't understand what settings has to be changed or how> to "attach a debugger manually", so the installation can> be completed. ...
    (microsoft.public.win2000.windows_update)