2014-02-07 60 views

回答

1

IntelliTrace與實時調試不同。 http://msdn.microsoft.com/en-us/library/dd264915.aspx

它沒有爲C++實現,因爲它使用.net環境。 IntelliTrace僅在Visual Studio Ultimate(或VS2015以上版本的企業版本中可用,儘管它可能會在未來的版本中更改),上面的鏈接已經解釋了所有功能。

實時調試和IntelliTrace之間的區別是某種「重玩性」。雖然您可以通過實時調試進行轉儲,但您只能獲得一個時間點,而IntelliTrace允許您收集和檢查應用程序的歷史記錄。 IntelliTrace必須進行配置,以便在應用程序運行時記錄其數據。

從上面的頁面複製粘貼:

傳統或現場調試只顯示你的應用程序與往事 有限的數據當前的狀態。您必須根據應用的當前狀態推斷這些事件 ,否則您必須通過重新運行您的應用來重新創建這些事件 。

IntelliTrace通過 在這些時間點記錄特定事件和數據擴展了這種傳統調試體驗。這讓 你看到你的應用程序中發生了什麼,而無需重新啓動它,特別是如果你跳過錯誤的位置,那麼 尤其如此。 IntelliTrace在傳統調試期間默認打開 ,並自動收集數據, 隱藏。這使您可以在傳統調試 和IntelliTrace調試之間輕鬆切換以查看記錄的信息。請參閱記錄 使用IntelliTrace進行代碼執行以在Visual Studio中進行調試以及 IntelliTrace收集什麼數據?

小故事:在Visual Studio團隊試圖儘可能多的功能推向更低的版本,儘可能使他們能夠更多的人訪問,但在什麼版本是由營銷部門決定哪些功能是可用的。

1

對於實時調試,目標應用程序暫停,調試器可以觀察(有時修改)整個目標進程。

IntelliTrace,因爲它的名稱建議可以理解爲「智能跟蹤」,某些被認爲有價值的信息被記錄到日誌文件(.itrace文件)中。您可以保存並在另一臺機器上稍後的時間點打開日誌文件。記錄的信息包括應用程序的進程,線程,模塊,IntelliTrace事件以及基於用戶配置的函數調用。對於每個事件和函數調用,還會記錄具有選定參數值的調用堆棧。

Visual Studio需要一些用戶界面才能查看此日誌,而調試器用戶界面幾乎擁有一切。這並不準確,但通常您可以將「IntelliTrace調試」理解爲使用調試器UI查看跟蹤日誌。大多數調試器窗口(進程,線程,調用堆棧,本地,模塊等)按預期工作,但它們只是顯示目標應用程序歷史中發生的事件或函數調用。用戶只能觀察,但不能修改目標應用程序。