Można je umieszczać tylko na nazwach metod. W jaki sposób są wykorzystywane i do czego służą?Do czego służą punkty kontrolne?
Odpowiedz
drużyny Debugger ma dobrą blogu na ten temat z przykładami, a także: http://blogs.msdn.com/b/visualstudioalm/archive/2013/10/10/tracepoints.aspx
Tracepoints nie są nowością w ogóle (oni byli w Visual Studio od VS 2005). I nie są one punktami przerwania jako takimi, ponieważ nie powodują przerwania wykonywania programu. To może być przydatne, gdy trzeba coś sprawdzić, ale nie zatrzymywać programu, ponieważ powoduje to zachowanie błędu, którego nie można repro itp.
Punkty Tracepoints to próba przezwyciężenia przypadku, gdy nie można zatrzymać programu aby sprawdzić coś, co spowoduje, że pewne zachowanie nie będzie repro, pozwalając punktowi przerwania rejestrować informacje w oknie wyjściowym debugowania i kontynuować, bez zatrzymywania w interfejsie użytkownika. Możesz to również zrobić za pomocą makr, ale może to zająć więcej czasu.
Aby ustawić punkt znacznika, najpierw ustaw punkt przerwania w kodzie. Następnie użyj menu kontekstowego na punkcie przerwania i wybierz element menu "Gdy Hit ...". Możesz teraz dodać instrukcje dziennika dla punktu przerwania i wyłączyć domyślną akcję zatrzymania, aby zalogować się i przejść. Istnieje wiele innych informacji, które można dodać do ciągu dziennika, w tym statyczne informacje na temat położenia pliku bp, takie jak plik, linia, funkcja i adres. Można również dodawać informacje dynamiczne, takie jak wyrażenia, funkcje wywołujące lub stacje wywoławcze. Takie rzeczy, jak dodawanie informacji o wątkach i informacji o procesach, mogą pomóc w śledzeniu błędów czasowych podczas pracy z wieloma wątkami i/lub procesami.
Zgodnie z MSDN:
Tracepoints to nowa funkcja debugera w Visual Studio. Punkt kontrolny to punkt przerwania z powiązaną z nim niestandardową akcją. Po trafieniu punktu kontrolnego debugger wykonuje określoną akcję tracepoint zamiast lub, dodatkowo, wykonując program przerwania.
Nie jestem pewien, czy jest to nowe, zostały wprowadzone w VS 2008 – Habib
przypadków użycia, gdzie może okazać się bardzo przydatna:
Może to przypadek, gdy chcesz debugowania funkcji, która jest wywoływana liczna ilość razy (powiedzmy w setkach), a może po prostu chcesz aby zobaczyć trend, w którym zmienia się zmienna lokalna. Można to zrobić, umieszczając punkt przerwania, ale pomyśl o zatrzymaniu (podczas debugowania) tej funkcji setki razy i podjęciu bólu zapisywania wartości w notatniku. Robiąc to jest tak łatwo, używając tracepoint, bezpośrednio umieszcza dzienniki w oknie "Wyjście", które można łatwo przeanalizować, a nawet wyczyścić. Oszczędność godzin ręcznego wysiłku i cierpliwości.
Przykład dziennika w oknie Output (można uruchomić do setek wierszy):
keyframeNo = 2, time = 1100
keyframeNo = 1, time = 0
keyframeNo = 1, time = 1
keyframeNo = 1, time = 1
keyframeNo = 1, curTime =22
curTime=1132835, keyframeno=15
keyframeNo = 2, time = 1
keyframeNo = 2, time = 1
Jak go używać:
kliknij prawym przyciskiem myszy na kod> Breakpoint> Wstaw TracePoint
Zaleta korzystania z usługi TracePoint:
- Istnieje bez potrzeby dodawania kodu do generowania dzienników. Tak więc, nie napięcie do budowania kodu, również nie ma kosztów czyszczenia kodu.
- To nie jest blokowanie przepływu kodu w trakcie wykonywania, w przeciwieństwie do punktów przerwania.
- Może również wydrukować wartość zmiennych lokalnych. Wpisz {local_variable} po kliknięciu "Po naciśnięciu klawisza"
- Możesz również wstawiać punkty tracepunktów w stanie debugowania, tak samo jak w przypadku punktu przerwania.
- 1. Do czego służą punkty anulowania pthread?
- 2. Do czego służą finalizatory?
- 3. Do czego służą tablice rekurencyjne?
- 4. Punkty kontrolne SQL Server
- 5. Do czego służą różne typy próbników HLSL?
- 6. Do czego służą wywołaniaInjectionMembers w wywołaniach RegisterType()?
- 7. Do czego służą wbudowane przestrzenie nazw?
- 8. Do czego służą różne katalogi w @INC?
- 9. C++: do czego służą niezależne referencje?
- 10. Kotlin: Do czego służą nazwy argumentów lambda?
- 11. Do czego służą oaidl.idl i ocidl.idl?
- 12. Wielokrotne punkty kontrolne Notatnika IPython
- 13. Punkty kontrolne przesyłania strumieniowego iskry dla DStreams
- 14. Do czego służą alignacje i alignmentof słów kluczowych?
- 15. Do czego służą zmienne adnotacyjne JPA @Table "catalog" i "schema"?
- 16. Do czego służą pliki punktów kontrolnych Japyter Notebook?
- 17. Do czego służą OptManifest i NoManifest firmy Scala?
- 18. Do czego służą flagi ochronne "appop" i "development"?
- 19. Do czego służą właściwości nawigacji w Entity Framework?
- 20. Do czego służą pliki "spec.ts" wygenerowane przez Angular CLi?
- 21. Do czego służą dodatkowe pliki js z frameworku Angular.js?
- 22. nginx - służą tylko obrazy
- 23. Wiązanie kontrolne + liczba Tkinter
- 24. "Względne adresy wirtualne" w stosunku do czego?
- 25. Do czego służy .data.rel.ro?
- 26. Do czego służy os.linesep?
- 27. Do czego służy MemoryCache.AddOrGetExisting?
- 28. Do czego służy global.asax?
- 29. Do czego służy phonestateintentreceiver.notifyPhoneCallState?
- 30. Do czego służy GCC_NO_COMMON_BLOCKS?
Dlaczego istnieje przerwa w komentarzu? – stackptr