Do metody wypełniającej dane (np. w formularzu) dodaje się atrybut Conditional("DEBUG"). Jeżeli flaga DEBUG nie jest ustawiona to metoda jest omijana w produkcyjnej binarce. Do tej metody dodatkowo dodaje warunek czy debugger jest podłączony. Debugger możne być podłączony w trybie Debug oraz Release. Dobrę praktyką jest dodanie informacji do okna Output z jakiej metody zostało dokonane wypełnienie, pisanie nazw tych metod z prefiksem "DEBUG_" oraz ustawienie dostępności na private.
Poniższy kod przedstawia ten mechanizm:
[Conditional("DEBUG")] private void DEBUG_YourFillingMethod() //hack: Debug { if (Debugger.IsAttached) { Debugger.Log(0, this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name); //todo: your filling code } }
Dla aplikacji ASP.NET można zastosować HttpContext.Current.IsDebuggingEnabled.
Brak komentarzy:
Prześlij komentarz