What is the process for debugging Wine tests with GDB?

Jefferson Carpenter jeffersoncarpenter2 at gmail.com
Wed Apr 17 00:33:11 CDT 2019


On Wed, Apr 17, 2019 at 3:00 AM Zebediah Figura <z.figura12 at gmail.com> wrote:
>
>
> The official answer is "use winedbg --gdb instead". Usually this works
> well enough.
>
> I've also run into some obscure edge cases, though, that have led me to
> try running wine under gdb instead. The big problem I've encountered is
> that the preloader bypasses ld and so prevents gdb from being able to
> load symbol information. This can be worked around by disabling the
> preloader.

How does one run winedbg from the build tree?  Running

    tests $ ../../../loader/wine64 winedbg msxml3_test.exe.so domdoc
    WineDbg starting on pid 002c
    couldn't load main module (2)
    0x000000007bccc465: ret
    Wine-dbg> r
    couldn't load main module (2)
    0x000000007bccc465: ret

does not appear to allow me to debug with winedbg from the terminal.
An empty command prompt window shows up (black with a blinking cursor,
but no prompt). Then

    Wine-dbg> q

runs all the tests, outputting stdout to the command prompt window as
well as my terminal.

How does one disable the preloader?

>
> That said, the crash in msxml3:domdoc is diagnosed to some degree; it
> happens because properties get double-freed. I looked at it once but
> didn't feel comfortable enough with msxml3 to attack it.
>

Good to know, however if it's not being worked on I might as well see
if I can fix it.



More information about the wine-devel mailing list