Bạn có thể đặt điểm ngắt có điều kiện trong Xcode bằng cách đặt điểm ngắt bình thường, sau đó giữ phím điều khiển và nhấp vào điểm đó và chọn Chỉnh sửa điểm ngắt (chọn Chạy -> Hiển thị -> Điểm ngắt).
Trong mục điểm ngắt, có cột Điều kiện.
Bây giờ, có một số vấn đề cần lưu ý đối với tình trạng này. Thứ nhất, gdb không hiểu cú pháp dấu chấm, vì vậy thay vì myObj.name, bạn phải sử dụng [myObj name] (trừ khi tên là ivar).
Tiếp theo, như với hầu hết các biểu thức trong gdb, bạn phải cho nó biết loại kết quả trả về, cụ thể là "BOOL". Vì vậy, hãy đặt một điều kiện như:
(BOOL)[[myObj name] isEqualToString:@"Bar"]
Thường thì thực sự dễ dàng hơn nếu chỉ làm điều này trong mã bằng cách tạm thời thêm mã như:
if ( [myObj.name isEqualToString:@"Bar"] ) {
NSLog( @"here" );
}
và sau đó đặt điểm ngắt trên NSLog. Sau đó, tình trạng của bạn có thể phức tạp tùy ý mà không cần phải lo lắng về những gì gdb có thể và không thể phân tích cú pháp.