2011-11-24 20 views
8

Làm cách nào bạn có thể dễ dàng xem nội dung của thuộc tính Dữ liệu của Ngoại lệ trong Cửa sổ xem trong khi gỡ lỗi trong Visual Studio? Nó thuộc loại System.Collections.ListDictionaryInternal lạ.Xem ngoại lệ.Data trong Cửa sổ xem trong khi gỡ lỗi

tôi đã tìm ra bạn sẽ nhìn thấy phím và giá trị riêng biệt:

 try { 
      ... do something that throws exception with Data 
     } 
     catch (Exception ex) { 
      throw; 
     } 
     finally { 
     } 

Trong cửa sổ Watch:

ex.Data.Keys.Cast<string>() 
ex.Data.Values.Cast<string>() 

Nhưng bạn có thể xem nó như một cuốn từ điển hoặc một cái gì đó?

Trả lời

10

System.Collections.ListDictionaryInternal là một IDictionary, vì vậy bạn chỉ có thể đánh giá các biểu thức sau đây trong cửa sổ Watch hoặc QuickWatch:

new System.Collections.Hashtable(ex.Data) 

Edit: Tôi đồng tạo ra một commercial extension for Visual Studio called OzCode mà làm cho điều này dễ dàng hơn nhiều. Với nó, bạn chỉ cần di chuột qua biến Ngoại lệ, nhấp chuột phải vào biến Ngoại lệ, chọn Create Custom Expression và nhập new System.Collections.Hashtable([obj].Data) // Data. Từ thời điểm đó trở đi, bất cứ khi nào bạn xem Ngoại lệ, bạn sẽ có thể xem Từ điển dữ liệu của mình theo cách được định dạng độc đáo mà không cần bất kỳ bước thủ công nào, như vậy: screenshot

1

Tôi nghĩ rằng đặt cược tốt nhất của bạn là tạo một hàm để xuất nội dung Ngoại lệ, bao gồm các phần tử Dữ liệu, nếu có, đến cửa sổ Đầu ra sử dụng System.Diagnostics.Debug.Write().

Các vấn đề liên quan