2010-12-06 26 views
5

Tôi muốn tránh trình gỡ lỗi xâm nhập vào một loạt các phương thức trợ giúp xác thực có thể dẫn đến một ngoại lệ, Nếu một ngoại lệ được ném, tôi muốn nó xuất hiện tại điểm gọi, không phải bên trong các phương thức trợ giúp này. Vì vậy, tôi đặt DebuggerStepThroughAttribute trên các phương thức trợ giúp. Tuy nhiên, vì các phương pháp xác thực có thể có lỗi, tôi vẫn muốn có thể gỡ lỗi phương thức xác thực. Nếu tôi đặt một điểm ngắt bên trong một trong những phương thức xác thực này, trình gỡ rối vẫn sẽ bỏ qua ngay trên nó.Làm thế nào tôi có thể bước vào một phương pháp được trang trí với DebuggerStepThroughAttribute?

Làm thế nào tôi có thể nhận được nó với ngoại lệ được ném phương pháp bị bỏ qua, nhưng nếu tôi đặt một điểm dừng trong phương pháp, sau đó tôi sẽ có thể bước vào nó, hoặc là điều này không thể?

Trả lời

2

Đặt DebuggerStepThroughAttribute trên phương pháp ngăn bạn bước vào nó bằng trình gỡ lỗi. Trái ngược với những gì bạn nói trong câu hỏi của mình, bạn vẫn có thể đặt các điểm ngắt bên trong phương thức và chúng sẽ bị tấn công. Các MSDN docs cho các thuộc tính nhà nước này là tốt.

Đây là gần nhất bạn có khả năng nhận được những gì bạn muốn (ví dụ bước qua phương pháp thông thường, nhưng đặt một điểm ngắt trên dòng đầu tiên của nó khi bạn muốn gỡ lỗi nó).

+0

Khi đặt điểm ngắt trong mã khung không hoạt động, có cách nào bỏ qua thuộc tính đó theo yêu cầu không? – mbx

+1

@mbx: bạn có thể đặt điểm ngắt trong mã khung nếu bạn đã thiết lập biểu tượng. Không có cách nào (theo như tôi biết) bỏ qua thuộc tính theo yêu cầu. – adrianbanks

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