ExceptionInfo ConvertToGeneric(EXCEPTION_INFO150 exception) { return(new ExceptionInfo(exception.bstrExceptionName, TopExceptions.First(ex => ex.guidType == exception.guidType).bstrExceptionName) { State = exception.dwState, Code = exception.dwCode, Conditions = exception.pConditions.ToArray() }); }
void SetBreakFirstChance(ref EXCEPTION_INFO150 exception, bool breakFirstChance) { if (breakFirstChance) { Constants.EnableException(ref exception.dwState); } else { Constants.DisableException(ref exception.dwState); } }
public static EXCEPTION_INFO Convert(EXCEPTION_INFO150 info) { return(new EXCEPTION_INFO { bstrExceptionName = info.bstrExceptionName, bstrProgramName = info.bstrProgramName, dwCode = info.dwCode, dwState = (enum_EXCEPTION_STATE)info.dwState, guidType = info.guidType, pProgram = info.pProgram }); }
EXCEPTION_INFO150[] GetSetExceptions(EXCEPTION_INFO150 parent) { IEnumDebugExceptionInfo150 enumerator = default(IEnumDebugExceptionInfo150); if (Session.EnumSetExceptions(parent.guidType, out enumerator) == 0 && enumerator != null) { return(enumerator.ToArray()); } else { return(new EXCEPTION_INFO150[] { }); } }
int IDebugExceptionEvent150.GetException(EXCEPTION_INFO150[] pExceptionInfo) { var info = new EXCEPTION_INFO[1]; int hr = ((IDebugExceptionEvent2)this).GetException(info); if (hr != VSConstants.S_OK) { return hr; } pExceptionInfo[0].guidType = info[0].guidType; pExceptionInfo[0].bstrExceptionName = info[0].bstrExceptionName; pExceptionInfo[0].bstrProgramName = info[0].bstrProgramName; pExceptionInfo[0].dwCode = info[0].dwCode; pExceptionInfo[0].dwState = (uint)info[0].dwState; pExceptionInfo[0].pProgram = info[0].pProgram; return VSConstants.S_OK; }
bool IsExceptionTopException(EXCEPTION_INFO150 exception) { return(TopExceptions.Any(top => top.bstrExceptionName == exception.bstrExceptionName)); }