2011-04-04 106 views
0

有時數據提示是這樣的....Visual Studio 2010 DataTips爲什麼在項目/解決方案中看起來不同?

Pretty

,有時像這樣...

Ugly

每個屏幕截圖的代碼是(原油,但)相同

var list = new List<DateTime>(); 
    list.Add(DateTime.Now); 
    list.Add(new DateTime()); 

是項目設置還是別的?

+0

有什麼區別?一個顯示屬性。另一個顯示方法和字段。 – 2011-04-04 12:22:35

+0

@Cody:我已經更新了示例以更清楚地展示差異 – Dve 2011-04-04 13:10:14

+0

因此,問題是,您更改了哪兩個屏幕截圖?和Hans一樣,我期望第二個來自C++/CLI項目。我從來沒有在C#項目的IntelliSense中看到過'^'符號。 – 2011-04-04 13:12:08

回答

1

您可能正在使用兩種不同的IDE。第一個屏幕截圖是您通常從VB.NET或C#項目中的調試器獲得的屏幕截圖。第二個是編譯爲64位代碼的C++/CLI項目。 64位調試器很特別,您實際上正在使用遠程調試器。必需的,因爲Visual Studio是一個32位進程。調試器可視化器也有所作爲。並且列表變量有一些問題。

+0

這兩個屏幕截圖均來自c#類庫項目。儘管我在64位機器上運行。屏幕截圖中的列表變量僅用於獲取屏幕截圖。它只是一個包含2個條目的日期時間列表....但它在調試時顯示爲這樣! – Dve 2011-04-04 12:55:03

+0

那麼,調試器顯然正在遭受第二屏截圖中的心臟病發作。當它無法獲得類型信息時,它可以做的沒什麼意義,回到瘋狂模式並不意外。您看到的^字符是C++/CLI符號。在調用這個調試器錯誤(安裝SP1 btw)之前,假設程序中發生了一些非常糟糕的事情。像GC堆的腐敗一樣。 – 2011-04-04 13:01:23

+0

順便說一句,在x86模式下調試非常友好,Edit + Continue也被啓用。 Project + Properties,Build選項卡,Platform target = x86。這是VS2010中的默認設置。 – 2011-04-04 13:02:48

1

看起來您已經設置了「十六進制顯示」選項。

當您點擊斷點時,右鍵單擊「本地」或「監視」窗口並清除上下文菜單中的複選框。

我認爲這是全球性的,但很可能是以每個項目爲基礎。

+0

已經嘗試過,它不是問題 – Dve 2011-04-04 12:50:37

相關問題