[Wine] Re: debugging an app
Henry Gomersall
whg21 at cam.ac.uk
Thu May 24 04:38:06 CDT 2007
On Wed, 2007-05-23 at 10:13 -0700, Duane Clark wrote:
> In your ~/.wine/user.reg, there is a registry key:
> [Software\\Wine\\Debug] 1147111116
> "RelayExclude"="ntdll.RtlEnterCriticalSection;ntdll.RtlLeaveCriticalSection;kernel32.97;kernel32.98"
>
> Try adding kernel32.TlsGetValue etc to it.
>
Great, this means i can actually grab what is going on (I stopped
without these when the log ate up all my HD space!).
So, the question now is what to do with the error log.
The last few lines before the crash are:
0009:Ret ntdll.RtlFreeUnicodeString() retval=7bc4fc60 ret=7b875485
0009:Call ntdll.RtlFreeUnicodeString(0034dc6c) ret=7b875493
0009:Ret ntdll.RtlFreeUnicodeString() retval=7bc4fc60 ret=7b875493
0009:Call
ntdll.NtWaitForMultipleObjects(00000001,0034db50,00000000,00000000,00000000) ret=7b8881c6
0009:Ret ntdll.NtWaitForMultipleObjects() retval=00000000
ret=7b8881c6
0009:Ret KERNEL32.UnhandledExceptionFilter() retval=00000000
ret=7c34c456
0009:Call
ntdll.NtQueryVirtualMemory(ffffffff,035b2000,00000000,0034dfc8,0000001c,0034dcec) ret=7b897aa1
0009:Ret ntdll.NtQueryVirtualMemory() retval=00000000 ret=7b897aa1
Which is nested within the following functions (the last function is the
above functions parent). Lots of other functions on the same level have
been snipped out:
0009:Call user32.SendMessageA(000101b0,00000001,00000000,0034ef9c)
ret=7e0dc908
0009:Call KERNEL32.94(7ea72e60) ret=7ea28200
0009:Ret KERNEL32.94() retval=00000009 ret=7ea28200
0009:Call KERNEL32.94(7ea72e60) ret=7ea28200
0009:Ret KERNEL32.94() retval=00000009 ret=7ea28200
0009:Call window proc 0x7c16e1bd
(hwnd=0x101b0,msg=WM_CREATE,wp=00000000,lp=0034ef9c)
Similarly, the above block has the following as parent and grandparent:
0009:Call user32.CreateWindowExA(00000000,0017e29c
"Afx:00400000:8:000010DE:00000000:00000000",00000000,56000000,00000000,00000000,00000000,00000000,00020028,00000000,00400000,00000000) ret=7c152206
0009:Call KERNEL32.GlobalFindAtomA(0017e29c
"Afx:00400000:8:000010DE:00000000:00000000") ret=7ea2ea9c
0009:Call ntdll.NtFindAtom(0034ebec,00000052,0034edea) ret=7b834d65
0009:Ret ntdll.NtFindAtom() retval=00000000 ret=7b834d65
0009:Ret KERNEL32.GlobalFindAtomA() retval=0000c049 ret=7ea2ea9c
0009:Call winex11.drv.CreateWindow(000101b0,0034ef9c,00000000)
ret=7ea2d2c3
> > If I set the windows version to 98, I get as the final few lines:
>
> Does the program run under Win98? In any case, I wouldn't bother
> trying
> to run it that way.
It crashes at the same point if I set the windows version to 98.
it seems that the last line:
0009:Ret ntdll.NtQueryVirtualMemory() retval=00000000 ret=7b897aa1
Is a common function and hence I assume well debugged. Is it obvious
where I should look for the bug?
Any new pointers would be appreciated!
Cheers,
Henry
More information about the wine-users
mailing list