Debugging 64-bit Wine Apps with winedbg

Eric Pouech eric.pouech at orange.fr
Sat Oct 9 01:54:26 CDT 2010


Le 24/09/2010 05:12, Peter Urbanec a écrit :
>
>  On 24/09/10 06:43, Eric Pouech wrote:
>> sure send me the .exe+pdb (+source) I'll have a look at it
>
> Source and binaries sent to Eric in private, so that the list isn't 
> polluted with megabytes of binaries. If anyone else is interested in 
> having a copy, please let me know and I'll forward it in private.
>
> Cheers,
>
>     Peter Urbanec
>
>
>
>
with the patchset I've just sent, I get something like:
> Thread 0x0021 sleeping 200ms
> Thread 0x0022 sleeping 200ms
> Thread 0x0020 sleeping 240ms
> Thread 0x0023 sleeping 200ms
> Thread 0x0021 *** C R A S H I N G ***
> wine: Unhandled page fault on write access to 0x00000000 at address 
> 0x1400010b3 (thread 0021), starting debugger...
> Thread 0x0022 *** C R A S H I N G ***
> Thread 0x0023 *** C R A S H I N G ***
> WineDbg starting on pid 001f
> Thread 0x0020 *** C R A S H I N G ***
> First chance exception: page fault on write access to 0x00000000 in 
> 64-bit code (0x00000001400010b3).
> Register dump:
>  rip:00000001400010b3 rsp:00007feb8997fbb0 rbp:0000000140001a20 
> eflags:00010202 (  R- --  I   - - - )
>  rax:0000000000000000 rbx:00007feb8bb55000 rcx:0000000140084478 
> rdx:0000000140084480
>  rsi:00007feb8b937401 rdi:00007feb8997fbe0  r8:0000000000000001  
> r9:000000000010d640 r10:00007feb8997e850
>  r11:00007feb8997e820 r12:0000000000000000 r13:000000007b86f590 
> r14:00000001400000d8 r15:00007feb8bb50000
> Stack dump:
> 0x00007feb8997fbb0:  000000014006ed20 0000000000000020
> 0x00007feb8997fbc0:  00007feb8997fa60 0000000000000028
> 0x00007feb8997fbd0:  00007feb8997fc30 cccccccc00000020
> 0x00007feb8997fbe0:  00007feb8997fce0 0000000140001223
> 0x00007feb8997fbf0:  00007feb8997fc30 0000000000000010
> 0x00007feb8997fc00:  ccccccccffffffff 0000000140001014
> 0x00007feb8997fc10:  cccccccc00000004 00007feb8997fc84
> 0x00007feb8997fc20:  cccccccccccccccc cccccccccccccccc
> 0x00007feb8997fc30:  000000f0cccccc01 0000000000000000
> 0x00007feb8997fc40:  000000c8cccccc01 0000000000000000
> 0x00007feb8997fc50:  000000c8cccccc01 0000000000000000
> 0x00007feb8997fc60:  000000c8cccccc01 0000000000000000
> Backtrace:
> =>0 0x00000001400010b3 Boom::crash_func+0x83(void_ptr=0x7feb8997fc30, 
> arg_ref=0x7feb8997fc30, tid=32) 
> [z:\eyeon\u_drive\projects\winedbg_testcases\multiplethreads\multiplethreads.cpp:29] 
> in multiplethreads (0x0000000140001a20)
>   1 0x0000000140001223 main+0x142(argc=1, argv=0x7feb89771130, 
> thisThread=0xfffffffffffffffe, threadHandle={0x1c, 0x20, 0x24}, 
> threadID=35, oldpri=0, a={{cause_crash=true, delay=240, 
> pointer=0x0(nil)}, {cause_crash=true, delay=200, pointer=0x0(nil)}, 
> {cause_crash=true, delay=200, pointer=0x0(nil)}, {cause_crash=true, 
> delay=200, pointer=0x0(nil)}}) 
> [z:\eyeon\u_drive\projects\winedbg_testcases\multiplethreads\multiplethreads.cpp:63] 
> in multiplethreads (0x0000000140001a20)
>   2 0x0000000140001c5c __tmainCRTStartup+0x21b(winver=1281, mainret=0, 
> osver=2600, winminor=1, posvi=0x7feb8ba24070, osplatform=2, 
> managedapp=0, initret=0, winmajor=5) 
> [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crt0.c:327] in 
> multiplethreads (0x0000000140001a20)
>   3 0x0000000140001a2e mainCRTStartup+0xd() 
> [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crt0.c:195] in 
> multiplethreads (0x0000000140001a20)
>   4 0x000000007b86f64f start_process+0xbe(peb=0x7feb8bb55000) 
> [/home/eric/work/wine/dlls/kernel32/process.c:963] in kernel32 
> (0x0000000140001a20)
>   5 0x00007feb8abfe43e call_thread_func+0x6d(entry=<is not available>, 
> arg=<is not available>, frame=<is not available>) 
> [/home/eric/work/wine/dlls/ntdll/signal_x86_64.c:3036] in ntdll 
> (0x0000000140001a20)
>   6 0x00007feb8abfd73e call_thread_entry_point+0x29() in ntdll 
> (0x0000000140001a20)
>   7 0x00007feb8abd0da6 start_process+0x15(kernel_start=0x7feb8997fec8) 
> [/home/eric/work/wine/dlls/ntdll/loader.c:2610] in ntdll 
> (0x0000000140001a20)
>   8 0x00007feb8b611ea3 wine_call_on_stack+0x12() in libwine.so.1 
> (0x0000000140001a20)
>   9 0x00007feb8b611eb9 wine_switch_to_stack+0x8(func=0x7feb8997fec8, 
> arg=0x0(nil), stack=0x140084480) 
> [/home/eric/work/wine/libs/wine/port.c:83] in libwine.so.1 
> (0x0000000140001a20)
>   10 0x00007feb8abd5294 
> LdrInitializeThunk+0x3d3(kernel_start=0x7b86f590, unknown2=<is not 
> available>, unknown3=<is not available>, unknown4=<is not available>) 
> [/home/eric/work/wine/dlls/ntdll/loader.c:2666] in ntdll 
> (0x0000000140001a20)
>   11 0x000000007b874185 __wine_kernel_init+0x914() 
> [/home/eric/work/wine/dlls/kernel32/process.c:1163] in kernel32 
> (0x0000000140001a20)
>   12 0x00007feb8abd5824 __wine_process_init+0x253() 
> [/home/eric/work/wine/dlls/ntdll/loader.c:2876] in ntdll 
> (0x0000000140001a20)
>   13 0x00007feb8b610a0f wine_init+0x28e(argc=<is not available>, 
> argv=0x7fff9949d238, error="", error_size=<is not available>) 
> [/home/eric/work/wine/libs/wine/loader.c:711] in libwine.so.1 
> (0x0000000140001a20)
>   14 0x000000007bf00cf1 main+0x80(argc=2, argv=0x7fff9949d238) 
> [/home/eric/work/wine/loader/main.c:218] in <wine-loader> 
> (0x0000000140001a20)
>   15 0x00007feb8b087c4d __libc_start_main+0xfc(main=<is not 
> available>, argc=<is not available>, ubp_av=<is not available>, 
> init=<is not available>, fini=<is not available>, rtld_fini=<is not 
> available>, stack_end=0x7fff9949d228) 
> [/build/buildd/eglibc-2.11.1/csu/libc-start.c:226] in libc.so.6 
> (0x0000000140001a20)
>   16 0x000000007bf00ba9 _start+0x28() in <wine-loader> 
> (0x0000000140001a20)
> 0x00000001400010b3 Boom::crash_func+0x83 
> [z:\eyeon\u_drive\projects\winedbg_testcases\multiplethreads\multiplethreads.cpp:29] 
> in multiplethreads: movq  %rax,0x0000000000000000
> Unable to open file ''
which is closer to what one should expect.
A+

-- 
Eric Pouech
"The problem with designing something completely foolproof is to underestimate the ingenuity of a complete idiot." (Douglas Adams)




More information about the wine-devel mailing list