I appreciate the tip about falling back on the relay debug channel, but may I ask how you know the problem is with BlockInput not existing? Is there something from the output that I'm not understanding, or do you just know that because you're familiar with the kernel32.dll code?
I'm a long way from ever becoming a Wine developer, but I do want to learn how to either get my programs working, or to be able to accurately identify bugs.
On Thursday 23 February 2006 20:18, Juan Lang wrote:
Hi Rich, the key one to use is relay. WINEDEBUG=relay tells you every API function that's called. It can be a bit overwhelming, but it's what you fall back on when nothing else is working.
I downloaded and tried it, and scanned backwards in my relay trace a good distance till I saw some failure. Here's what I think it is: 0009:Call kernel32.GetProcAddress(20290000,0052b895 "BlockInput") ret=0052cc6a 0009:Call ntdll.RtlInitAnsiString(73ccfe20,0052b895 "BlockInput") ret=201d2c3e 0009:Ret ntdll.RtlInitAnsiString() retval=00000000 ret=201d2c3e 0009:Call ntdll.LdrGetProcedureAddress(20290000,73ccfe20,00000000,73ccfe1c) ret=201d2c4d 0009:Ret ntdll.LdrGetProcedureAddress() retval=c000007a ret=201d2c4d 0009:Call ntdll.RtlNtStatusToDosError(c000007a) ret=201d2c7d 0009:Ret ntdll.RtlNtStatusToDosError() retval=0000007f ret=201d2c7d 0009:Ret kernel32.GetProcAddress() retval=00000000 ret=0052cc6a 0009:Call kernel32.ExitProcess(0052cb10) ret=0052cc7b
That is, somebody's trying to get the function BlockInput from kernel32.dll, and it isn't there, so the program exits.
I don't know if this is in MFC somewhere, or in the program's source. Luckily the source is available, so you might be able to proceed. Hope that helps, --Juan
Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com