public void InitializeThread(int pid)
{
if (initialized)
throw new TargetException (TargetError.AlreadyHaveTarget);
initialized = true;
bool pending_sigstop = process.ThreadManager.HasPendingSigstopForNewThread (pid);
check_error (mono_debugger_server_initialize_thread (server_handle, pid, !pending_sigstop));
this.child_pid = pid;
SetupInferior ();
change_target_state (TargetState.Stopped, 0);
}
public Inferior CreateThread(int pid, bool do_attach) { Inferior inferior = new Inferior ( thread_manager, process, start, breakpoint_manager, error_handler, address_domain); inferior.child_pid = pid; inferior.signal_info = signal_info; inferior.has_signals = has_signals; inferior.target_info = target_info; inferior.exe = exe; inferior.arch = inferior.process.Architecture; if (do_attach) inferior.Attach (pid); else inferior.InitializeThread (pid); return inferior; }