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