I have a situation where I am using wine on Linux and
I want to prevent wine from trying to start the
interactive debugger.
I am using wine version: Wine 20040505
When an executable fails an assertion (assert(0) for
example) wine attempts to display a dialog box asking
the user if they want to debug the application:
Assertion failed: 0, file c:\documents and
settings\fsola\my documents\visual studio
projects\fake_executable_assertion\fake_executable_assertion\fake_executable_assertion.cpp,
line 9
fixme:ttydrv:TTYDRV_GetBitmapBits (0x58, 0x4039329c,
128): stub
fixme:ttydrv:TTYDRV_GetBitmapBits (0x54, 0x4039331c,
128): stub
fixme:ttydrv:TTYDRV_GetBitmapBits (0x60, 0x40393d6c,
128): stub
fixme:ttydrv:TTYDRV_GetBitmapBits (0x5c, 0x40393dec,
128): stub
fixme:win:GetProcessWindowStation (void): stub
fixme:user:GetUserObjectInformationA (0x1 1
0x4067b704 12 0x4067b6f8),stub!
fixme:ttydrv:TTYDRV_CreateWindow (0x10021): stub
fixme:ttydrv:TTYDRV_CreateWindow (0x10022): stub
fixme:ttydrv:TTYDRV_CreateWindow (0x10023): stub
fixme:ttydrv:TTYDRV_CreateWindow (0x10024): stub
fixme:ttydrv:TTYDRV_CreateWindow (0x10025): stub
fixme:ttydrv:TTYDRV_CreateWindow (0x10026): stub
fixme:ttydrv:TTYDRV_CreateWindow (0x10027): stub
fixme:ttydrv:TTYDRV_CreateWindow (0x10028): stub
fixme:ttydrv:TTYDRV_CreateWindow (0x10029): stub
fixme:ttydrv:TTYDRV_CreateWindow (0x1002a): stub
fixme:win:SetWindowTextW cannot set text L"Debug
Error!\n\nProgram:
...\\hw\\nvdiag\\testgen\\regress\\test\\fake_executable_assertion.exe\n\n\r\nThis
application has requested the Runtime to terminate it
in an unusual way.\nPlease contact the application's
support team for more information.\r\n\n\n(Press Retry
to debug the application)" of other process window
(nil)
fixme:ttydrv:TTYDRV_GetBitmapBits (0x84, 0x403953e4,
128): stub
fixme:ttydrv:TTYDRV_GetBitmapBits (0x80, 0x40395464,
128): stub
fixme:dialog:MSGBOX_OnInit task modal msgbox ! Not
modal yet.
Wine just waits forever at this point.
My goal is to just have these jobs die when this
happens, so I tried what I thought was the correct
solution:
I changed the following lines in my
~/.wine2004/system.reg:
FROM:
[Software\\Microsoft\\Windows
NT\\CurrentVersion\\AeDebug] 1094757697
"Auto"="0"
"Debugger"="winedbg %ld %ld"
TO:
[Software\\Microsoft\\Windows
NT\\CurrentVersion\\AeDebug] 1094757697
"Auto"="1"
"Debugger"="xxxxxxxx %ld %ld"
My understanding is that this should do two things:
1) Changing "Auto" to "1" should cause wine NOT to put
up the dialog box asking if the user wants to debug
the application.
2) Changing "Debugger" to "xxxxxxxx" should cause wine
to fail to find and launch the debugger.
BUT, I see absolutely no change in the behavior.
I was able to verify that other changes to this
systen.reg file are being picked up by changing one of
the font entries, and then running with all debug
channels enabled. But I never saw anything in the
debug output that indicated that wine was using the
AeDebug entry at all.
To be safe I also changed the same entries in
~/.wine2004/drive_c/inf/wine.inf TO:
[Debugger]
HKLM,Software\Microsoft\Windows
NT\CurrentVersion\AeDebug,"Debugger",,"xxxxxx %ld %ld"
HKLM,Software\Microsoft\Windows
NT\CurrentVersion\AeDebug,"Auto",,"1"
SO, my questions are:
1) Is this the only way to disable the debugger (more
importantly to stop wine from asking the user if they
want to debug the application)?
2) Am I doing something wrong? (am I changing the
wrong file?)
3) Any ideas why this is not doing what I expect???
Any help would be greatly appreciated since I am out
of ideas at this point.
Thanks in advance,
- Hank
_______________________________
Do you Yahoo!?
Declare Yourself - Register online to vote today!
http://vote.yahoo.com