Ich versuche, bessere Fehlerbehandlung und Debug-Logik in einer unserer Anwendungen zu schreiben. Kann jemand den Unterschied zwischen der Debug- und Trace-Klasse erklären? Die Dokumentation sieht sehr ähnlich aus. Ich möchte diese Klassen in Verbindung mit NLog verwenden, um unsere Debugging-Bemühungen zu verbessern.Was ist der Unterschied zwischen der Debug-Klasse und Trace-Klasse?
Antwort
Debug wird während des Debuggens verwendet. Trace schreibt in die Protokolldatei. Es ist wie Logging. Beide sind sehr ähnlich, aber verfolgen für die langfristige Aufbewahrung, Debugging für Echtzeit-Debugging.
Die Klassen Debug
und Trace
haben sehr ähnliche Methoden. Der Hauptunterschied besteht darin, dass Aufrufe der Klasse Debug
normalerweise nur in Debugbuild enthalten sind und Trace in allen Builds enthalten ist (Debuggen und Freigeben). Sie können dies über die Compilerflags DEBUG und TRACE steuern. Wenn Sie die Dokumentation für beide betrachten, werden Sie die ConditionalAttribute
kommentieren, die Methoden notieren. Dies führt dazu, dass die Methodenaufrufe nur dann in die Binärdateien einbezogen werden, wenn das entsprechende Compiler-Flag definiert ist. Sie könnten Ihr eigenes Compiler-Flag definieren und es in ähnlicher Weise in Verbindung mit dem ConditionalAttribute
verwenden. Beachten Sie, dass die Methoden nicht aus den kompilierten Binärdateien entfernt werden, wenn Sie das verwenden. Die Aufruf-Sites werden geändert, um die Methodenaufrufe zu entfernen.
- 1. Was ist der Unterschied zwischen `==` und `ist`?
- 2. Was ist der Unterschied zwischen:
- 3. Was ist der Unterschied zwischen:.! und: r !?
- 4. Was ist der Unterschied zwischen Difftime und '-'?
- 5. Was ist der Unterschied zwischen $ und $$?
- 6. Was ist der Unterschied zwischen Verilog! und ~?
- 7. was ist der Unterschied zwischen [[], []] und [[]] * 2
- 8. Was ist der Unterschied zwischen/* ... */und/** ... */
- 9. Was ist der Unterschied zwischen `&` und `ref`?
- 10. Was ist der Unterschied zwischen $ (...) und `...`
- 11. Was ist der Unterschied zwischen .Equals und ==
- 12. Was ist der Unterschied zwischen "$^N" und "$ +"?
- 13. Was ist der Unterschied zwischen + = und = +?
- 14. Was ist der Unterschied zwischen? und ? = Nil
- 15. Was ist der Unterschied zwischen $ (()) und Ausdruck?
- 16. Was ist der Unterschied zwischen der JSP und der JSTL?
- 17. Was ist der Unterschied zwischen SimpleNamespace und der leeren Klassendefinition?
- 18. Was ist der Unterschied zwischen add und [] in der Wörterbuchoperation
- 19. Was ist der Unterschied zwischen der declarative_base() und db.Model?
- 20. Was ist der Unterschied zwischen der Verwendung externer und # Headerdateien?
- 21. Was ist der Unterschied zwischen NetFx45WebLink und NetFx45RedistLink ist
- 22. Was ist der Unterschied zwischen PS1 und PROMPT_COMMAND ist
- 23. Was ist der Unterschied zwischen x86 und x64 ist
- 24. Was ist der Unterschied zwischen „ist None“ und „== None“
- 25. Was ist der Unterschied zwischen DISPATCH_QUEUE_CONCURRENT und DISPATCH_QUEUE_SERIAL ist
- 26. Was ist der Unterschied zwischen Task.Run ist() und Task.Factory.StartNew()
- 27. Was ist der Unterschied zwischen RewriteRule ist und umleiten 301
- 28. Was ist der Unterschied zwischen ist - (void) und + (void) Methoden
- 29. Was ist der Unterschied zwischen ist HttpResponseMessage und HttpResponseException
- 30. Was ist der Unterschied zwischen diesen Funktionen
Ein weiteres Gespräch über dieses Problem http://StackOverflow.com/Questions/179868/Trace-VS-Debug-in-Net-BCl –