için iyi C++ profiler İlgili bir soru bulmaya çalıştım ancak önceki tüm sorular Windows'ta native C++ için profil oluşturucular hakkında. Bir süredir googledim ve gprof'u öğrendim, ama gprof'un çıkışı aslında çok fazla gizli dahili fonksiyon içeriyordu. İyi belgelere sahip iyi bir açık kaynak C++ profiler var mı?GCC
GCC
cevap
Valgrind
Tamamen bayrağı -pg
kullanarak bu http://en.wikipedia.org/wiki/Valgrind
gprof, for the reasons given here'u kullanmayın.
İhtiyacınız olan şeyler yığınlar, explained here. Stackshots almanın bir yolu, pstack yardımcı programıdır. Başka bir yol, "Duraklat" veya hata ayıklayıcı altında ctrl-break kullanmaktır. Ayrıca bir kopyasını alabilirsiniz, lsstack. Parayı harcamak istiyorsanız, RotateRight makes a nice tool based on stack sampling called Zoom.
KDE kitaplığı bağımlılıklarına aldırmazsanız, KCachegrind eklenen görselleştirme için çok kullanışlıdır. Tahmin edilebileceği gibi Callgrind ve Valgrind'e göre değişir, bu yüzden derleme zamanında özel bir derleyici bayrağı gerekmez.
Oprofile'ın gerçek zamanlı uygulamalar için gerçekten çok iyi olduğunu duydum. Sadece Linux olsa da, AFAIK.
Profil raporlarınızda ne kadar ayrıntıya ihtiyacınız var. Sadece birkaç fonksiyon için gerçekten basit bir zaman profili yapmak istiyorsanız, C++ 11 chrono
sınıfları aracılığıyla mevcut olan yeni fonksiyonlar çapraz platformda çapraz derleyici şekilde profillemeyi kolaylaştırır.
Matlab'ın süper kolay kullanımı tic
ve toc
işlevlerine benzer şekilde çalışır bazı basit profilleme kodu için this article bakınız.
- 1. gcc (g ++) altında gcc
- 2. GCC
- 3. GCC
- 4. gcc
- 5. gcc
- 6. GCC
- 7. gcc
- 8. gcc,
- 9. gcc
- 10. Python, gcc
- 11. GCC hotpatching?
- 12. GCC, C
- 13. nasıl gcc
- 14. GCC, PowerPC
- 15. TDM-GCC
- 16. C++ gcc-4.8.5 ile derlendiğinde fakat gcc-4.6.4 ile çalışıldığında istisnalar gözardı edilemez fakat gcc-4.6.4
- 17. Arm-eabi-gcc ve arm-elf-gcc arasındaki farklar nelerdir?
- 18. GCC ben inşa ve kaynağından GCC 4.8.1 yüklemiş bile, -g
- 19. GCC programında istisnalar yakalanmaz
- 20. gcc `__thread` nasıl çalışır?
- 21. Hata - GCC çalışan MSVC
- 22. gcc harita dosyasını yorumlama
- 23. GCC veya Clang
- 24. C++ AVR-GCC
- 25. GCC -mthumb -marm'a karşı
- 26. Cython Install GCC hatası
- 27. gcc bağlantı paylaştı kütüphane
- 28. GCC dizi endeks değeri
- 29. bölüm özniteliği, GCC
- 30. gcc -lpthread çalışmıyor
Ayrıca, manuel profillemeyi http://code.google.com/p/profiny adresinden de deneyebilirsiniz. Ek yükü diğer araçlarla karşılaştırıldığında çok küçük olmalıdır. – user2001885
olası bir kopyası [Linux'ta C++ kodunu profillemek için ne kullanabilirim?] (Http://stackoverflow.com/questions/375913/what-can-i-use-to-profile-c-code-in-linux) – user