11

Tôi đang cố gắng gỡ lỗi ứng dụng Windows 8 C# Store bằng trình gỡ lỗi máy cục bộ. Vì vậy, tôi đã thêm một số dòng không chính xác vào hàm tạo MainPage, sau khi gọi InitializeComponent. Tôi đã thử mã gây ra DivideByZero hoặc NullReferenceException - với cùng kết quả.Gỡ lỗi ứng dụng Windows Store trên máy cục bộ

Vì vậy, tôi thực hiện "Start Debugging", và gỡ lỗi vi phạm ở đây:

#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION 
     UnhandledException += (sender, e) => 
     { 
      if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break(); 
     }; 
#endif 

thông tin stack không có sẵn, nó là không thể để phát hiện đâu là một lỗi (chỉ nhắn ngoại lệ đầu tiên cơ hội trong Output cửa sổ đưa ra gợi ý).

Tôi đã cố gắng xác định DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION trong các ký hiệu tiền xử lý dự án. Lần này tôi nhận được thông điệp lạ sau đây: "Trình gỡ rối được đính kèm vào YourProgram.exe nhưng không được định cấu hình để gỡ lỗi ngoại lệ không được xử lý này".

Chỉ khi loại ngoại lệ cụ thể được chọn trong hộp thoại "Ngoại lệ" và DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION được xác định, tôi đã quản lý để ngắt dòng gây ra lỗi.

Vì vậy, cách đúng để phá vỡ dòng vi phạm, như thế nào là trong gỡ lỗi ứng dụng máy tính để bàn truyền thống? Nếu có thể, không sửa đổi danh sách Ngoại lệ. Và chính xác mục đích của hằng số DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION là gì?

+0

Đặt 'System.Diagnostics.Debugger.Launch();' ngay trước khi ngoại lệ được ném. Điều đó sẽ khởi chạy trình gỡ lỗi để bạn có thể xem qua và xem vấn đề ở đâu. –

+6

@Jack Hughes - nó thay đổi một cái gì đó trong hành vi trình gỡ lỗi, nhưng tôi đang cố gắng tìm hiểu, làm thế nào để gỡ lỗi một lỗi ở nơi không xác định. Không thể thêm 'Debugger.Launch' trước mỗi dòng trong chương trình ... –

Trả lời

10

Dường như ngoại lệ phân tích cú pháp xaml. Bạn có thể xem thông báo ngoại lệ và xem lỗi ở đâu không?

Dưới đây là một số ảnh chụp màn hình mẫu:

enter image description here

+0

Bạn đã bỏ lỡ điều này. Cảm ơn! –

14

Vâng khi bạn bắt đầu Visual Studio, bạn phải bấm vào gỡ lỗi và sau đó chọn Options and Settings và sau đó chung trong Debugging và click vào Enable Just My Code.

+0

Đây là câu trả lời đúng. –

+0

Đây là anwser hoàn toàn đúng nhất và phải được chấp nhận cho phù hợp. – NoHarmDan

+1

Điều này không giải quyết được vấn đề của tôi, tôi đã chọn 'Enable Just My Code' nhưng không được trợ giúp. –

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