Script Debugging: Debugger.IsAttached
Ich hatte hier mal beschrieben wie man den Debugger automatisch anhält… Leider zeigt EPLAN einen Fehler wenn kein Visual Studio dran hängt.
Es geht wie immer besser… Nutzt das hier, dann hält Visual Studio nur an wenn die Einstellung für das Debugging aktiv ist und Visual Studio an EPLAN.exe hängt:
if (Debugger.IsAttached) { Debugger.Break(); }
Das kann man sich auch schön verpacken und wie folgt nutzen:
using System.Diagnostics; using System.Windows.Forms; using Eplan.EplApi.Scripting; using Action = System.Action; public class Test { [Start] public void Function() { Debug(Debugger.Break); Debug(()=> MessageBox.Show("Hallo")); Debug(() => { MessageBox.Show("Hallo"); }); } private void Debug(Action action) { if (Debugger.IsAttached) { action.Invoke(); } } }
Der Debugger wird nur angehalten wenn Visual Studio dran hängt. Auch die MessageBoxen werden nur angezeigt wenn das der Fall ist. Man kann mit der dritten Varianten auch mehrere Zeilen Code ausführen. Ist zwar nur syntaktischer Zucker, aber denke wird bei mir Anwendung finden.