winedbg trouble

Dan Kegel dank at
Fri Mar 7 10:46:06 CST 2003

Eric Pouech wrote:
>> I wanted to debug my pipe regression test.  I tried
>>   winedbg pipe.exe
>> This starts out ok, printing stuff to stdout like I expect,
>> but then it does something very odd: it switches to
>> reverse video right before it prints "In 32-bit mode."
>> The "Wine-dbg>" prompt comes up, but it doesn't respond
>> to the keyboard.  Also, the display is stair-stepped, as
>> if the newline char isn't being interpreted as CR-LF.
>> Sounds like stdin is being put in raw mode.
>> I have to do 'killall wine' from another window.
>> It's just totally, mysteriously broken...
>> Before, I could actually use it, but now I'm just confused.
> does it behave the same way with other app than pipe.exe or winedbg ? 

winedbg behaves this way with any application.

> winedbg (in its current implementation) doesn't really control the 
> terminal as gdb does. And I don't intent to make it behave this way, 
> it's supposed to be the job of wineconsole.

Ah.  Perhaps us rebels should start maintaining
as an alternative approach, then.  And I checked;
says it's ok to link libreadline to LGPL or X-licensed code.

>> but it scrolls at line 25
>> no matter what size the window is, 
> wineconsole doesn't support dynamic resize yet... it will use the 
> default size for you app in the registry (if you want to change this, 
> run once winedbg under the user console, set the desired size of the 
> console for winedbg (screen buffer size and window size) and save the 
> settings for all the sessions)

Ah.  Something for the to-do list, then.

>> and trying to
>> do 'cont' or 'run' fails with messages like
>>   No process loaded, cannot execute 'cont'
> there's a bug in wineconsole, the patch has just been sent to wine-patches

I just did a cvs update and reinstall, but I still have
problems.  Here's my test procedure:
  cd ~/wine/programs/winedbg
  write a hello, world program
  cl /Zi hello.c
  ./winedbg hello.exe

This reproduces two problems, and now today shows a third.

1. curses is used.  I don't want winedbg, or any console program,
to use curses, as it complicates simple things like logging output.
(I seem to recall there's a way to switch this off now, but I
couldn't see it in any doc or help messages.  What's the trick?)
The immediate symptom is reverse video, but the annoyance runs
far deeper.

2. It doesn't respond to keystrokes.

3. [The new problem.] Sometimes it outputs
fixme:wineconsole:WCCURSES_GetEvents Ooch. somebody beat us
when I hit the first key.  Not every time, though.

If I use wineconsole, I still get

WineDbg starting on pid 0
No process loaded, cannot execute 'cont'

>> And it's in that horrible reverse video.
> mmm would your curses use a different attribute mapping ?

The problem *is* curses.  How do I turn that off at runtime?

>> Why can't winedbg just behave like gdb with respect
>> to stdin and stdout?  I'm at a loss.
> because winedbg isn't gdb... as I wrote above, IMO it isn't the job of 
> winedbg (as an app) to control the terminal, it's up to wineconsole. so 
> if you don't run your pgm under wineconsole, it won't work.
> use winedbg -- --gdb if you really don't want wineconsole but do want 
> proper terminal control

I might try that, but am more tempted to revive the libreadline patch.
Would it be possible to have, next to winedbg, a winedbg-readline?
Then us curses-haters and libreadline-lovers could coexist
happily with those who understand and like wineconsole :-)

BTW, I have no idea what wineconsole is or does, and posts like
tend to confirm my hypothesis that wineconsole is a strange,
evil beast.  It may be time for a good "What is Wineconsole
and what does it do?" page in winehq (I looked, but couldn't find


Dan Kegel

More information about the wine-devel mailing list