WINEDBG: add support to interrogate gdi objects

Ulrich Czekalla ulrich.czekalla at
Fri Jan 21 08:39:23 CST 2005

I wrote this patch quite a while back in 2003. The db_disasm.c changes are
not part of the original patch. I'm not sure where they come from.

I'll update the patch as per your comments as soon as I get a chance and
resubmit it.



On Fri, Jan 21, 2005 at 01:16:15PM +0100, Pouech Eric DMI AEI CAEN wrote:
> > Message du 21/01/05 04:10
> > 
> > ChangeLog:
> > Ulrich Czekalla 
> > * add support to interrogate gdi objects
> several comments:
> * the changes in db_disasm.c are not declared in the changelog. Morever, I don't see the need of passing an extra parameter in db_task_printsym as you don't need it (maybe you forgot that part from the patch ?)
> * for the pure gdi info.
> - always use (when looking for a symbol) the name of the DLL you're looking the symbol from. this has several good side effects: first, it shortens the scope for searching (as dbghelp treats all global symbol - static or public - in the same name space), this reduces the likely hood of name conflicts. Secondly, the search will be much faster (as dbghelp won't be searched for all loaded DLLs), and won't force loading of symbols in DLLs for which we haven't looked up symbols yet (deferred symbol loading). For example, you should use gdi32!GDI_HeapSel for the symbol out of gdi32.
> * why are you using the ldt_copy at all ? there's support in winedbg for linearizing 16bit addresses, so making a 16 bit addr out of gdi-sel and handle and linearizing it should work.
> * you should add the same functionality to the gdbproxy (or at least add a TODO in winedbg.c to remain that it has to be done)
> * you should document the feature (info.c and documentation/debugger.sgml)
> A+

More information about the wine-devel mailing list