2012-12-26 39 views
8

Xcode là ném ngoại lệ:Cách tìm vị trí của NSInvalidArgumentException của NSArray?

Chấm dứt ứng dụng do ngoại lệ uncaught 'NSInvalidArgumentException', lý do: '* - [__ NSArrayM insertObject: atIndex:]: đối tượng không thể nil'

Tuy nhiên trong chế độ gỡ lỗi nó không dừng lại nơi ngoại lệ xảy ra. Nó kết thúc bằng

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 

với thông báo "SIGABRT". Theo dõi ngăn xếp chỉ hiển thị "chính" này.

Có cách nào để tìm ra nơi mã trong một đối tượng nil đã được cố gắng chèn vào một mảng không?

+0

http://developer.apple.com/library/ios/#recipes/xcode_help-breakpoint_navigator/articles/adding_an_exception_breakpoint.html – iDev

Trả lời

21

Trong dự án của bạn, hãy truy cập trình điều hướng Breakpoint, nhấp vào nút [+]Thêm điểm ngắt ngoại lệ .... Nhấp vào Ngoại lệ> Tất cảBreak> On Throw, nhấp [Xong].

Với cài đặt này tại chỗ, Xcode phải được đặt ở vị trí trong dự án của bạn, nơi ngoại lệ được ném. Bạn có thể cần phải đi xuống ngăn xếp cho một hoặc hai khung để có được mã của bạn.

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