public string PrintConfiguration(bool expert_mode)
{
StringBuilder sb = new StringBuilder ("Debugger Configuration:\n");
sb.Append (String.Format (" Load native symtabs (native-symtabs): {0}\n",
LoadNativeSymtabs ? "yes" : "no"));
sb.Append (String.Format (" Follow fork (follow-fork): {0}\n",
FollowFork ? "yes" : "no"));
sb.Append (String.Format (" Stop on managed signals (stop-on-managed-signals): {0}\n",
StopOnManagedSignals ? "yes" : "no"));
sb.Append (String.Format (" Enable nested break states (nested-break-states): {0}\n",
NestedBreakStates ? "yes" : "no"));
string notifications = null;
if ((user_notifications & UserNotificationType.Threads) != 0)
notifications = "threads";
sb.Append (String.Format (" User notifications (user-notifications): {0}\n",
notifications ?? "none"));
sb.Append (String.Format (" Redirect output (redirect-output): {0}\n",
RedirectOutput ? "yes" : "no"));
if (expert_mode) {
sb.Append ("\nExpert Settings:\n");
string threading_mode;
switch (ThreadingModel & ThreadingModel.ThreadingMode) {
case ThreadingModel.Single:
threading_mode = "single";
break;
case ThreadingModel.Process:
threading_mode = "process";
break;
case ThreadingModel.Global:
threading_mode = "global";
break;
default:
threading_mode = "default";
break;
}
sb.Append (String.Format (" Threading Model (threading-model): {0}\n", threading_mode));
sb.Append (String.Format (" Stop Daemon Threads (stop-daemon): {0}\n",
(ThreadingModel & ThreadingModel.StopDaemonThreads) != 0 ? "yes" : "no"));
sb.Append (String.Format (" Stop Daemon Threads (stop-immutable): {0}\n",
(ThreadingModel & ThreadingModel.StopImmutableThreads) != 0 ? "yes" : "no"));
}
return sb.ToString ();
}