> "steve" == steve lustbader steve.lustbader@philips.com writes:
steve> When I try to load a window in my app that has a treeview in it, steve> it crashes immediately, before the window even gets displayed. steve> This is the end of the backtrace:
Try running with native commctrl to see if the corruption comes from our commctrl implementation. Then run with --debugmsg +relay,+heap. Wine will check on every heap manipulation to see if the heap is still okay. Then look what corrupted the heap.
It works fine with a native (WinXP) comctl32.dll. I'll post the +relay,+heap output shortly.
Is there a way to turn debug output on/off? I don't get the heap corruption until my app starts and I open a specific window, but it takes forever for my app to start using +relay,+heap. I don't need the output at first, since everything is fine in the beginning, so I'd like to be able to turn the debug output on just before I open the window that causes the problem.
-Steve
steve.lustbader@philips.com wrote:
>>"steve" == steve lustbader steve.lustbader@philips.com writes: >> >>
steve> When I try to load a window in my app that has a treeview in it, steve> it crashes immediately, before the window even gets displayed. steve> This is the end of the backtrace:
Try running with native commctrl to see if the corruption comes from our commctrl implementation. Then run with --debugmsg +relay,+heap. Wine will check on every heap manipulation to see if the heap is still okay. Then look what corrupted the heap.
It works fine with a native (WinXP) comctl32.dll. I'll post the +relay,+heap output shortly.
Is there a way to turn debug output on/off? I don't get the heap corruption until my app starts and I open a specific window, but it takes forever for my app to start using +relay,+heap. I don't need the output at first, since everything is fine in the beginning, so I'd like to be able to turn the debug output on just before I open the window that causes the problem.
There are two ways to do this 1) Adding it into a function using software
It is possible to turn on or off debuging for a class or channel using a software call in a funtion. The call to use is wine_dbg_parse_options(+|-class]|[+|-channel]")
Examples:
wine_dbg_parse_options("+ddraw")
this will turn on the trace, warn, err and fixme class messages for the ddraw channel.
wine_dbg_parse_options("warn+ddraw")
this will turn on the warn class messages for the ddraw channel.
Please note that relay is not an ordinary channel and is treated differently by wineserver. In order for relay to function there is some work that needs to be done at startup. So one way to get it to work properly would is to start with the program with -debugmsg +relay turn it off with wine_dbg_parse_options, and then turn it on again when needed.
2) Turning on/off Debug channels and classes in the debugger
It is possible to turn on and of debugging output from within the debugger using the set command. Using this technique has the advantage of reducing the size of the debug log.
Examples:
set +gdi</parameter>
This will turn on messages for all calls to gdi channel.
set warn+draw
This will turn on all messages of the class warn on the channel ddaw.
warning:
If you start the program with winedbg -debugmsg +(channel) calls from the debugger will be logged which is not what you want. Therefore, If you need to start logging messages as the program starts you can start the program with wine and attach to the program with the debugger.
***** Yes this will be part of the documentation at some point.<grin>