Debugging
Juan Lang
juan_lang at yahoo.com
Thu Feb 23 23:28:38 CST 2006
> 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?
Molle's right--it just looks suspicious, since it's the last thing that's
called before ExitProcess. I didn't copy-paste any more of the log, but
there were a whole bunch of GetProcAddress calls prior to this that
succeeded, which raises the probability that this was the cause. And, as
Molle suggested, a quick glance at the kernel32 code shows that BlockInput
is missing.
As far as how did I spot this in the log--well, that's just experience.
You can learn it pretty quickly though, especially when an app dies early.
I just scroll through a log from the end toward the beginning, and look
for a change in pattern on the screen. Different things are starting to
happen there, so I slow down for a closer look. If it looks like normal
shutdown code--and there's usually hundreds of lines of this stuff--I
ignore it and move on.
As far as how to deal with this, try modifying kernel32.spec to add a stub
for BlockInput, like:
@ stub BlockInput
and see if the program gets any further. Chances are it'll crash
somewhere else down the line, so you'll have to do the usual
wash-rinse-repeat. You should also take a look through KeePass's source
code and try to find out what's going on.
--Juan
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
More information about the wine-devel
mailing list