Có cách nào để vô hiệu hóa ngoại lệ rất phiền toái của WPF khi gỡ lỗi không?Vô hiệu hoá gói ngoại lệ WPF để gỡ lỗi
Ví dụ sẽ là cửa sổ sở hữu hộp văn bản, hộp văn bản được liên kết với thuộc tính, trình thu thập trên thuộc tính đó sẽ ném ngoại lệ mà khung không thể xử lý (ném mới StackOverflowException() cho thí dụ).
Những gì tôi đang cần được nhìn thấy là
get
{
throw new StackOverflowException(); // < Exception happened here
}
Thay vì những gì tôi nhìn thấy được ...
No Source Available
Call Stack Location:
PresentationFramework.dll!MS.Internal.Data.PropertyPathWorker.RawValue(int k) + 0x64 bytes
Do gói ngoại lệ WPF của ngoại lệ này cũng đôi khi bị bắt và sau đó cử hoặc là bị trì hoãn hoặc ẩn sâu trong MS.Internals và không thể quay trở lại trang web ngoại lệ thực tế. Điều này dẫn đến việc chúng ta nhìn thấy một callstack khổng lồ của PresentationFramework.dll, PresentationCore.dll, và WindowsBase.dll nhưng không có mã người dùng ngoại trừ App.Main().
Điều này xảy ra trong quá trình liên kết, các sự kiện được gọi trong quá trình tạo và các tình huống hoàn toàn ngẫu nhiên khác không có vần hoặc lý do (ngoại trừ khi nhấn nút đôi khi thực hiện điều này với tôi). Bây giờ có tôi có thể nhìn vào dấu vết ngăn xếp bên trong của ngoại lệ, nhưng dấu vết ngăn xếp cũng khá nhiều vô nghĩa bởi vì tôi không thể quay trở lại khung đó để xem các biến là gì tại thời điểm ném.
+1. Tôi thấy điều này tất cả các thời gian - nếu constructor của cửa sổ của tôi ném một ngoại lệ, tôi phải đào sâu vào hai cấp độ của InnerExceptions để tìm ra những lỗi thực tế là gì. –