2010-02-16 27 views
7

Tiêu chuẩn của tôi Linux cách profiling ứng dụng là:Tạo hồ sơ ứng dụng g ++ trên MacOSX?

1) compile with g++ -pg 
2) run prog 
3) gprof 

Rõ ràng gprof là Broek trên MacOSX 10.5, và tôi phải sử dụng Shark. Tất cả các hướng dẫn tôi đã tìm thấy aby Shark liên quan đến XCode (trong khi xây dựng của tôi được thực hiện với Makefiels và g ++).

Ai đó có thể đăng hướng dẫn từng bước để sử dụng cá mập trên ứng dụng được xây dựng bằng g + +? Nói điều gì đó như:

int main() { while(1); } 

g++ blah.cpp -o blah; do I need to give it more command line arguments? 

how do I use shark here? 
+0

Bạn có cân nhắc sử dụng dtrace (với chương trình GUI được gọi là công cụ) không? –

Trả lời

3

Cấu hình cụ thể như gprof không đặc biệt hữu ích trừ khi bạn thực sự chỉ muốn biết về biểu đồ cuộc gọi và số lần hàm được gọi. Hữu ích hơn nhiều cho phân tích hiệu suất là một trình thu thập mẫu, và cho công cụ Shark của Apple (một phần của CHUD) là một trong những tốt nhất. Bạn thực sự không cần phải sử dụng Xcode để xây dựng một ứng dụng để lược tả dưới Shark - Tôi có các công cụ dòng lệnh được xây dựng với Makefiles mà tôi thường xuyên sử dụng với Shark. Bạn có thể kích hoạt Shark tự động từ bên trong mã của bạn (có một vài API khác nhau) hoặc bạn có thể sử dụng công cụ dòng lệnh "chudRemoteCtrl" (man chudRemoteCtrl) hoặc bạn có thể cấu hình tùy chọn Launch trong Shark để thiết lập đường dẫn thực thi , thư mục làm việc, các đối số dòng lệnh, v.v. và tránh xa bạn. Đảm bảo bạn xây dựng ứng dụng của mình với -g để Shark có thể hiển thị mã nguồn thay vì mã đối tượng đã tháo rời.

Shark configuration for command line tool http://www.freeimagehosting.net/uploads/386737a1fa.jpg

1

Dưới đây là một relevant thread

Thật không may, tôi không biết làm thế nào để làm điều này tại dòng lệnh trên Mac OS X, và tôi chạy 10,6 ... tôi thường để cho các Xcode ma thuật đi qua: -S

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