24

Dường như VS 2008 không cho phép thiết lập điểm ngắt chỉ trên thiết lập của thuộc tính tự động.Không thể thiết lập các điểm ngắt trên trình thiết lập thuộc tính tự động? Tại sao?

I.e. nếu tôi xác định thuộc tính tự động như sau:

public int CurrentFramesize 
    { 
     get; 
     protected set; 
    } 

và sau đó thử đặt điểm ngắt trên dòng thiết lập, toàn bộ thuộc tính tự động chuyển sang điểm ngắt màu đỏ.

Điều này làm việc tốt cho các thuộc tính bình thường, vì vậy bất kỳ ý tưởng nào tại sao thuộc tính tự động nhận được điều trị đặc biệt (hạn chế) này? Họ có nhiều hơn là chỉ cú pháp đường để tính chất bình thường với một lĩnh vực sao lưu ẩn?

+0

Bạn là chính xác. Tôi đa ghi chu điêu tương đương. –

+4

Phản hồi của Microsoft http://connect.microsoft.com/VisualStudio/feedback/details/408762/unable-to-set-breakpoint-to-c-automatic-property –

+1

Tôi đã hy vọng tính năng ths hy vọng sẽ làm cho nó thành VS2010: ( – bitbonk

Trả lời

28

Sử dụng Visual Studio 2008, 2010, 2012:

  1. Đến cửa sổ Breakpoint
  2. New-> Break tại Function ...
  3. Đối với get, loại: ClassName.get_CurrentFramesize()

    Đối với bộ này, nhập: ClassName.set_CurrentFramesize(int)

Bạn sẽ nhận được "Không có nguồn khả dụng" khi điểm ngắt được nhấn, nhưng bạn sẽ nhận được vị trí gọi trong ngăn xếp cuộc gọi.

tôi tìm thấy giải pháp này ở đây: http://social.msdn.microsoft.com/Forums/en/vsdebug/thread/b1dd0dc3-e9c1-402a-9c79-a5abf7f7286a

Xem thêm: Debugging automatic properties

+3

Bằng cách nào đó tôi bị mất câu trả lời của bạn trong hai năm rưỡi. –

-2

Không, bạn không thể đặt điểm ngắt cho chúng, nhưng sau đó bạn sẽ kiểm tra những gì? Biến để lưu trữ thuộc tính tự động chỉ được chỉ định khi chạy và do đó không có biến nào cho trình gỡ lỗi hiển thị/truy cập.

+11

Bạn có thể muốn kiểm tra * khi * nó được chỉ định, nếu nó có vẻ để có được một giá trị sai từ "một nơi nào đó" –

+0

@Hans Kesting: Spot on Trình gỡ lỗi CLR không có * dữ liệu * breakpoints, vì vậy nếu điều này sẽ được hỗ trợ, nó sẽ là điều tốt nhất tiếp theo –

2

Câu trả lời ngắn gọn là: lỗi tính năng này kết thúc trên sàn phòng cắt dành cho VS2008.

(dài hơn answer - mũ chóp @jdk)

Tất cả chúng ta đã có được một lời hứa mơ hồ rằng nó đang được xem xét để vNext.

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