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