2009-07-22 35 views
79

này là câu trả lời từ Larson brad về vấn đề này SO câu hỏiLàm cách nào để thêm điểm ngắt vào objc_exception_throw?

Nếu bạn thêm hai breakpoint, bạn sẽ có thể để gỡ lỗi các trường hợp ngoại lệ. Để làm điều này, hãy vào Run | Hiển thị | Các điểm ngắt và tạo ra hai điểm ngắt toàn cục (tôi thực hiện 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). Tên đầu tiên nên được đặt tên là "objc_exception_throw" và vị trí của nó phải là "libobjc.A.dylib". Thứ hai nên 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ỡ các trường hợp 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 ???

+0

Bất kỳ ai có ảnh chụp màn hình/đường dẫn trình đơn cho XCode 4? – buildsucceeded

+2

Xem chủ đề này trên Diễn đàn Apple Dev để biết hướng dẫn về cách thực hiện điều này trong XCode 4: https://devforums.apple.com/thread/68421 –

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 nếu bạn không tìm thấy nó rõ ràng.

Trong Xcode, từ trình đơn trên cùng bấm vào Chạy> Hiển thị> Điểm ngắt. Một cửa sổ mới bật lên.

Chọn "điểm ngắt toàn cầu" trong menu bên trái. Nên có một hộp ở bên phải bên dưới cột "Điểm ngắt" với văn bản "Nhấp đúp vào 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 không gian 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ào vị trí (trong trường hợp này là "libobjc.A.dylib"). Tôi đã thực hiện một ảnh chụp màn hình mà hy vọng sẽ giúp:

alt text

+0

cảm ơn câu trả lời rất rõ ràng của bạn –

+0

Điều này thực sự hữu ích, cảm ơn // :) – Spanky

+0

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

4

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

+0

Cảm ơn bạn @ el-developer –

45

Trong Xcode 4 breakpoint tuyệt vời này có thể được thêm vào thông qua nút "+" trên phần Breakpoints (⌘ + 6)

enter image description here

+1

Cách tiếp cận tương tự này cũng có thể được sử dụng trong XCode 5 –

+0

Ngoài ra bạn có thể cài đặt [kịch bản in mô tả ngoại lệ trong bảng điều khiển] (http://stackoverflow.com/a/29671227/991816), 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ệ

+0

Các câu trả lời khác đã thay đổi, câu trả lời này là câu trả lời chính xác kể từ tháng 4 năm 2017/Xcode8 – Josh

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