It turns out that SystemFunction036 is actually required to do something for MyPhotoCalendars.exe to install correctly because the installer exits with a program-level exception (ie not wine) What I would like to do is run MyPhot...exe with winedbg and then set a breakpoint for SystemFunction036 so that execution will stop when that function is called so I can see who is calling it or something along those lines, but I set the break point and when SystemFunction036 is called, the program doesnt stop at all.
winedbg MyPhotoCalendars.exe WineDbg starting on pid 0xa In 32 bit mode. 1249 static inline void WINAPI DbgBreakPoint(void) { __asm__ __volatile__("int3"); } Wine-dbg>break SystemFunction036 fixme:dbghelp:elf_load_debug_info Unsupported Dwarf2 information for ld-linux.so.2 Breakpoint 1 at 0x4089a670 SystemFunction036 [/home/truiken/wine/dlls/advapi32/crypt.c:1914] in advapi32 Wine-dbg>step 1019 ExitProcess( entry( peb ) ); Wine-dbg>step Single stepping until exit from function, which has no line number information. ......... fixme:crypt:SystemFunction036 ( _A)l@H¦X@`ùm@%!D, 256): stub fixme:win:WIN_CreateWindowEx Parent is HWND_MESSAGE fixme:crypt:SystemFunction036 (H¦X@, 256): stub fixme:actctx:FindActCtxSectionGuid stub! Invalid address (0x00404aa2) for breakpoint 0, disabling it Invalid address (0x4089a670) for breakpoint 1, disabling it Process of pid=0x0000000a has terminated Wine-dbg>bt You must be attached to a process to run this command.
Any thoughts?
Hi,
On Mon, Sep 27, 2004 at 05:38:10PM -0400, James Hawkins wrote:
It turns out that SystemFunction036 is actually required to do something for MyPhotoCalendars.exe to install correctly because the installer exits with a program-level exception (ie not wine) What I would like to do is run MyPhot...exe with winedbg and then set a breakpoint for SystemFunction036 so that execution will stop when that function is called so I can see who is calling it or something along those lines, but I set the break point and when SystemFunction036 is called, the program doesnt stop at all.
Why not use the native DLL, then do a +relay,+snoop trace, remember the function return address and then in a new winedbg session, do a disas around that location to find out everything you ever wanted about SystemFunction036?
(you might need to set a breakpoint to a common function such as GetVersion and run the program first, in order to actually get the program part loaded into memory that calls SystemFunction036; some more c'ontinues on GetVersion might be needed to finally get that part loaded)
Andreas Mohr