[PATCH 0/9] Beefing up tests for dbghelp
Eric Pouech
eric.pouech at gmail.com
Mon Jul 12 07:20:01 CDT 2021
The following series beefs up the tests about dbghelp DLL and fixes a
couple of bugs in dbghelp.
The idea is to have a set of files to get debug info from (debuggee*.*).
This is supported in two different ways:
A) to be compiled directly inside dbghelp_test: the default tools and options
used in Wine will be covered (now: cross compile + dwarf version 2 debug
format)
B) but also the ability to run the same tests on an external process + image
(made mainly out of the debuggee*.* only files). The idea is of course
to use different compilers, debug format, options, 32/64bit targets...
Those alternate images **ARE NOT** part (for now) of winetest.
Unfortunately, with Winetest Bot, the A) won't work under windows: debug
format of dbghelp_test.exe is dwarf2, while native dbghelp doesn't support
it. So the tests are skipped. Anyway, most of the Windows setup:s don't
have native dbghelp.dll installed <g>, so that shouldn't change much.
I locally test every patch with:
- A) on 32bit Wine (mingw + dwarf2)
- A) on 64bit Wine (mingw + dwarf2)
- A) on Windows10 as PE64 (msc + pdb)
- B) image: mingw + dwarf2 + target=PE64bit + option -O1 on 64bit Wine
- B) image: mingw + dwarf2 + target=PE32bit + option -O1 on 32bit Wine
- B) image: ms compiler + pdb + target=PE64bit + option /O1 on 64 bit Wine
This serie will be continued with:
1) more tests (and more fixes) (around 20+ patches to come)
2) support of dwarf3 and 4 (around 70+ patches to come)
I also plan to add more local tests (dwarf3 and dwarf4; WoW; PE32 + pdb on
Wine, cross 32/64 bit between tester and debuggee, other options O2).
A+
---
Eric Pouech (9):
dbghelp/tests: Added dedicated structure to control the debuggee
dbghelp/tests: Added ability to launch an external process instead of debugging self
dbghelp/tests: Now properly getting base of main module inside debuggee structure
dbghelp/tests: Added two new compilation units (debuggee1.c and debuggee2.c)
dbghelp/tests: now building inside each debuggee a manifest
dbghelp/tests: StackWalk64 testing now support external process
dbghelp/tests: Added tests about getting symbol information
dbghelp: returns name of compiland in SymGetTypeInfo
dbghelp: handling of complex location in dwarf
dlls/dbghelp/dwarf.c | 1 -
dlls/dbghelp/tests/Makefile.in | 4 +-
dlls/dbghelp/tests/dbghelp.c | 505 +++++++++++++++++++++++++++++++--
dlls/dbghelp/tests/debuggee.h | 30 ++
dlls/dbghelp/tests/debuggee1.c | 115 ++++++++
dlls/dbghelp/tests/debuggee2.c | 7 +
dlls/dbghelp/type.c | 3 +-
7 files changed, 644 insertions(+), 21 deletions(-)
create mode 100644 dlls/dbghelp/tests/debuggee.h
create mode 100644 dlls/dbghelp/tests/debuggee1.c
create mode 100644 dlls/dbghelp/tests/debuggee2.c
More information about the wine-devel
mailing list