它們只能放在方法名稱上。他們如何使用它們以及它們的用途是什麼?什麼是跟蹤點用於?
回答
調試器開發團隊對這個問題有一個例子很好的博客文章以及:http://blogs.msdn.com/b/visualstudioalm/archive/2013/10/10/tracepoints.aspx
跟蹤點是不是在所有的新功能(他們一直在Visual Studio 2005年以來VS)。而且它們本身不是斷點,因爲它們不會導致程序執行中斷。當您需要檢查某些內容時,這可能很有用,但不會停止該程序,因爲這會導致錯誤的行爲不會重新生成等。
跟蹤點是嘗試克服無法停止程序的情況通過允許斷點將信息記錄到調試輸出窗口並繼續執行,而不會在用戶界面上暫停,檢查某些行爲會導致某些行爲無法再現。你也可以用宏來做到這一點,但它可能會耗費更多的時間。
要設置一個跟蹤點,首先在代碼中設置一個斷點。然後使用斷點上的上下文菜單並選擇「When Hit ...」菜單項。您現在可以爲斷點添加日誌語句並關閉默認的停止操作,以便您登錄並繼續。還有一些可以添加到日誌字符串的其他信息,包括有關bp位置的靜態信息,例如文件,行,函數和地址。您還可以添加動態信息,如表達式,調用函數或調用堆棧。諸如添加線程信息和進程信息之類的東西可以幫助您在處理多線程和/或進程時跟蹤時序錯誤。
根據MSDN:
跟蹤點是在Visual Studio中新的調試功能。跟蹤點是一個與其關聯的自定義操作的斷點。當一個跟蹤點被命中時,調試器執行指定的跟蹤點操作,而不是或除了破壞程序執行外。
不知道它的新功能是否會在VS 2008中引入 – Habib
使用情況下它可以證明非常有用:
有可能當你想調試它被調用的次數(比如數百)衆多數量的功能,你可能只是想的情況下,看到趨勢其中一個局部變量正在改變。通過放置斷點來做到這一點是可能的,但考慮停止(在調試時)該函數數百次,並記下記事本中的值。使用tracepoint這麼做很容易,它直接將日誌放在「Output」窗口中,可以輕鬆分析甚至清除。 節省數小時的人力和耐心。
例數在輸出窗口(可以運行數百行):
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
如何使用它:
在代碼>斷點右擊鼠標>插入跟蹤點
使用TracePoint的優點:
- 有無需添加代碼生成日誌。所以,沒有緊張打造的代碼,也沒有清理代碼的開銷。
- 它不會妨礙執行中的代碼流,不像斷點。
- 它也可以打印局部變量的值。輸入{local_variable}點擊「」後點擊「」
- 您也可以在調試狀態中插入跟蹤點,就像您可以對斷點進行操作一樣。
- 1. 什麼是堆棧跟蹤?
- 2. 什麼是堆棧跟蹤
- 3. 什麼是跟蹤參考?
- 4. chrome.storage.onChanged跟蹤什麼?
- 5. 什麼是跟蹤,應該怎麼做?
- 6. 什麼是GIT中的跟蹤文件和未跟蹤文件?
- 7. 用jQuery跟蹤點擊 - php跟蹤
- 8. 什麼是狀態跟蹤器?
- 9. 爲什麼VM跟蹤器是空的?
- 10. Xcode中堆棧跟蹤的要點是什麼?
- 11. 爲什麼不跟蹤跟蹤調用方法像「String#size」?
- 12. Bazaar + X = SDLC。什麼是X?問題跟蹤器選擇什麼?
- 13. 跟蹤用戶在特定頁面中點擊了什麼
- 14. 處理非跟蹤自我跟蹤實體的正確方法是什麼?
- 15. 什麼MDAs可用於跟蹤堆損壞?
- 16. 使用什麼功能對於跟蹤矩陣R中
- 17. Android - 跟蹤用戶點擊
- 18. OpenCv Blob跟蹤點相對於平面
- 19. Python OpenCV跟蹤點
- 20. 紅點跟蹤器
- 21. 特徵點跟蹤
- 22. StackTraceElement用於跟蹤異常
- 23. 在Java中用於異常堆棧跟蹤記錄的級別是什麼?
- 24. 什麼是SQL服務器使用跟蹤標誌
- 25. 用php跟蹤內部推薦的最佳方式是什麼?
- 26. C#中跟蹤類和調試類的用法是什麼?
- 27. 使用adobe dtm跟蹤不活動的方式是什麼?
- 28. 跟蹤clojure中以前的值的慣用方法是什麼?
- 29. Google分析跟蹤代碼使用的技術是什麼?
- 30. 點擊與DoubleClick點擊跟蹤標籤跟蹤
爲什麼評論中有斷點? – stackptr