Misc wine debugging questions

Mike Hearn mike at theoretic.com
Thu Oct 30 14:35:00 CST 2003


Hi all,

Time to extend my knowledge a bit further, so here are a few misc
questions:

Firstly, how do I set a breakpoint that will be triggered in a child
process? I'm trying to debug a crash in an InstallShield when using native
comctl32, and the backtrace looks like this:

0011: sel=008f base=4020bb20 limit=00000fff 32-bit rw-
Backtrace:
=>0 0x409cd9c8 (large_handles+0x4368 [gdiobj.c] in gdi32.dll.so) (ebp=40962da8)
  1 0xbfb8fa6c (COMCTL32.DLL.ImageList_LoadImageW+0x1a7 in COMCTL32.DLL) (ebp=40962dbc)
  2 0xbfb8f698 (COMCTL32.DLL.EntryPoint+0x36 in COMCTL32.DLL) (ebp=40962e34)
  3 0x401d78b8 (process_attach+0xf8(wm=0x40310960, lpReserved=0x1) [loader.c:783] in ntdll.dll.so) (ebp=40962e58)
  4 0x401d78e7 (process_attach+0x127(wm=0x40310650, lpReserved=0x1) [loader.c:775] in ntdll.dll.so) (ebp=40962e78)
  5 0x401d98eb (LdrInitializeThunk+0x1f3(main_file=0x4, CreateFileW_ptr=0x40467de8, unknown3=0x0, unknown4=0x0) [loader.c:1835] in ntdll.dll.so) (ebp=40962f20)
  6 0x4049e4b7 (start_process+0x93(arg=0x0) [process.c:171] in kernel32.dll.so) (ebp=40962ff4)
  7 0x4002eba5 (wine_switch_to_stack+0x11 in libwine.so.1) (ebp=00000000)
 
0x409cd9c8 (large_handles+0x4368 [gdiobj.c] in gdi32.dll.so): addb      %al,0x0(%eax)

So it seems to be jumping off to somewhere in the data segment of gdi32. I
wanted to set a breakpoint a few instructions before the "call"
instruction that frame 1 points to, but whenever I try that the program
runs, then the standard "Unhandled exception, starting winedbg" message is
printed even though it's already running inside winedbg. Do I need to do
something special here?

Secondly, I noticed recently that with non-AA fonts winecfg renders
wrongly, in particular the labels wrap or are clipped. I don't understand
how win32 apps deal with different font sizes without containment based
layout - is this a bug in my app (fwiw i've seen variants of this problem
in a lot of other apps), a bug in wine, or a design flaw in win32? I've
never seen that problem in real windows, so I'd guess bug in wine.

Thirdly, Greg recently mentioned "stubless proxies". Does anybody know
where I can read about these?

thanks -mike




More information about the wine-devel mailing list