FYI: winedbg testing

Eric Pouech eric.pouech at
Sun Oct 2 09:21:40 CDT 2005

For those of you who might be interested, I wrote a test harness for winedbg

It still doesn't cover all of the commands of winedbg, but it's very 
good starting point for catching some errors (and regressions). Basic 
features are tested (starting winedbg, step & cont, break points & watch 
points, global and local var access, expression & types handling)

Unfortunately, it's not ready yet for CVS inclusion.
Anyway, if some of you want to do some real winedbg hacking, get back to 
me, we'll see how to share it in the most appropriate way.

In the details, the harness is made of:
1/ an extension of regular wine's test harness: it just allows the test 
program to control a child through the command line (input & output)
2/ a program to behave as a debuggee
3/ the testing tool itself (a regular wine test app, based on component 
1/), which launches winedbg on 2/ and sends commands to winedbg and 
checks the results

The reasons why this can't be included yet in cvs are:
- we need to recompile 2/ in order to make the test to take place (or at 
least to have its binary image). Actually, to do a full testing, we 
should have binaries images of 2/ compiled by different compilers 
(winelib app with gcc & stabs, EXE with mingw & stabs, EXE with msvc & 
PDB...) so that we can also stress the dbghelp's support for the various 
debugging formats (stabs, PDB...)
- I ran the harness both on Wine and Windows (with native dbghelp) 
(that's the good news), but there are some critic discrepencies, like 
first like number of a function being different (is it on first open 
brace or on first instruction ?), so the test is still not simply portable

For the rest of the story, while running the test on Windows & native 
dbghelp, lots of misimplementation of builtin dbghelp (and therefore 
winedbg) appeared. I did fix lots of them, and I'll submit them from now on.

The set of patch I've just sent to wine-patches are what is required to 
make the winedbg test pass on Wine, get ready now for the rest of the 
patches to make dbghelp (and winedbg) in sync with native dbghelp


Eric Pouech

More information about the wine-devel mailing list