>> What thread are you calling ICorDebugProcess::Continue on?
All ICorDebugProcess::Continue() takes is a BOOL for out of band. The ICorDebugProcess interface I'm using is the one returned from DebugActiveProcess() or AttachToProcess()
Here's my implementation of DebugUnmanagedCallback::DebugEvent()
HRESULT STDMETHODCALLTYPE CDebugUnmanagedCallback::DebugEvent(LPDEBUG_EVENT pDebugEvent, BOOL fOutOfBand) { switch (pDebugEvent->dwDebugEventCode) { case CREATE_PROCESS_DEBUG_EVENT: CloseHandle(pDebugEvent->u.CreateProcessInfo.hFile); break;
case EXCEPTION_DEBUG_EVENT: m_pSymInterface->ClearCurrentException(pDebugEvent->dwThreadId); break;
case LOAD_DLL_DEBUG_EVENT: break;
case UNLOAD_DLL_DEBUG_EVENT: break;
case CREATE_THREAD_DEBUG_EVENT: break;
case EXIT_PROCESS_DEBUG_EVENT: break; }
return m_pSymInterface->ContinueFromCallback(fOutOfBand); }
>> Which version of the CLR is running in the debuggee?
I'm using the CLR version returned from GetRequestedRuntime() for creating a process and GetVersionFromProcess() for DebugActiveProcess()
- Dan.
|