2009-08-31 50 views
21

Có cách nào để bỏ qua mã mà không phải đặt điểm ngắt sau nó không? Tôi đang sử dụng gỡ lỗi để khám phá mã với một sự kiện vẽ tranh GUI chạy rất nhiều lần. Tôi muốn xem điều gì xảy ra sau khi sự kiện được kích hoạt mà không cần phải nhấp vào một loạt các lần.Visual Studio 2008 Debugging - Bỏ qua mã

Trả lời

44
[DebuggerHidden] 

Khi thuộc tính này được gắn vào một constructor/phương pháp/tài sản hoặc indexer sau đó mã được ẩn từ debugger, nó sẽ không thể để bạn có thể bước vào mã, gỡ rối sẽ chỉ cần bỏ qua mã. Ngay cả khi bạn đặt một điểm ngắt bên trong một trong các đoạn mã được trang trí với thuộc tính này, trình gỡ lỗi sẽ bỏ qua nó.

[DebuggerStepThrough] 

Thuộc tính này cũng giống như các DebuggerHiddenAttribute, ngoài thực tế là bạn có thể đặt một breakpoint trong các mã đã được trang trí với các DebuggerStepThroughAttribute, và các chương trình gỡ rối sẽ dừng lại ở breakpoint.

[DebuggerNonUserCode] 

này thuộc tính đánh dấu một phần của mã như không được mã người dùng, sau đó bạn có thể sử dụng điều này với các Tools-> Options-> Debugging-> General-> Enable Just My Code, tùy chọn để cho trình gỡ lỗi không để bước vào mã trang trí.

+0

Thật hữu ích khi biết! – ChadT

+0

+1 debug-Fu của bạn lớn hơn của tôi –

+0

Không biết về bất kỳ của những người. Ballin. –

7

Bạn có thể chỉ định điều kiện điểm dừng (nhấp chuột phải vào biểu tượng vòng tròn màu đỏ điểm ngắt) để điểm ngắt dừng việc thực hiện chỉ khi có điều gì đó thú vị xảy ra.

+1

Đây có lẽ là một câu trả lời khả thi hơn cho câu hỏi này chỉ vì nó có thể được thực hiện mà không cần trang trí mã với các thuộc tính. Tuy nhiên, đề xuất của Jaimal cũng khá tuyệt vời. : D –

+0

Tôi đồng ý, đó là lý do tôi đã bỏ phiếu trả lời của Jaimal lên .. – castle1971

5

Đây là một tiện ích khác: Nếu bạn hiện đang dừng ở điểm ngắt và bạn chỉ muốn chạy đến một số điểm khác trong mã, bạn có thể nhấp chuột phải vào dòng mà bạn muốn chạy đến và chọn "Chạy tới con trỏ".

4

Nếu bạn muốn thực thi mã sau điểm ngắt, lên đến một dòng khác, hãy sử dụng đề xuất "Chạy tới con trỏ" của JMarsch.

Nếu bạn muốn SKIP các dòng sau và tiếp tục thực hiện tại một điểm khác, bạn có thể sử dụng chuột để kéo mũi tên màu vàng ở lề trái của cửa sổ mã - xuống dòng bạn muốn thực hiện tiếp theo.

Điều này cũng hữu ích nếu bạn muốn thực hiện lại một số mã đã chạy - chỉ cần kéo mũi tên màu vàng LÊN vào dòng đó. Tôi thường sử dụng mã "Step Into" mà tôi đã thực hiện "Step Over".

"Đặt câu lệnh tiếp theo" trong trình đơn nhấp chuột phải có cùng tác dụng.

-Tom Bushell

+0

+1 để kéo mũi tên sang thực thi SKIP. Tôi nghĩ nó hoạt động như 'Run to Cursor' nếu bạn kéo nó về phía trước. –

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