public static MonoThreadManager Initialize(Process process, Inferior inferior,
TargetAddress info, bool attach)
{
MonoDebuggerInfo debugger_info = MonoDebuggerInfo.Create(inferior, info);
if (debugger_info == null)
{
return(null);
}
if (attach)
{
if (!debugger_info.CheckRuntimeVersion(81, 2))
{
Report.Error("The Mono runtime of the target application is too old to support attaching,\n" +
"attaching as a native application.");
return(null);
}
if ((debugger_info.RuntimeFlags & 1) != 1)
{
Report.Error("The Mono runtime of the target application does not support attaching,\n" +
"attaching as a native application.");
return(null);
}
}
return(new MonoThreadManager(process, inferior, debugger_info));
}