示例#1
0
        protected void initialize_notifications(Inferior inferior)
        {
            TargetAddress executable_code_buffer = inferior.ReadAddress(
                debugger_info.ExecutableCodeBuffer);

            HasCodeBuffer = !executable_code_buffer.IsNull;

            mono_runtime_info = mono_debugger_server_initialize_mono_runtime(
                inferior.TargetAddressSize,
                debugger_info.NotificationAddress.Address,
                executable_code_buffer.Address,
                debugger_info.ExecutableCodeBufferSize,
                debugger_info.BreakpointInfo.Address,
                debugger_info.BreakpointInfoIndex.Address,
                debugger_info.BreakpointArraySize);
            inferior.SetRuntimeInfo(mono_runtime_info);

            debugger_version = inferior.ReadInteger(debugger_info.DebuggerVersion);

            if (notification_bpt != null)
            {
                notification_bpt.Remove(inferior);
                notification_bpt = null;
            }

            if (debugger_info.HasThreadAbortSignal)
            {
                thread_abort_signal = inferior.ReadInteger(debugger_info.ThreadAbortSignal);
            }
            else
            {
                thread_abort_signal = inferior.MonoThreadAbortSignal;
            }
        }
示例#2
0
        protected void initialize_notifications(Inferior inferior)
        {
            TargetAddress executable_code_buffer = inferior.ReadAddress (
                debugger_info.ExecutableCodeBuffer);
            HasCodeBuffer = !executable_code_buffer.IsNull;

            mono_runtime_info = mono_debugger_server_initialize_mono_runtime (
                inferior.TargetAddressSize,
                debugger_info.NotificationAddress.Address,
                executable_code_buffer.Address,
                debugger_info.ExecutableCodeBufferSize,
                debugger_info.BreakpointInfo.Address,
                debugger_info.BreakpointInfoIndex.Address,
                debugger_info.BreakpointArraySize);
            inferior.SetRuntimeInfo (mono_runtime_info);

            debugger_version = inferior.ReadInteger (debugger_info.DebuggerVersion);

            if (notification_bpt != null) {
                notification_bpt.Remove (inferior);
                notification_bpt = null;
            }

            if (debugger_info.HasThreadAbortSignal)
                thread_abort_signal = inferior.ReadInteger (debugger_info.ThreadAbortSignal);
            else
                thread_abort_signal = inferior.MonoThreadAbortSignal;
        }