Próbuję napisać lepszą obsługę błędów i logikę debugowania w jednej z naszych aplikacji. Czy ktoś może wyjaśnić różnicę między klasą Debug and Trace? Dokumentacja wygląda dość podobnie. Chcę używać tych klas w połączeniu z językiem NLog, aby ulepszyć nasze działania związane z debugowaniem.Jaka jest różnica między klasą Debug a klasą Trace?
Odpowiedz
Debugowanie jest używane podczas debugowania. Trace zapisuje do pliku dziennika. To trochę jak logowanie. Oba są bardzo podobne, ale umożliwiają śledzenie długoterminowej retencji, debugowanie w celu debugowania w czasie rzeczywistym.
Klasy Debug
i Trace
mają bardzo podobne metody. Podstawową różnicą jest to, że wywołania do klasy Debug
są zwykle zawarte tylko w kompilacji debugowania, a śledzenie jest zawarte we wszystkich kompilacjach (debugowanie i wydawanie). Możesz to kontrolować za pomocą flag kompilatora DEBUG i TRACE. Jeśli spojrzysz na dokumentację dla obu, zauważysz ConditionalAttribute
opisując metody. Powoduje to, że wywołania metod są uwzględniane w plikach binarnych tylko wtedy, gdy zdefiniowana jest odpowiednia flaga kompilatora. Można zdefiniować własną flagę kompilatora i używać jej w połączeniu z ConditionalAttribute
w podobny sposób. Zauważ, że jeśli użyjesz tego, metody nie zostaną usunięte ze skompilowanych plików binarnych. Strony połączeń są modyfikowane, aby usunąć wywołania metod.
- 1. Różnica między klasą APIView a klasą viewsets?
- 2. Różnica między klasą singleton a klasą statyczną?
- 3. Różnica między rodzicielską klasą a super klasą
- 4. AngularJS, różnica między klasą ng a klasą z wyrażeniem kątowym?
- 5. jaka jest różnica między const, readonly a statyczną klasą
- 6. Jaka jest różnica między klasą abstrakcyjną a interfejsem?
- 7. Jaka jest różnica między klasą abstrakcyjną a mieszanką?
- 8. Jaka jest różnica między klasą int.class a klasą Integer.TYPE w języku Java?
- 9. Jaka jest różnica między klasą Class.This a klasą Java w języku Java?
- 10. Jaka jest różnica między klasą z prywatnym konstruktorem a klasą szczelną mającą prywatny konstruktor?
- 11. Jaka jest różnica między klasą clazz a klasą <?> clazz w java?
- 12. Różnica między klasą foo, klasą foo() i klasą foo (obiektem)?
- 13. Różnica między klasą enum a enum?
- 14. jaka jest różnica między klasą i danych: dataType
- 15. Różnica między klasą <?> a klasą <Object> w języku Java
- 16. Jaka jest różnica między klasą niestandardową a ustawieniem właściciela pliku w pliku Xib?
- 17. Udostępnianie zmiennej między klasą a jej członkiem
- 18. Jaka jest różnica między klasami a instancjami obiektów?
- 19. Konwersja wskaźnika do wskaźnika między klasą pochodną i klasą podstawową?
- 20. Dlaczego String jest klasą?
- 21. Jaka jest różnica między pakietem, modułem i klasą w Perlu zorientowanym obiektowo?
- 22. Jaka jest różnica między klasą całkowitą Atomic Integer i Normal immutable Integer w Javie?
- 23. Jaka jest różnica między cat_id a term_id?
- 24. Jaka jest różnica między IEnumerable a tablicami?
- 25. Jaka jest różnica między == a === w Verilog?
- 26. Jaka jest różnica między UseCase a Workflow?
- 27. Jaka jest różnica między pakietem a intencją?
- 28. Jaka jest różnica między węzłem a wierzchołkiem?
- 29. Jaka jest różnica między Ember.computed.alias a Ember.binding?
- 30. Jaka jest różnica między alertem a window.alert?
Kolejna rozmowa na temat tego problemu http://stackoverflow.com/questions/179868/trace-vs-debug-in-net-bcl –