Example #1
0
int CDllMain::PluginException(
	t_run* trun, const t_disasm* tda, t_thread* thrd, t_reg* treg, wchar_t* msg
){
	/*DEBUG_EVENT *debugevent = &trun->de;
	Addtolist(
		1,1,L"Debug Code:%x, First Change:%x, ExceptionCode:%x, ExceptionFlags:%x, ExceptionAddress:%x, Debug Register 6:%x, ContextFlags:%x", 
		debugevent->dwDebugEventCode, debugevent->u.Exception.dwFirstChance,
		debugevent->u.Exception.ExceptionRecord.ExceptionCode,
		debugevent->u.Exception.ExceptionRecord.ExceptionFlags,
		debugevent->u.Exception.ExceptionRecord.ExceptionAddress,
		thrd->context.Dr6, thrd->context.ContextFlags
	);*/
	return DispatchException(trun, tda, thrd);
}
Example #2
0
static void
throwDispatchException (EXCEPINFO &excepInfo)
{
    // Clean up exception information strings.
    _bstr_t source(excepInfo.bstrSource, false);
    _bstr_t description(excepInfo.bstrDescription, false);
    _bstr_t helpFile(excepInfo.bstrHelpFile, false);

    HRESULT hr = excepInfo.scode;
    if (hr == 0) {
        hr = _com_error::WCodeToHRESULT(excepInfo.wCode);
    }
    throw DispatchException(hr, description);
}