public override bool IsMatch(Commands.Debugging_Execution_BreakpointDef breakpointDef)
        {
            if (breakpointDef.m_flags != BreakpointDef.c_HARD)
            {
                return(false);
            }
            if (breakpointDef.m_IP != m_breakpointDef.m_IP)
            {
                return(false);
            }
            if (breakpointDef.m_md != m_breakpointDef.m_md)
            {
                return(false);
            }

            CorDebugThread thread = m_function.Process.GetThread(breakpointDef.m_pid);
            CorDebugFrame  frame  = thread.Chain.ActiveFrame;

            if (frame.AppDomain != m_function.AppDomain)
            {
                return(false);
            }

            return(true);
        }
        public override bool ShouldBreak(Commands.Debugging_Execution_BreakpointDef breakpointDef)
        {
            if ((breakpointDef.m_flags & BreakpointDef.c_EXCEPTION_CAUGHT) != 0)
            {
                //This if statement remains for compatibility with nanoCLR pre exception filtering support.
                if ((breakpointDef.m_flags & BreakpointDef.c_EXCEPTION_UNWIND) == 0)
                {
                    return(false);
                }
            }

            return(true);
        }