2016-07-12 69 views

回答

1

IntelliTrace不捕獲本地變量的值。據我所知,由於性能原因。它只記錄從方法返回的實際參數和值的值。但是,這裏也有侷限性。如果實際參數(或返回值)是引用類型,則IntelliTrace將不會捕獲整個對象圖,而只會捕獲第一級。例如,假設有A類。它有2個屬性:

int IntProp { get; set; } 
SomeClass ObjectProp { get; set; } 

在這種情況下的IntelliTrace將允許我們只考察IntProp值。至於ObjectProp,我們只能看到它是否設置。不可能看到SomeClass的實例的屬性。

+0

所以在客戶端運行我的代碼時出現異常的情況下,我需要更多地瞭解所有變量的狀態,最好的做法是開始添加一堆變量作爲自定義參數?是否有一些簡單的方法可以讓每個對象都處於異常點並將其轉儲到應用程序見解中? – punkouter

+1

有一些解決方法,但他們需要額外的努力。您可以嘗試:定義自定義診斷事件,使用IProgrammableDataQuery交互界面,創建跟蹤點並將IntelliTrace與實時調試一起使用。但是,只有前兩種可用於生產。此外,他們不會讓你捕獲所有的變量,但只有選中。 –

相關問題