Discussion:
Debuggee already running error in... due to IDebugEventCallback
(too old to reply)
Pusscat
2008-04-20 19:54:57 UTC
Permalink
I'm currently writing a plugin which implements the
IDebugEventCallbacks interface to catch some breakpoints. However, it
seems that after registering the callback with SetEventCallbacks
function, I can't run the target program. Any attempt to continue
execution after loading results in no response initially, then
"Debuggee already running error in 'g' " subsequent times.

Here are my implementations of the relevant functions:

HRESULT __stdcall detectionCallBack::Breakpoint(PDEBUG_BREAKPOINT bp)
{
return (DEBUG_STATUS_BREAK);
}

HRESULT __stdcall detectionCallBack::GetInterestMask(PULONG mask) {
if (mask != NULL)
*mask = DEBUG_EVENT_BREAKPOINT;
return (S_OK);
}

retCode = g_ExtClient->SetEventCallbacks(dcb);

Thanks for your eyes and time!

_________________________
Lurene A Grenier
tankbattle
2008-05-23 14:27:01 UTC
Permalink
I've encountered the same problem and worked around by invoking
g_ExtClient->CreateClient and invoking SetEventCallbacks on the newly created
client. I hope this works for you.
Post by Pusscat
I'm currently writing a plugin which implements the
IDebugEventCallbacks interface to catch some breakpoints. However, it
seems that after registering the callback with SetEventCallbacks
function, I can't run the target program. Any attempt to continue
execution after loading results in no response initially, then
"Debuggee already running error in 'g' " subsequent times.
HRESULT __stdcall detectionCallBack::Breakpoint(PDEBUG_BREAKPOINT bp)
{
return (DEBUG_STATUS_BREAK);
}
HRESULT __stdcall detectionCallBack::GetInterestMask(PULONG mask) {
if (mask != NULL)
*mask = DEBUG_EVENT_BREAKPOINT;
return (S_OK);
}
retCode = g_ExtClient->SetEventCallbacks(dcb);
Thanks for your eyes and time!
_________________________
Lurene A Grenier
Loading...