Khi tôi dừng lại ở điểm ngắt trong XCode, tôi có thể thấy giá trị của các biến NSString. Làm thế nào tôi có thể thay đổi chúng? Tôi có thể thay đổi các biến int hoặc double, nhưng không thay đổi NSString.cách thay đổi giá trị NSString trong khi gỡ lỗi trong XCode?
Trả lời
Bạn có thể thực hiện việc này trong bảng điều khiển gỡ lỗi. Giả sử bạn có NSString* myVar
. Trong bảng điều khiển, sau (gdb)
, nhập set myVar = @"My new string"
. Nếu bạn đang sử dụng (lldb)
, thì hãy sử dụng biểu thức tương đương expr myVar = @"My new string"
để thay thế.
Điều này có thể không hiển thị chính xác trong bảng biến, nhưng bạn có thể xác minh giá trị bằng cách nhập po myVar
vào bảng điều khiển. Mã của bạn sẽ nhận giá trị mới.
Đối với một số thông tin tuyệt vời về việc sử dụng expr
, hãy kiểm tra this StackOverflow post.
Điều này không hoạt động đối với tôi trong XCode 4.3.1 bằng cách sử dụng (lldb). Tôi nhận được lỗi về "tham chiếu đến 'id' là mơ hồ" và "1 lỗi phân tích biểu thức". – funroll
Bạn đang nhấn một biến thể của một lỗi đã biết trong XCode 4.3.x. Xem [bài đăng này] (http://stackoverflow.com/questions/9515630/lldb-fails-to-print-variable-values-with-error-reference-to-id-is-ambiguous). Theo câu trả lời, điều này được giải quyết trong XCode 4.4 – MikeG
Sử dụng expr whateverVariable = @ "55fc633a22570e2b7e00003b" làm việc cho tôi. – finneycanhelp
Bạn có thể nhưng bạn phải gọi mã từ dấu nhắc lệnh debugger. Ví dụ, nói rằng bạn có một đám cháy breakpoint tắt ngay sau khi dòng này:
NSString *myString = @"My current string";
Sau đó tại (gdb) loại dấu nhắc:
call myString = @"My new string"
Bạn có thể po myString
trước khi thay đổi chuỗi và sau khi bạn thay đổi nó để xác minh rằng nó đã thay đổi.
Ví dụ khác: Giả sử bạn muốn thay đổi tiêu đề của trình điều khiển chế độ xem. Bạn có thể sử dụng setter. * Lưu ý: ký hiệu chấm không được hỗ trợ tại dòng lệnh của trình gỡ rối. Ví dụ: để cho phép tải xem và sau đó thiết lập một điểm dừng ở đâu đó trong suốt thời gian tồn tại của bộ điều khiển xem của bạn. Sau đó, hãy thực hiện việc này:
call (id)[self setTitle:@"New Title"]
Tiếp tục chạy chương trình và bạn sẽ thấy cập nhật tiêu đề của bộ điều khiển chế độ xem của bạn.
Câu trả lời của tôi là cũ. Bạn có thể thực sự thực hiện việc này ngay bây giờ: ** po myString = @ "my_new_string" ** và ** po self.title = @ "Tiêu đề mới" ** – n8tr
Đối NSError Tôi đang sử dụng này:
(lldb) expression aTempError = (NSError*)[[NSError alloc] initWithDomain:@"MANO" code:1 userInfo:nil]
(https://stackoverflow.com/users/1202867/n8tr) bình luận n8tr từ trên cho thấy làm thế nào để làm điều đó. Bạn chỉ cần đứng trước bài tập của bạn với "po" như vậy: po myString = @ "my_new_string" và po self.title = @ "New Title".
Tính năng này hoạt động trong Xcode 6.3.2. – Huperniketes
- 1. Làm cách nào để thay đổi giá trị trong khi gỡ lỗi python bằng pdb?
- 2. Xcode đánh giá các biểu thức trong khi gỡ lỗi
- 3. Cách xem văn bản trong một NSString gỡ lỗi
- 4. Làm cách nào để thay đổi giá trị của biến trong khi gỡ lỗi mã Java trong NetBeans 7.1?
- 5. Cách gỡ lỗi một gói trong XCode?
- 6. Cách phát hiện khi biến thay đổi giá trị
- 7. Chuyển đổi giá trị phao sang NSString
- 8. Làm cách nào để gỡ lỗi NSManagedObjects trong trình gỡ lỗi XCode?
- 9. Thay đổi giá trị trong khi lặp lại trong golang
- 10. Nội dung biến Obj-C thông minh trong khi gỡ lỗi trong Xcode?
- 11. Xcode iOS: Chuyển đổi int thành NSString
- 12. Gỡ lỗi iOS: Làm cách nào để tôi thay đổi giá trị thuộc tính?
- 13. Vùng gỡ lỗi Đóng trong Xcode Khi chạy ứng dụng
- 14. Tự động mở terminal khi gỡ lỗi trong Xcode?
- 15. NSString không thay đổi cho phép thay đổi giá trị của nó?
- 16. Giá trị cháy JListChỉ thay đổi hai lần khi giá trị được thay đổi qua chuột
- 17. Thay đổi giá trị mẫu sau khi tải trong Mongoose
- 18. Thay đổi các biến trong thời gian thực khi gỡ lỗi trong nhật thực?
- 19. Phonegap - Gỡ lỗi Javascript trong Xcode
- 20. Gỡ lỗi ngoại lệ trong XCode 4
- 21. Xcode: Làm cách nào để thay đổi giá trị UIPageControl bằng cử chỉ vuốt?
- 22. Tại sao thuộc tính NSString thay đổi thành giá trị không hợp lệ?
- 23. Gỡ lỗi EXC_BAD_ACCESS từ số NSString
- 24. Xcode C++ gỡ lỗi
- 25. Thay đổi các giá trị trong NSArray bằng dereferencing?
- 26. giá trị thay đổi trong HashSet
- 27. Thay đổi một giá trị trong SQLite3
- 28. gỡ lỗi trả lại giá trị
- 29. IntelliJ Idea - tìm kiếm giá trị trong trình gỡ lỗi
- 30. Cách thay đổi/đặt giá trị DateTimePicker
vào năm 1987, chúng tôi có thể dễ dàng sử dụng tương đương với "Giá trị chỉnh sửa" của Xcode trong tất cả các trình gỡ lỗi * thực *. Bây giờ chúng tôi đang xuống hạng để viết mã trình gỡ lỗi ... Quay lại Tương lai ... –