Tôi có một ứng dụng WPF với XAML rất phức tạp, tôi cần một cách để biết điểm ứng dụng của tôi bị treo, khi nào tôi cố gắng để tạm dừng việc thực hiện, ứng dụng dường như không được treo, con trỏ sẽ được trên dòng này:Treo ở vị trí không xác định trong một ứng dụng WPF rất phức tạp khi bố cục cửa sổ thay đổi do tạo ReportViewr trong một chủ đề khác
System.Windows.Application myApp;
.
.
.
.
myApp.Run(); // <== this line
này đang xảy ra khi tôi thay đổi cách bố trí của các thanh tác vụ hoặc khi cửa sổ nhà thám hiểm bị rơi (nhiệm vụ Nếu tôi thực hiện những thay đổi đó trong một sự lặp lại nặng nề, ứng dụng sẽ không bao giờ phục hồi, nhưng khi một thay đổi nhỏ được thực hiện, ứng dụng sẽ phục hồi sau vài phút, tôi cần biết nguyên nhân của vấn đề này. XAML của ứng dụng của tôi, nhưng tôi cần một cách để biết trang hoặc thành phần, hoặc bất kỳ nguồn gốc nào của trang này.
* EDIT *
Tôi cần một công cụ hoặc một cách để biết XAML mà tốn thời gian điều phối là gì!
* EDIT *
tôi đã có lý do chính xác của hang, đó là vì tạo ra một thể hiện của ReportViewer trong chủ đề khác, Khi tôi loại bỏ việc tạo ra các trường hợp, nó làm việc một cách hoàn hảo, các điều kỳ lạ, đó là sai lầm này được tồn tại trong ứng dụng của tôi thời gian dài trước đây, nhưng được hang đã quyên góp được gần đây, tôi có nghĩa là: ứng dụng của tôi sẽ bị treo khi bạn chèn một trong các mã trong bất kỳ vị trí của ứng dụng của tôi:
new Action(() =>
{
ReportViewer rv = new ReportViewer();
}).BeginInvoke(null, null);
HOẶC
new Action(() =>
{
ReportViewer rv = new ReportViewer();
rv.Dispose();
}).BeginInvoke(null, null);
HOẶC
new Action(() =>
{
ReportViewer rv = new ReportViewer();
rv.LocalReport.ReleaseSandboxAppDomain();
rv.Dispose();
}).BeginInvoke(null, null);
Câu hỏi của tôi:
1- mối quan hệ giữa thay đổi cách bố trí của cửa sổ (Thay đổi kích thước các thanh tác vụ hoặc di chuyển nó) và người xem báo cáo mà không được thêm vào là gì bất kỳ cây hình ảnh nào, tại sao điều này khiến ứng dụng của tôi bị treo ???
2- Cách tôi có thể xác định vị trí của hang?
3- Một số lần ứng dụng sẽ khôi phục trong vài phút (3-5), nhưng một số lần treo vẫn trong nhiều giờ và ứng dụng sẽ không phục hồi, Tại sao?
4 - Làm cách nào tôi có thể xác định thành phần hoặc cấu hình đã khiến ứng dụng của tôi bị treo trong trường hợp này? Bằng cách này, điều này rất hữu ích cho những người khác nếu được giải quyết, Chúng tôi đã dành rất nhiều thời gian để phát hiện nó, nhưng không có lý do chính xác kết hợp với ReportViewer gây treo!
Bạn luôn có thể thử một trong những mã công cụ profiling như ANTS Red Gate (Tôi nghĩ rằng họ vẫn làm miễn phí thử nghiệm). Điều đó sẽ ít nhất cung cấp cho bạn nơi mã đã dành thời gian - nó có thể không phát hiện ra các bế tắc tiềm ẩn (nó có thể là các nhiệm vụ chạy dài hoặc deadlocks trong số những thứ khác) – Charleh
Đã thử nó trong nhiều ngày, tôi không có bất kỳ thông tin hữu ích nào! đã thử công cụ gỡ lỗi gỡ lỗi-diag và các công cụ gỡ lỗi cửa sổ khác, nhưng không có điểm đặc biệt khi ứng dụng của tôi bị treo, tôi khá chắc chắn, đó là vì một số XAML xấu, tôi cần các công cụ để xem điểm mà điều phối bị treo trong XAML. –
Điều này có xảy ra trên nhiều máy không? – Charleh