Newbie Wine question... Borland C++ Builder and Firebird via FIBplus

Molle Bestefich molle.bestefich at gmail.com
Thu Sep 22 12:03:08 CDT 2005


Esko Woudenberg wrote:
>  I found info on WINEDEBUG and am currently
> running it set to +relay   This results in 300+
> Megabyte debug file.  (Ran system out of memory trying
> to loot at it with Konq)  I have then been using
> "tail" to grab just the last few thousand lines of
> it...  It always ends with hundreds/thousands of calls
> to ntdll.RtlEnterCriticalSection and
> ntdll.RtsLeaveCriticalSection

Wonderful tool, that WINEDEBUG!
I'm very much a newbie too, and the WINEDEBUG stuff really helps me
getting just a little bit of understanding about what is going on. 
Love it.

In the manual here:
http://www.winehq.com/docs/wine-user.html#CONFIG-FILE-HOW

I've found that you can exclude those CriticalSection messages which
you probably don't care about.  That should give you a much smaller
file and faster execution times, which is always nice when you're
debugging.

You need to put the following key/value somewhere in your registry -
the manual and winehq pages are, ahem, not very explicit about where
to put them, but supposedly somewhere under key named 'Debug'...:

"RelayExclude" = "RtlEnterCriticalSection;RtlLeaveCriticalSection"

> followed by
> err:seh:setup_exception stack overflow ### bytes in
> thread #### eip ###### esp ###### stack 0x##### -
> 0x####

Found a bit in a wine debugging tutorial:
http://wiki.winehq.org/Debugging_'Wild_Metal_Country'

Which explains nicely that what you see is an infinite loop, I think
somewhere in Wine's exception handling code, and that you should debug
with +seh to see what's going on.

> I am planning on using the HKLM\Software\Wine\Wine
> existence to let the app know it is running on wine...

Sounds hackish :-).

> The app itself also has a "debug mode" that logs
> events to a file while running - is there a way to
> send these messages to the same log as WINEDEBUG?
> That way I would be able to see what method or
> function of the app resulted in the thousands of calls
> into the WIN32 API...

Quah?  Mebbe.  Easiest thing would probably be to make your app write
to stderr instead of that file it's using?

There's also a hack in the manual (see first link) that will send
WINEDEBUG messages to a file, but then again so will 2> ...



More information about the wine-devel mailing list