Làm cách nào để thêm điểm ngắt vào objc_exception_throw?


80

đây là câu trả lời từ brad larson cho câu hỏi SO này

Nếu bạn thêm hai điểm ngắt, bạn sẽ có thể gỡ lỗi các ngoại lệ này. Để thực hiện việc này, hãy truy cập Run | Hiển thị | Breakpoint và tạo hai breakpoint toàn cầu (Tôi làm chúng trên toàn cầu vì chúng rất hữu ích trong tất cả các ứng dụng của tôi). Đầu tiên phải được đặt tên là "objc_exception_throw" và vị trí của nó phải là "libobjc.A.dylib". Cái thứ hai phải là "- [NSException raise]" và vị trí của nó phải là "CoreFoundation".

Bây giờ, nếu bạn bắt đầu gỡ lỗi ứng dụng của mình với các điểm ngắt được bật, nó sẽ phá vỡ khi loại bỏ các ngoại lệ này. Sau đó, bạn sẽ có thể thấy chuỗi sự kiện dẫn đến ngoại lệ trong trình gỡ lỗi.

Bây giờ trong câu trả lời này, tôi muốn hỏi làm cách nào để thêm vị trí được đề cập ???


Có ai có ảnh chụp màn hình / đường dẫn menu cho XCode 4 không?
xây dựng thành công

2
Kiểm tra chủ đề này trên Diễn đàn của Apple Dev để được hướng dẫn làm thế nào để làm điều này trong XCode 4: devforums.apple.com/thread/68421
Andy Sinclair

Câu trả lời:


81

Tôi nghĩ câu trả lời của Brad khá rõ ràng; hy vọng điều này có thể giúp ích nếu bạn không thấy rõ ràng.

Trong Xcode, từ menu trên cùng, hãy nhấp vào Run> Show> Breakpoints. Một cửa sổ mới hiện lên.

Chọn "điểm ngắt chung" trong menu bên trái. Phải có một hộp ở bên phải dưới cột "Điểm ngắt" với văn bản "Nhấp đúp để có biểu tượng". Nhấp một lần vào hộp này và nhập "objc_exception_throw".

Sau đó, nhấp một lần vào khoảng trống bên cạnh "objc_exception_throw" trong cột "vị trí". Một hộp sẽ xuất hiện để bạn nhập vị trí (trong trường hợp này là "libobjc.A.dylib"). Tôi đã tạo một ảnh chụp màn hình hy vọng sẽ giúp được:

văn bản thay thế


Hoạt động tuyệt vời. Cảm ơn vì các chi tiết.
Rob Segal

17
Trong Xcode 4, có một công cụ điều hướng điểm ngắt để bạn có thể thêm chúng.
Don

Ngoài ra, bạn có thể cài đặt tập lệnh in mô tả ngoại lệ trong bảng điều khiển , phải có!
DanSkeel


6

trong Xcode 6 - từ menu trên cùng

Gỡ lỗi> Điểm ngắt> Tạo Điểm ngắt ngoại lệ


Những câu trả lời khác đã thay đổi, câu trả lời này là đúng thời điểm tháng 4 năm 2017 / Xcode8
Josh

4

Tôi cũng muốn khuyên bạn nên thêm +[NSException raise:format:arguments:]điểm ngắt và vị trí của nó nên có CoreFoundation.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.