Code nur beim Debuggen laufen lassen


  • Administrator

    Frage
    Wie kann ich Code nur im Debugmodus laufen lassen?

    Antwort
    In C# gibt es auch eine Art von Präprozessor, wie man diesen in C oder C++ kennt. Er ist allerdings deutlich eingeschränkter und kann nur Bedingungen prüfen. Wenn man eine Debug-Kompilierung macht, so wird automatisch das Symbol DEBUG definiert. Mit den Präprozessor Anweisungen kann man nun auf dieses Symbol prüfen. Zusätzlich gibt es auch noch das ConditionalAttribute , mit welchem man eine Methode verbinden kann. Dann wird die Methode nur ausgeführt, wenn das angegebene Symbol vorhanden ist.

    Beispiel

    using System;
    
    class Program
    {
      public static void Main()
      {
    #if DEBUG
        Console.WriteLine("Debug");
    #else
        Console.WriteLine("Release");
    #endif
      }
    }
    
    using System;
    using System.Diagnostics;
    
    class Program
    {
      public static void Main()
      {
        DebugWrite("Test");
        Console.WriteLine("Blub");
      }
    
      [Conditional("DEBUG")]
      private static void DebugWrite(string text)
      {
        Console.Write(text);
      }
    }
    

Anmelden zum Antworten