2010-02-12 20 views
5

Tôi có một biến mẫu với một số thành viên, nhiều biến số có thành viên riêng của họ và cứ thế. Sử dụng trình gỡ lỗi và các biến xem, tôi đã tìm thấy một biến chuỗi với một giá trị cụ thể mà tôi cần bằng cách đi sâu vào các thành viên của biến này.Tìm biến có giá trị đã cho trong VS2008

Tuy nhiên, sau khi dành thời gian cho những thứ khác và quay trở lại điều này, tôi hiện không thể tìm thấy vị trí của giá trị này. Khi ứng dụng của tôi bị tạm dừng, có cách nào để tìm kiếm các giá trị của các biến trong ngữ cảnh hiện tại cho một giá trị nhất định không?

Để làm rõ, nếu tôi có cơ cấu đưa ra:

myVariable 
| 
|--aMember1 
| |--subMember = "A value" 
| 
|--aMember2 
    |--subMember = "Another value" 

Có cách nào (có thể sử dụng danh sách theo dõi trong VS debugger) để tìm kiếm myVariable cho bất kỳ thành viên hoặc submember với giá trị "Một giá trị" , trả lại cho tôi đường dẫn myVariable->aMember->subMember?

Trả lời

2

Không có tính năng này không tồn tại trong Visual Studio 2008 (hoặc bất kỳ phiên bản nào khác).

Những gì bạn có thể làm là thêm ID cho giá trị khi bạn tìm thấy nó lần đầu tiên. Chỉ cần nhấp chuột phải vào giá trị và chọn "Đặt ID đối tượng". Điều này sẽ tạo ra một nhận dạng duy nhất hiển thị trong giá trị như 1 #. Sau đó, bạn có thể nhập giá trị này vào cửa sổ xem tại bất kỳ điểm nào trong tương lai và nhận giá trị để quay lại.

+0

Bản sắc đó có phải là chính bản thân giá trị hoặc cho tham chiếu đối tượng không? Tức là, nếu tôi nhập '1 #' vào danh sách theo dõi của mình sau khi tạo ID đối tượng, giá trị của 1 # có thay đổi với biến tôi nhận được từ đó hay nó sẽ giữ nguyên không? – Aaron

+0

Nevermind, tôi tự tìm thấy câu trả lời: http://geekswithblogs.net/sdorman/archive/2009/02/14/visual-studio-2008-debugging-ndash-the-watch-window.aspx Cảm ơn câu trả lời của bạn . – Aaron

1

Bạn có thể sử dụng BugAid (một phần bổ trợ cho Visual Studio), cho phép bạn search cho các thành viên bạn muốn xem từ trong cửa sổ bật lên dữ liệu di chuột hoặc cửa sổ QuickWatch.

Xem ví dụ trong hình bên dưới:

Search Feature

Nếu bạn bấm vào biến bạn tìm thấy trong cửa sổ QuickWatch BugAid (hoặc click chuột phải và chọn "Add To Watch"), nó sẽ cho bạn thấy đường dẫn đầy đủ của thành viên (như trong myVariable.aMember.subMember).

Tiết lộ đầy đủ: Tôi là đồng tác giả của "BugAid".

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