Reply To: Record hook not freed??

Product Compare Forums Multi-Edit Support Record hook not freed?? Reply To: Record hook not freed??

#5561
Michal Vodicka
Participant

Are you ready for the next remote debugging session? ;-)

Set breakpoint to the same place as before to test eax,eax instruction after unhook call in MEW but make breakpoint conditional following way:

[code:cvfsxe8k]0:002> bp 004e691f "j @eax = 0 ‘.echo Unhook error;!gle;g’;’.echo Unhook OK;g’"
0:002> bl
0 e 004e691f 0001 (0001) 0:*** MeLib!FreeUndoBuffer+0x1183 "j @eax = 0 ‘.echo Unhook error;!gle;g’;’.echo Unhook OK;g’"[/code:cvfsxe8k]

Please note every “, ‘ and ; is important. See conditional breakpoint in WinDbg help for more info.

Now if eax is zero after UnhookWindowsHookEx() which indicates error, breakpoint would write “Unhook error”, fire !gle command and continue execution. It shouldn’t cause desktop freeze and we should see real error.

Once set, leave debugger (g) and try to record a keyboard macro several times (say 10). For every attempt there should be one “Unhook OK/error” report in the debugger. Once done, copy all this output (including possible non-errors) here. Thanks.