public override string ToString()
{
StringBuilder sb = new StringBuilder ();
sb.Append (String.Format ("#{0}: ", level));
if (method != null) {
sb.Append (String.Format ("{0} in {1}", address, method.Name));
if (method.IsLoaded) {
long offset = address - method.StartAddress;
if (offset > 0)
sb.Append (String.Format ("+0x{0:x}", offset));
else if (offset < 0)
sb.Append (String.Format ("-0x{0:x}", -offset));
}
} else if (name != null)
sb.Append (String.Format ("{0} in {1}", address, name));
else
sb.Append (String.Format ("{0}", address));
if (SourceAddress != null)
sb.Append (String.Format (" at {0}", source.Name));
return sb.ToString ();
}