2013-06-06 26 views
34

Khi chạy ứng dụng của tôi trong Visual Studio, nó kết thúc bằng ngoại lệ chưa được xử lý thay vì hiển thị hộp thông báo với thông tin ngoại lệ và tiếp tục như tôi đã quen.Visual Studio không vi phạm các ngoại lệ do người dùng vô hiệu

Tôi cần thay đổi các tùy chọn nào để đưa nó trở lại hoạt động mà tôi đã quen?

Chỉnh sửa: Trong Gỡ lỗi/Ngoại lệ, tôi có tùy chọn Hủy bỏ người dùng được chọn cho Ngoại lệ CLR.

Trả lời

27

Debug->Exceptions->Check Thrown/User-Unhandled cho Common Language Runtime Exceptions

chỉnh sửa: Có lẽ cố gắng làm sạch/xây dựng lại, và chạy một lần nữa? Có lẽ biểu tượng gỡ lỗi là hỏng hoặc một cái gì đó ..

+2

Tôi đang tìm trong Gỡ lỗi/Tùy chọn và Cài đặt/Gỡ lỗi/Chung, nhưng tôi không thấy tùy chọn đó. Tôi có đang tìm đúng chỗ không? – BVernon

+0

@Brandon oops xin lỗi, lỗi đánh máy. Đó là dưới debug-> ngoại lệ –

+0

Tìm thấy nó: Đó là dưới Debug/Exceptions, không Debug/Options – BVernon

16

Tùy thuộc vào ứng dụng, các tùy chọn sau đây có thể giúp bạn:

cụ → Options ... → Debugging → chung

  • Nghỉ giải lao khi ngoại lệ vượt AppDomain hoặc các ranh giới gốc/được quản lý (Chỉ được quản lý)
  • Bật trợ lý ngoại lệ
    • Huỷ cuộc gọi sta ck vào trường hợp ngoại lệ unhandled
  • Bỏ chọn Enable Just My Mã ← JMC có thể ngăn cản bạn bắt ngoại lệ trong mã đó là không phải của bạn và/hoặc thiếu các biểu tượng.
+0

Cảm ơn, tôi đã thực sự hy vọng bỏ chọn Chỉ cần Mã của tôi sẽ làm điều đó nhưng không có điều nào ở trên hiệu quả. Tôi chỉ mới bắt đầu một dự án mới để xem liệu tôi có cùng một hành vi khi một lỗi được ném ra, nhưng nó hoạt động chính xác mặc dù (tôi nghĩ) các cài đặt sẽ giống nhau. Bước tiếp theo là sao chép nội dung vào một dự án mới mà tôi đoán. – BVernon

+6

** Vô hiệu hóa ** * Chỉ kích hoạt Mã của tôi * khiến Visual Studio ẩn cột * Người dùng bị bỏ cấm * trong cửa sổ * Ngoại lệ * và ngăn Visual Studio phá vỡ * bất kỳ trường hợp ngoại lệ người dùng-unhandled nào. Vì vậy, trong trường hợp của tôi, hướng dẫn của bạn thực sự gây ra vấn đề mà câu hỏi này đang cố gắng giải quyết! – Sam

4

này cố định nó cho tôi: trong lauch nhanh (Ctrl-Q) gõ "ResetToC#" (hoặc ResetTo cái gì khác)

tôi đã cùng một vấn đề trong một thời gian dài. Trong trình đơn Debug-> Exceptions, cột "User-unhandled" bị thiếu! Cực kỳ khó chịu.

Tôi đã gỡ cài đặt tất cả plugin, đã cài đặt lại VS, nhưng không có gì hoạt động (Visual Studio có thể đã để lại một số cài đặt trên máy của tôi mà máy tính được sử dụng lại sau khi cài đặt lại).

Điều này có vẻ không phải là giải pháp tốt nhất vì phải có một số cài đặt ở đâu đó cũng có thể thực hiện được. Tôi không thể tìm thấy nó và sau khi không thể phá vỡ ngoại lệ người dùng-unhandled trong nhiều tháng, các ResetToC# tùy chọn là một cứu trợ.

+0

Cảm ơn, nếu tôi gặp vấn đề này một lần nữa, tôi chắc chắn sẽ thử điều này vì không có gì khác có thể hoạt động :) – BVernon

+3

Trong trường hợp của tôi, lý do cột * Người dùng-unhandled * bị thiếu là * Enable Just My Code * đã bị vô hiệu hóa các tùy chọn gỡ lỗi. – Sam

3

Tôi đã gặp vấn đề tương tự trong Visual Studio 2013 trên một dự án C# rất lớn. Tuy nhiên nếu tôi tạo ra một dự án trống mới và đã ném một ApplicationException thử nghiệm, mọi thứ sẽ hoạt động như mong đợi và trình gỡ lỗi sẽ phá vỡ và cung cấp cho tôi trợ lý ngoại lệ. Làm như vậy trên dự án hiện tại của tôi sẽ chỉ dừng gỡ lỗi và trở về chế độ chỉnh sửa VS. Tôi nhận thấy trong cửa sổ "Output", gỡ lỗi cuối cùng dấu vết sẽ hiển thị

Chương trình '[2624] MyApplication.vshost.exe' đã thoát với mã -1073741819 (0xc0000005) 'vi phạm Truy cập'.

Tôi không thực sự có sự sao chép tất cả mọi thứ vào một dự án mới và không có đề xuất nào ở trên phù hợp với tôi.Bằng cách thử và lỗi Tôi tìm thấy một cái gì đó đã làm việc: Bỏ chọn "Huỷ ngăn xếp cuộc gọi trên các ngoại lệ chưa được xử lý" trong Tùy chọn> Gỡ lỗi> Chung> Bật trợ lý ngoại lệ.

Nhân tiện, nếu tôi buộc ngăn xếp cuộc gọi thư giãn trên dự án C# này thông qua trợ lý ngoại lệ (bằng cách nhấp vào liên kết "Bật chỉnh sửa"), trình gỡ lỗi chỉ đóng và tôi không thể chỉnh sửa-và- tiếp tục. Nhưng trên một dự án mới, nó làm thư giãn và chỉnh sửa và tiếp tục hoạt động tốt! Vì vậy, có một cái gì đó chắc chắn về dự án của tôi mà VS không thích, nhưng tôi sẽ sử dụng điều này như một giải pháp có thể chấp nhận cho bây giờ.

11

Trong trường hợp của tôi, khi tôi đến gỡ lỗi ->Exceptions, các người dùng unhandled cột đã mất tích. Đi tới số Gỡ lỗi ->Tùy chọn và cài đặt và bật Chỉ bật mã của tôi đã sửa lỗi này, do đó khắc phục được sự cố này hoàn toàn.

1

Điều duy nhất mà làm việc đối với tôi là:

Tools -> Import and Export Settings -> Reset tất cả các thiết lập và sau đó thiết lập lại để C#.

0

Thay đổi nền tảng mục tiêu từ x64 đến x86 đã giúp tôi

12

Đối với visual studio 2015:

1.Open cửa sổ cài đặt ngoại lệ (đó là mới trong 2015) open Exception settings window (it's new in 2015)

Exceptions 2.Check Tất cả CLR enter image description here

3.Nếu bạn không cần studio trực quan để ném ngoại lệ cụ thể, hãy bỏ chọn điều này enter image description here

0

Nếu bạn có nhiều dự án trang web trong giải pháp của mình, hãy kiểm tra xem dự án bạn muốn gỡ lỗi có đang hoạt động hay không. Nhấp chuột phải vào nó và chọn Đặt làm Dự án StartUp.

Điều này làm tôi bối rối vì không có dấu hiệu rõ ràng cho thấy trang web sai đang được gỡ lỗi.

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