2011-07-30 27 views
9

Tôi không quan tâm đến việc đăng nhập vào các khung công tác hoặc dưới trang bìa nhưng chỉ ở mã cấp nguồn khi nhập và thoát của từng phương thức. Tôi muốn nó cung cấp tên lớp và tên phương thức và đăng nhập nó vào tập tin hoặc ít nhất có nó bay trên màn hình.Có cách nào để theo dõi/theo dõi và đăng nhập tất cả các phương thức, theo tên lớp và phương thức, trong một phiên gỡ lỗi không?

Truy vấn của tôi là nếu có thể với các thiết bị Xcode/Debugger/Instruments hiện có, tôi có thể thực hiện nó theo cách dễ dàng khác với tuyên bố NSLog ở mọi lối vào và thoát, hoặc có công cụ thương mại cung cấp khả năng này ?

Tôi đang nói các phương pháp nguồn ở đây ... không phải là các quy trình hoặc luồng thực thi. Cảm ơn.

+0

gì sai với việc sử dụng các công cụ, như công cụ Time Profiler, cho điều này? – jtbandes

+0

Vâng ... bởi vì nó không theo dõi, theo dõi hoặc đăng nhập các phương pháp mã nguồn của tôi, đó là những gì tôi đã hỏi về trong câu hỏi của tôi. – Ric

+0

Nó chắc chắn cho phép bạn xem những phương pháp đã được thực hiện ... – jtbandes

Trả lời

9

Dave Dribin đề cập chính xác điều này trong bài viết của mình Tracing Objective-C messages.

Phần bạn là sau khi có lẽ này:

Nếu bạn đặt biến NSObjCMessageLoggingEnabled môi trường để YES, thời gian chạy Objective-C sẽ ghi lại tất cả các thông điệp Objective-C cử vào một tập tin có tên/tmp/msgSends - <pid>.

+1

điều này thực sự âm thanh trên nhãn hiệu. Tôi đã thử cài đặt môi trường để gỡ lỗi trong Xcode 4.1 nhưng tôi không thấy tệp có tên/tmp/msgSends- bất kỳ nơi nào. Trên thực tế, tôi không thể tìm thấy thư mục/tmp. Bạn có gợi ý về nơi nó bị treo? Cám ơn. – Ric

+0

Tôi đang ở đó. Tôi đã không nhận ra rằng thư mục tmp đã được ẩn và tôi cần thiết để có được nó thông qua Terminal. Cảm ơn nhiều. – Ric

1

Xtrace (https://github.com/johnno1962/Xtrace) có nhiều tính năng và hoạt động tốt để truy tìm Objective-C. Một trong những nhu cầu truy cập nguồn vào dự án của họ, giống như bạn dường như có, và có thể phát ra các tin nhắn khi vào/ra, giống như bạn muốn.

  • cấu hình Debug-thời gian - mã hóa cứng hoặc có thể cấu hình truy tìm khi gỡ lỗi
  • không biến chứng tích hợp - một .mm và một .h
  • NSRegularExpression khớp - các lớp học, các phương pháp, các loại
Các vấn đề liên quan