public sealed override void Dispatch(ICorDebugManagedCallback callback)
            {
                bool fSuspendThreadEventsSav = m_thread.SuspendThreadEvents;

                try {
                    m_thread.SuspendThreadEvents = m_fSuspendThreadEvents;
                    DispatchThreadEvent(callback);
                } finally {
                    m_thread.SuspendThreadEvents = fSuspendThreadEventsSav;
                }
            }
            public override void DispatchThreadEvent(ICorDebugManagedCallback callback)
            {
                switch (m_eventType)
                {
                case EventType.EvalComplete:
                    callback.EvalComplete(m_thread.AppDomain, m_thread, m_eval);
                    break;

                case EventType.EvalException:
                    callback.EvalException(m_thread.AppDomain, m_thread, m_eval);
                    break;
                }
            }
            public sealed override void Dispatch( ICorDebugManagedCallback callback )
            {
                bool fSuspendThreadEventsSav = m_thread.SuspendThreadEvents;

                try
                {
                    m_thread.SuspendThreadEvents = m_fSuspendThreadEvents;
                    DispatchThreadEvent( callback );
                }
                finally
                {
                    m_thread.SuspendThreadEvents = fSuspendThreadEventsSav;
                }
            }
            public override void DispatchThreadEvent(ICorDebugManagedCallback callback)
            {
                //HACK HACK HACK
                //This is an ugly hack.  cdpe.dll expects the callback to Breakpoint to occur with the same IntPtr
                //that they received from a CreateBreakpoint method, which is likely a ICorDebugFunctionBreakpoint
                //(that's all there is implemented now at least)
                //The default interop code will marshal an ICorDebugBreakpoint, as the API says, which will not be equal
                //and will cause execution to break at the entryPoint.
                //Alternative fix is to change the interop assembly, since we don't support any breakpoints besides
                //ICorDebugFunctionBreakpoints as of yet, but this will do as well
                IntPtr pUnk = Marshal.GetComInterfaceForObject(m_breakpoint, m_typeToMarshal);

                callback.Breakpoint(m_thread.AppDomain, m_thread, pUnk);
                Marshal.Release(pUnk);
            }
            public override void Dispatch(ICorDebugManagedCallback callback)
            {
                ICorDebugAppDomain appDomain = m_class.Assembly.AppDomain;

                switch (m_eventType)
                {
                case EventType.LoadClass:
                    callback.LoadClass(appDomain, m_class);
                    break;

                case EventType.UnloadClass:
                    callback.UnloadClass(appDomain, m_class);
                    break;
                }
            }
            public override void Dispatch(ICorDebugManagedCallback callback)
            {
                switch (m_eventType)
                {
                case EventType.CreateAppDomain:
                    callback.CreateAppDomain(m_appDomain.Process, m_appDomain);
                    break;

                case EventType.ExitAppDomain:
                    callback.ExitAppDomain(m_appDomain.Process, m_appDomain);
                    break;

                case EventType.Other:
                    Debug.Assert(false, "Invalid ManagedCallbackAppDomain event");
                    break;
                }
            }
            public virtual void DispatchThreadEvent(ICorDebugManagedCallback callback)
            {
                switch (m_eventType)
                {
                    case EventType.CreateThread:
                        callback.CreateThread(m_thread.AppDomain, m_thread);
                        break;

                    case EventType.ExitThread:
                        callback.ExitThread(m_thread.AppDomain, m_thread);
                        break;

                    case EventType.NameChange:
                        callback.NameChange(m_thread.AppDomain, m_thread);
                        break;

                    case EventType.Other:
                        Debug.Assert(false, "Invalid ManagedCallbackThread event");
                        break;
                }
            }
            public override void Dispatch(ICorDebugManagedCallback callback)
            {
                switch (m_eventType)
                {
                case EventType.LoadAssembly:
                    callback.LoadAssembly(m_assembly.AppDomain, m_assembly);
                    break;

                case EventType.LoadModule:
                    callback.LoadModule(m_assembly.AppDomain, m_assembly);
                    break;

                case EventType.UnloadAssembly:
                    callback.UnloadAssembly(m_assembly.AppDomain, m_assembly);
                    break;

                case EventType.UnloadModule:
                    callback.UnloadModule(m_assembly.AppDomain, m_assembly);
                    break;
                }
            }
            public virtual void DispatchThreadEvent(ICorDebugManagedCallback callback)
            {
                switch (m_eventType)
                {
                case EventType.CreateThread:
                    callback.CreateThread(m_thread.AppDomain, m_thread);
                    break;

                case EventType.ExitThread:
                    callback.ExitThread(m_thread.AppDomain, m_thread);
                    break;

                case EventType.NameChange:
                    callback.NameChange(m_thread.AppDomain, m_thread);
                    break;

                case EventType.Other:
                    Debug.Assert(false, "Invalid ManagedCallbackThread event");
                    break;
                }
            }
            public override void Dispatch(ICorDebugManagedCallback callback)
            {
                switch (m_eventType)
                {
                case EventType.CreateProcess:
                    callback.CreateProcess(m_process);
                    break;

                case EventType.ExitProcess:
                    callback.ExitProcess(m_process);
                    break;

                case EventType.ControlCTrap:
                    callback.ControlCTrap(m_process);
                    break;

                case EventType.Other:
                    Debug.Assert(false, "Invalid ManagedCallbackProcess event");
                    break;
                }
            }
 public override void DispatchThreadEvent(ICorDebugManagedCallback callback)
 {
     callback.LogMessage(m_appDomain, m_thread, (int)m_level, m_switchName, m_message);
 }
 public abstract void Dispatch(ICorDebugManagedCallback callback);
			public override void DispatchThreadEvent (ICorDebugManagedCallback callback)
			{
				callback.Exception (m_thread.AppDomain, m_thread, m_frame, m_ip, m_type, (uint)CorDebugExceptionFlags.DEBUG_EXCEPTION_CAN_BE_INTERCEPTED);
			}
 public override void DispatchThreadEvent(ICorDebugManagedCallback callback)
 {
     //HACK HACK HACK
     //This is an ugly hack.  cdpe.dll expects the callback to Breakpoint to occur with the same IntPtr
     //that they received from a CreateBreakpoint method, which is likely a ICorDebugFunctionBreakpoint
     //(that's all there is implemented now at least)
     //The default interop code will marshal an ICorDebugBreakpoint, as the API says, which will not be equal
     //and will cause execution to break at the entryPoint.
     //Alternative fix is to change the interop assembly, since we don't support any breakpoints besides 
     //ICorDebugFunctionBreakpoints as of yet, but this will do as well
     IntPtr pUnk = Marshal.GetComInterfaceForObject(m_breakpoint, m_typeToMarshal);
     callback.Breakpoint(m_thread.AppDomain, m_thread, pUnk);
     Marshal.Release(pUnk);
 }
 public override void DispatchThreadEvent(ICorDebugManagedCallback callback)
 {
     callback.Break(m_thread.AppDomain, m_thread);
 }
 public override void DispatchThreadEvent(ICorDebugManagedCallback callback)
 {
     ((ICorDebugManagedCallback2)callback).ExceptionUnwind(m_thread.AppDomain, m_thread, m_type, 0);
 }
			public override void Dispatch (ICorDebugManagedCallback callback)
			{
				switch (m_eventType) {
				case EventType.LoadAssembly:
					callback.LoadAssembly (m_assembly.AppDomain, m_assembly);
					break;

				case EventType.LoadModule:
					callback.LoadModule (m_assembly.AppDomain, m_assembly);
					break;

				case EventType.UnloadAssembly:
					callback.UnloadAssembly (m_assembly.AppDomain, m_assembly);
					break;

				case EventType.UnloadModule:
					callback.UnloadModule (m_assembly.AppDomain, m_assembly);
					break;
				}
			}
			public override void DispatchThreadEvent (ICorDebugManagedCallback callback)
			{
				callback.StepComplete (m_thread.AppDomain, m_thread, m_stepper, m_reason);
			}
			public override void Dispatch (ICorDebugManagedCallback callback)
			{
				callback.DebuggerError (m_process, m_errorHR, m_errorCode);
			}
			public override void Dispatch (ICorDebugManagedCallback callback)
			{
				switch (m_eventType) {
				case EventType.CreateAppDomain:
					callback.CreateAppDomain (m_appDomain.Process, m_appDomain);
					break;
				case EventType.ExitAppDomain:
					callback.ExitAppDomain (m_appDomain.Process, m_appDomain);
					break;
				case EventType.Other:
					Debug.Assert (false, "Invalid ManagedCallbackAppDomain event");
					break;
				}
			}
			public override void Dispatch (ICorDebugManagedCallback callback)
			{
				switch (m_eventType) {
				case EventType.CreateProcess:
					callback.CreateProcess (m_process);
					break;
				case EventType.ExitProcess:
					callback.ExitProcess (m_process);
					break;
				case EventType.ControlCTrap:
					callback.ControlCTrap (m_process);
					break;
				case EventType.Other:
					Debug.Assert (false, "Invalid ManagedCallbackProcess event");
					break;
				}
			}
			public override void DispatchThreadEvent (ICorDebugManagedCallback callback)
			{
				switch (m_eventType) {
				case EventType.EvalComplete:
					callback.EvalComplete (m_thread.AppDomain, m_thread, m_eval);
					break;

				case EventType.EvalException:
					callback.EvalException (m_thread.AppDomain, m_thread, m_eval);
					break;
				}
			}
			public override void DispatchThreadEvent (ICorDebugManagedCallback callback)
			{
				callback.ExceptionUnwind (m_thread.AppDomain, m_thread, m_type, 0);
			}
 public override void DispatchThreadEvent(ICorDebugManagedCallback callback)
 {
     callback.BreakpointSetError(m_thread.AppDomain, m_thread, m_breakpoint, m_error);
 }
			public override void DispatchThreadEvent (ICorDebugManagedCallback callback)
			{
				callback.BreakpointSetError (m_thread.AppDomain, m_thread, m_breakpoint, m_error);
			}
 public override void DispatchThreadEvent(ICorDebugManagedCallback callback)
 {
     callback.StepComplete(m_thread.AppDomain, m_thread, m_stepper, m_reason);
 }
			public override void DispatchThreadEvent (ICorDebugManagedCallback callback)
			{
				callback.LogMessage (m_appDomain, m_thread, (int)m_level, m_switchName, m_message);
			}
            public override void DispatchThreadEvent(ICorDebugManagedCallback callback)
            {
                ICorDebugManagedCallback2 callback2 = (ICorDebugManagedCallback2)callback;

                callback2.Exception(m_thread.AppDomain, m_thread, m_frame, m_ip, m_type, (uint)CorDebugExceptionFlags.DEBUG_EXCEPTION_CAN_BE_INTERCEPTED);
            }
 public static void SetManagedHandler(this ICorDebug instance, ICorDebugManagedCallback pCallback)
 {
     instance.__SetManagedHandler(pCallback);
 }
        int ICorDebug.SetManagedHandler( ICorDebugManagedCallback pCallback )
        {
            m_callback = pCallback;

            return Utility.COM_HResults.S_OK;
        }
 public virtual extern void SetManagedHandler([In, MarshalAs(UnmanagedType.Interface)] ICorDebugManagedCallback pCallback);
 public override void Dispatch(ICorDebugManagedCallback callback)
 {
     callback.DebuggerError(m_process, m_errorHR, m_errorCode);
 }
        int ICorDebug.SetManagedHandler(ICorDebugManagedCallback pCallback)
        {
            _callback = pCallback;

            return(COM_HResults.S_OK);
        }
			public override void Dispatch (ICorDebugManagedCallback callback)
			{
				CorDebugAppDomain appDomain = m_class.Assembly.AppDomain;
				switch (m_eventType) {
				case EventType.LoadClass:
					callback.LoadClass (appDomain, m_class);
					break;

				case EventType.UnloadClass:
					callback.UnloadClass (appDomain, m_class);
					break;
				}
			}
			public override void DispatchThreadEvent (ICorDebugManagedCallback callback)
			{
				callback.Break (m_thread.AppDomain, m_thread);
			}
			public abstract void Dispatch (ICorDebugManagedCallback callback);
 public static void SetManagedHandler(this EmbeddedCLRCorDebugClass instance, ICorDebugManagedCallback pCallback)
 {
     instance.__SetManagedHandler(pCallback);
 }
Exemple #38
0
 /**
  * Specify the callback object to use for managed events.
  */
 internal void SetManagedHandler (ICorDebugManagedCallback managedCallback)
 {
     m_debugger.SetManagedHandler (managedCallback);
 }
Exemple #39
0
 // Specify the callback object to use for managed events.
 public void SetManagedHandler(ICorDebugManagedCallback callback)
 {
     m_debugger.SetManagedHandler(callback);
 }