Die Antworten von @Philip Rieck und @John sind sehr unterschiedlich.
John's ...
#if DEBUG
System.Diagnostics.Debugger.Break();
#endif
funktioniert nur, wenn Sie mit dem DEBUG-Symbol für bedingte Kompilierung kompiliert haben.
Phillips Antwort ...
if( Debugger.IsAttached) //or if(!Debugger.IsAttached)
{
Debugger.Break();
}
funktioniert mit jedem Debugger, so dass Sie auch Hackern einen kleinen Schrecken einjagen können.
Beachten Sie auch SecurityException
also lassen Sie diesen Code nicht in die freie Wildbahn.
Ein weiterer Grund, nein zu sagen ...
Wenn kein Debugger angeschlossen ist, werden die Benutzer gefragt, ob sie einen Debugger anhängen wollen. Wenn der Benutzer dies bejaht, wird der Debugger gestartet. Wenn ein Debugger angehängt ist, wird dem Debugger ein Benutzer-Haltepunkt-Ereignis signalisiert, und der Debugger unterbricht die Ausführung des Prozesses, als ob ein Debugger Haltepunkt getroffen worden wäre.
von https://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break(v=vs.110).aspx