public Process OpenCoreFile(DebuggerSession session, string core_file,
out Thread[] threads)
{
check_alive ();
if (main_process != null)
throw new TargetException (TargetError.AlreadyHaveTarget);
ProcessStart start = new ProcessStart (session, core_file);
main_process = thread_manager.OpenCoreFile (start, out threads);
process_hash.Add (main_process, main_process);
return main_process;
}