internal override BreakpointHandle Resolve(Thread target, StackFrame frame)
{
if (handle != null)
return handle;
if (frame.Thread.Process.IsManaged) {
MonoLanguageBackend mono = frame.Thread.Process.MonoLanguage;
MonoFunctionType main = mono.MainMethod;
if (main == null)
return null;
handle = main.GetBreakpointHandle (this, -1, -1);
} else {
OperatingSystemBackend os = frame.Thread.Process.OperatingSystem;
TargetAddress main = os.LookupSymbol ("main");
if (main.IsNull)
return null;
handle = new AddressBreakpointHandle (this, main);
}
return handle;
}