Hallo,
since some time for me the debugger doesn't start when a program
crashes. As there was a lot of reorganization, my non-standard setup (try to
run wine in place) and due to lack of time to verify (workload, holidays) I
can't tell when exactly the breackage occured.
The exception (here in a simple test program, doing an int21 in 32 bit
mode), the exception is thrown.
win32/exception.c:start_debugger_atomic() creates the event
088f7250: queue_exception_event() = 0 { handle=0 }
088f7250: create_event( manual_reset=1, initial_state=0, inherit=1, name=L"")
088f7250: create_event() = 0 { handle=100 }
wine: Unhandled exception, starting debugger...
...
The event-handle is passed to the winedbg command line:
trace:seh:start_debugger Starting debugger format_size 58
(fmt=h:\tmp\wine\compile\wine\programs\winedbg\wined
bg %ld %ld)
trace:seh:start_debugger h:\tmp\wine\compile\wine\programs\winedbg\winedbg 134683568 100
088f7250: *signal* signal=14
088f7250: create_file( access=80000000, inherit=0, sharing=00000001,create=3, attrs=00000000, drive_type=4, f
...
We select on that handle:
088f7250: select( flags=4, cookie=0x412d05e0, sec=0, usec=0, handles={100} )
...
After winedbg startup, winedbg tries to set this event
088f75a0:Ret kernel32.DebugActiveProcess() retval=00000001 ret=404e1f04
088f75a0:Call kernel32.SetEvent(00000064) ret=404e33b6
088f75a0: event_op( handle=100, op=1 )
088f75a0: event_op() = INVALID_HANDLE
088f75a0:Ret kernel32.SetEvent() retval=00000000 ret=404e33b6
but the event is invalid and winedbg shuts down immediately:
088f75a0:Call kernel32.ExitProcess(00000000) ret=404ca18f
Any idea, what's going wrong?
Bye
--
Uwe Bonnes bon(a)elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------