[Wine] Re: Help on debug messages..

Daniel Skorka skorka at gmx.net
Mon Mar 19 00:47:12 CDT 2007


Fredolin.Lakuman at gmail.com wrote:
> Can anyone help me to interpret this debug messages? I'm trying to run
> our user application on wine-0.9.19. I can't see which part giving the
> actual problem. Thks
> 
> WINEDEBUG=+loaddll wine "c:\esispen\esispen.exe"
> ----------------------------------------------------------
[...]
> wine: Unhandled division by zero at address 0x480eb8 (thread 0009),
> starting debugger...
> WineDbg starting on pid 0x8
> Unhandled exception: divide by zero in 32-bit code (0x00480eb8).
> Register dump:
> CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033
> EIP:00480eb8 ESP:0033f418 EBP:0033f760 EFLAGS:00210206(   - 00      -
> RIP1)
> EAX:0000000c EBX:00386dd8 ECX:0000000c EDX:00000000
> ESI:00386dd8 EDI:00000001
> Stack dump:
> 0x0033f418:  0033f34c 00000000 00000001 00481094
> 0x0033f428:  00000001 00386dd8 0033f760 0033f448
> 0x0033f438:  00000001 0033f34c 00000000 00386dd8
> 0x0033f448:  00386dd8 00484d7c 00386dd8 00000677
> 0x0033f458:  0033f760 0033f470 003846c8 82800000
> 0x0033f468:  0051af40 00386dd8 00386dd8 00481305
> fixme:ntdll:RtlNtStatusToDosErrorNoTeb no mapping for c0000119
> Backtrace:
> =>1 0x00480eb8 in esispen (+0x80eb8) (0x00480eb8)
>  2 0x604ce425 in user32 (+0x9e425) (0x604ce425)
>  3 0x604d0a1d CallWindowProcA+0x5d in user32 (0x604d0a1d)
>  4 0x60499733 in user32 (+0x69733) (0x60499733)
>  5 0x6049cecc SendMessageTimeoutA+0x1ec in user32 (0x6049cecc)
>  6 0x6049cf8c SendMessageA+0x4c in user32 (0x6049cf8c)
>  7 0x60c74ea0 X11DRV_CreateWindow+0x890 in winex11 (0x60c74ea0)
>  8 0x604c70de in user32 (+0x970de) (0x604c70de)
>  9 0x604c8850 CreateWindowExA+0x90 in user32 (0x604c8850)
>  10 0x00503849 in esispen (+0x103849) (0x00503849)
>  11 0x004a915c in esispen (+0xa915c) (0x004a915c)
>  12 0x0040578a in esispen (+0x578a) (0x0040578a)
>  13 0x004a932c in esispen (+0xa932c) (0x004a932c)
>  14 0x004a98ff in esispen (+0xa98ff) (0x004a98ff)
>  15 0x6001f9d7 wine_switch_to_stack+0x17 in libwine.so.1 (0x6001f9d7)
> 0x00480eb8: idivl       0x12d(%ebx),%eax

Ok. Firstly, the division by zero occurs in your program, so the first
step is to recompile it with debugging symbols, to see where exactly
something is going wrong. Secondly, it happens right after a return from
user32. So my guess is that you call some function in user32.dll and use
some of the values returned. I'll assume it doesn't crash on native
windows, so there are two possibilities:
a) The function in wines user32.dll is misbehaving, and not returning
correct values. 
b) The function in wines user32.dll is behaving correctly, but different
from what you expected. Check the return values more carefully.

Daniel


More information about the wine-users mailing list