2009-06-24 23 views
18

Tôi đang cố xem một biến với Xcode. Tôi đang làm theo hướng dẫn trong here bằng cách tạm dừng tại điểm ngắt, chọn Chạy> Biến chế độ xem> .... nhưng ngoại trừ "Bật định dạng dữ liệu" phần còn lại của các tùy chọn đều có màu xám. Bất kỳ ý tưởng?Xem các biến trong Xcode

Tôi đang sử dụng phiên bản Xcode 3.1.3.

+1

khi bạn nhấn điểm ngắt, bạn sẽ có thể di chuột qua điểm ngắt và nó sẽ hiển thị thông tin biến. – zpesk

+0

Bạn có chắc là bạn đang chạy một bản dựng gỡ lỗi có tối ưu hóa bị tắt không? – Dolphin

+0

Tôi đã thử một bản dựng gỡ lỗi thay vì phát hành nhưng sự cố vẫn tiếp diễn. – Stu

Trả lời

19

Tôi chưa nhận được điểm quan sát được tạo từ menu Run để làm việc cho tôi, thật không may. Một điều cần lưu ý là khi một biến nằm ngoài phạm vi, điểm quan sát có thể trở thành không hợp lệ.

Nếu bạn không nhớ sâu hơn một chút, bạn có thể sử dụng một số lệnh gdb cấp thấp để đặt điểm quan sát cho địa chỉ của chính bộ nhớ đó. Ví dụ, trong hướng dẫn bạn liên kết đến, chúng cho thấy cách xem biến path là một con trỏ có giá trị 0xbfffeb70. Để tự thiết lập một watchpoint cho địa chỉ đó, nhấp vào trình gỡ rối giao diện điều khiển (trong đó sản lượng gỡ lỗi được in) sau khi "(gdb)" nhanh chóng và gõ một cái gì đó như thế này:

watch *((int*)0xbfffeb70) 

Cú pháp khó hiểu là cần thiết vì gdb hy vọng đầu vào là biểu thức C. Để biết thêm chi tiết, hãy xem visit this link và chuyển đến phần có tiêu đề "Sử dụng điểm quan sát phần cứng". (Tôi đang thử nghiệm trên một máy tính của Intel, không chắc cách PowerPC xử lý nó.) Khi bạn thiết lập các điểm theo cách này, Xcode sẽ cảnh báo bạn với một trang tính thả xuống khi một điểm quan sát được đến và cho bạn biết giá trị đã được thay đổi như thế nào, và gdb sẽ in cùng một thông tin trong bảng điều khiển.

+2

Nếu bạn muốn xem một thành viên của một phương pháp C++, tôi thấy biến thể này vô cùng hữu ích: 'watch -location mTextFormatted'. Tiết lộ một lỗi khó chịu liên quan đến tĩnh vs động đúc;) –

+2

Thay thế lldb sẽ là 'biểu hiện thiết lập điểm giám sát - 0xbfffeb70' hoặc' w s e - 0xbfffeb70' cho ngắn. –

7

Tôi vừa gặp sự cố này. Đây là một giải pháp: nhấp chuột phải vào tên biến và chọn "Xem biến trong cửa sổ" từ trình đơn xuất hiện. Nó phải ở gần đáy.

2

Các câu trả lời được đưa ra ở đây chỉ hoạt động nếu bạn sử dụng trình biên dịch gdb. Đối với những người bạn của những người đang tìm kiếm một tùy chọn để thiết lập một watchpoint với trình biên dịch lldb Tôi có tin xấu:

Nó không phản lực (XCode 4.3.2 với LLĐB 3.1) làm việc mặc dù lldb tài liệu nói rằng bạn có thể.

Khám phá this Email. Bạn có thể tìm thấy các lệnh lldb so với gdb s here

+0

'wa s e - ' đã hoạt động đối với tôi, ví dụ: 'wa s e - 0xbfffeb70' –

1

Tôi đã cố gắng tìm ra điều này trong XCode 5. Cuối cùng tôi đã tìm thấy nút "Biến số lượt xem" ở dưới cùng bên phải của bảng điều khiển đầu ra. Đó là hình chữ nhật nhỏ sẽ có màu xám ở bên trái, màu trắng ở bên phải nếu nó không được kích hoạt. Tôi không chắc chắn nếu điều này là trong XCode 3, nhưng tôi mong đợi hầu hết mọi người đã nâng cấp anyway.

2

Thêm điểm ngắt. Nhấp chuột phải vào danh sách theo dõi của khu vực debug và chọn "Add biểu hiện ..."

enter image description here

Nếu bạn đang nhận được một thực đơn khác nhau, bạn phải bấm tắt của biến hiện đánh dấu để đó không có gì là được đánh dấu khi bạn nhấp chuột phải.

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