https://bugs.winehq.org/show_bug.cgi?id=52444
Bug ID: 52444 Summary: Regression prevent eclipse from hitting breakpoints Product: Wine Version: 7.0-rc6 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: dark.shadow4@web.de Distribution: ---
I usually use eclipse with normal gdb for debugging. For that I compile without mingw, since it doesn't find the symbols when using real dlls.
Since a while this is broken, and eclipse doesn't hit any breakpoints anymore.
Bisected to commit 28fe84da45bea7de56539b50eac8ebcec54342de Author: Alexandre Julliard julliard@winehq.org Date: Wed Mar 24 10:53:53 2021 +0100
ntdll: Load the main image from the Unix side.
Signed-off-by: Alexandre Julliard julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=52444
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |28fe84da45bea7de56539b50eac | |8ebcec54342de Keywords| |regression, source
https://bugs.winehq.org/show_bug.cgi?id=52444
--- Comment #1 from Fabian Maurer dark.shadow4@web.de --- It could possible work with winedbg, but I have absolutely no idea how to get it to work with eclipse, it doesn't seem to be compatible. So I'd prefer the native version of gdb to work.
https://bugs.winehq.org/show_bug.cgi?id=52444
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
https://bugs.winehq.org/show_bug.cgi?id=52444
Bernhard Übelacker bernhardu@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bernhardu@mailbox.org
--- Comment #2 from Bernhard Übelacker bernhardu@mailbox.org --- A little off topic:
At least a standalone, regular linux gdb can be made loading the debug information from the mingw-built PE files with the gdbinit.py script by Rémi Bernon.
https://www.winehq.org/pipermail/wine-devel/2021-June/189134.html https://www.winehq.org/pipermail/wine-devel/2022-January/205224.html
There is also prototype of gdb able to iterate a processes dll list (currently just 64-bit processes) and load also the symbols from a mingw-built PE file.
https://github.com/JuliaComputing/gdb-solib-wine
----
Back on topic:
I tried now a windows eclipse package and a (quite old) i686 mingw windows gdb package which kind of worked with breaking into the process but eclipse has graphical glitches and showed most frames in winnt.h function NtCurrentTeb (which the gdb.exe did also interactively).
Therefore just to clarify - you want (unlike my short test above) to use a linux eclipse with a linux gdb to attach to a process running with wine from a tree built without mingw?
https://bugs.winehq.org/show_bug.cgi?id=52444
--- Comment #3 from Fabian Maurer dark.shadow4@web.de ---
A little off topic
Thanks, I'll look into that sometime.
Therefore just to clarify - you want (unlike my short test above) to use a linux eclipse with a linux gdb to attach to a process running with wine from a tree built without mingw?
Yes. I mean, technically, that is just my current workflow. What I *really* want is to debug Wine with (linux) eclipse, using breakpoints, backtrace, stepping and the liles.
It's just that I didn't find another way to make it work. winedbg doesn't play nice with eclipse (or the other way round). And a mingw built doesn't work with normal gdb either, unless you use "add-symbol-file PATH/comctl32.dll" on the dlls manually before the breakpoint would be hit.
https://bugs.winehq.org/show_bug.cgi?id=52444
--- Comment #4 from Fabian Maurer dark.shadow4@web.de --- Still the same issue in wine-7.20. An idea how to work around this?
https://bugs.winehq.org/show_bug.cgi?id=52444
--- Comment #5 from Fabian Maurer dark.shadow4@web.de --- There is a MR to address this issue: https://gitlab.winehq.org/wine/wine/-/merge_requests/1074
Now if only there was a way to debug multiple processes at once, for programs that spawn child processes...