Mono.Debugger.DebuggerSession.OnProcessExited C# (CSharp) Method

OnProcessExited() private method

private OnProcessExited ( Process process ) : void
process Process
return void
        internal void OnProcessExited(Process process)
        {
            if (process != main_process)
                return;

            lock (this) {
                pending_bpts.Clear ();
                reached_main = false;
                main_process = null;

                foreach (Module module in modules.Values) {
                    module.UnLoadModule ();
                }

                foreach (Event e in events.Values.ToArray ()) {
                    e.OnTargetExited ();
                    if (!e.IsPersistent)
                        events.Remove (e.Index);
                }
            }
        }

Usage Example

示例#1
0
        internal void OnProcessExitedEvent()
        {
            DropGlobalThreadLock();

            if (current_state == ProcessState.Running)
            {
                current_state = ProcessState.Exited;
                current_operation.Completed();
                current_operation = null;
                stopped_event.Set();
            }

            if (!is_forked)
            {
                session.OnProcessExited(this);
            }
            session.MainThreadGroup.RemoveThread(main_thread.ID);
            manager.Debugger.OnProcessExitedEvent(this);
        }