คุณมี kcachegrind เช่นเครื่องมือสร้างโปรไฟล์สำหรับ mac [ปิด]


99

ใครช่วยบอกฉันเกี่ยวกับเครื่องมือที่คุณมีสำหรับการทำโปรไฟล์เช่น kcachegrind wingrind valgrind สำหรับแพลตฟอร์ม mac

ฉันไม่คิดว่าสิ่งเหล่านี้ใช้ได้กับ mac ฉันได้ตรวจสอบอย่างรวดเร็วด้วย


ฉันกำลังพยายามสร้างโปรไฟล์โค้ด php / javascript ดังนั้นจึงสนใจโปรไฟล์เหล่านั้นมากขึ้น ขอบคุณทุกกรณีสำหรับข้อมูลของคุณ
indianwebdevil

1
ฉันคิดว่าเบราว์เซอร์ส่วนใหญ่มาพร้อมกับล่าม Javascript ของตัวเอง แต่ Safari ใช้ JavascriptCore ซึ่งเปิดเผยทั่วทั้งระบบปฏิบัติการดังนั้นสิ่งที่เกือบจะเรียกใช้เนื้อหา Javascript แบบสคริปต์ในที่อื่น ๆ เช่น Cheetah3D หากคุณเปิดใช้งานเมนู "พัฒนา" ในการตั้งค่าจะมีตัวสร้างโปรไฟล์จาวาสคริปต์อยู่ในนั้น
Tommy

ดูเพิ่มเติม: stackoverflow.com/questions/5426799/…
kenorb

คำตอบ:


135

ฉันลงเอยด้วยการใช้ qcachegrind บน OSX สามารถติดตั้งผ่านการชง

brew install qcachegrind

หรือเพื่อเปิดใช้งานการสนับสนุนgraphviz :

brew install qcachegrind --with-graphviz

สิ่งที่ยอดเยี่ยมเกี่ยวกับโปรแกรมนี้คือฉันโหลดไฟล์ cachegrind 6.1GB บน MacBook Pro ได้สำเร็จ! เนียนสวย!


9
brew updateก่อนที่จะทำสิ่งนี้เพื่อป้องกันความผิดพลาดแปลก ๆ :)
grosser

3
brew install graphvizหากคุณต้องการกราฟการโทรสวย ๆ
Ngoc Pham

2
ฉันต้อง symlink dot เพื่อให้ callgraphs ทำงาน sudo ln -s / usr / local / bin / dot / usr / bin / dot
John Kramlich

สิ่งนี้ใช้ได้ผลสำหรับฉันโดยไม่มีปัญหา! ขอบคุณ!
RăzvanCiocănel

1
จากสิ่งนี้blog.josephscott.org/2013/07/03/…ในความคิดเห็นเพื่อหลีกเลี่ยงการป้องกันระบบเพื่อใช้ dot: จาก @Motrin: สิ่งนี้ใช้ไม่ได้ใน OSX El Capitan อีกต่อไปเนื่องจาก System Integration Protection: sudo ln - s / usr / local / bin / dot / usr / bin / dot วิธีแก้ปัญหา: $ cd /Applications/qcachegrind.app/Contents/MacOS $ mv qcachegrind qcachegrind.bin $ echo '#! / bin / bash export PATH =” $ PATH : / usr / local / bin” $ (dirname $ 0) /qcachegrind.bin exit 0 '> qcachegrind $ chmod + x qcachegrind จากนั้นเริ่ม qcachegrind ตามปกติ
troseman

60

ลองใช้คำสั่งผสม qcachegrind + Graphviz killer

ติดตั้งได้อย่างรวดเร็วผ่านการชงซึ่งเป็นสิ่งที่ดี

ตรวจสอบคำแนะนำเหล่านี้โดยทั่วไปติดตั้งผ่าน:

brew install qcachegrind

ซึ่งจะดาวน์โหลดการอ้างอิงอื่น ๆ เช่นqtและgraphviz.


13
ตอนนี้มี 'brew install qcachegrind' ซึ่งสูตรจะขึ้นอยู่กับบล็อกนั้น แม้ว่า (atm) จะไม่ได้ติดตั้ง /Applications/QCachegrind.app แต่เป็นไบนารี qcachegrind
DTest

อีกโพสต์ที่มีประโยชน์: blog.jcmultimedia.com.au/2014/03/…
Jazzo

15

ทั้ง valgrind และ kcachegrind พร้อมใช้งานสำหรับ Mac OS X

คุณสามารถติดตั้งได้โดยใช้MacPorts :

sudo port install valgrind kcachegrind

ฉันลองติดตั้ง macports แล้วและ sudo port ติดตั้ง valgrind kcachegrind นี่เป็นข้อผิดพลาดของทั้งสองแอพ ------------------- คำเตือน: ไม่พบดัชนี! คุณได้ซิงค์ดัชนีแหล่งที่มาของคุณแล้วหรือยัง? ข้อผิดพลาด: ไม่พบพอร์ต kcachegrind ---------------- เบาะแสใด ๆ เกิดขึ้น
indianwebdevil

1
พอร์ต kcachegrind ถูกทิ้งอย่างเป็นทางการเมื่อ 2 ปีก่อน :( trac.macports.org/log/trunk/dports/devel/kcachegrind/Portfile
Potatoswatter

@Potatoswatter มีพอร์ตจำนวนมากใน MacPort ที่ไม่มีผู้ดูแลเฉพาะ ซึ่งหมายความว่าไม่สามารถติดตั้งพอร์ตได้อีกต่อไป
raimue

1
@Raim มันบอกเป็นนัยว่าตอนนี้พอร์ตติดตั้งซอฟต์แวร์ 2 ปีที่ล้าสมัย
Potatoswatter

15

คุณสามารถติดตั้ง KCacheGrind ใช้MacPorts

นอกจากนี้ยังมีทางเลือกอื่น ๆ เช่น:

  • WebGrind
  • qcachegrind ( brew install qcachegrind)
  • XHProf: A Hierarchical Profiler สำหรับ PHP ( pecl install xhprof)

  • แอพพรีเมี่ยมMCGสามารถวิเคราะห์ข้อมูลโปรไฟล์แอปพลิเคชันของคุณบนเครื่อง Mac ของคุณ (วางจำหน่ายในMac App Storeในราคา $ 27)

  • Profiling Viewerมีจำหน่ายใน App Store ในราคา $ 25

    เก่ากว่า: MacCallGrind (ทางเลือกกึ่งเชิงพาณิชย์เวอร์ชันฟรีซึ่ง จำกัด ไฟล์บด 3MB)

    ภาพหน้าจอของแอป MCG - xdebug - วิเคราะห์โปรไฟล์แอปพลิเคชันของคุณ

    รูปภาพ: โฮมเพจของ MCG

ดูเพิ่มเติม: มีทางเลือก KCacheGrind สำหรับ Mac Os X outta หรือไม่?


8

Webgrindทำงานใน PHP และสามารถอ่านเอาต์พุต cachegrind ของ XDebug ขณะนี้ไม่มีฟังก์ชันทั้งหมดของ KCacheGrind แต่ติดตั้งง่ายมากและดูเหมือนว่าจะมีการต่ออายุกิจกรรม


7

MacCallGrindเป็นทางเลือกกึ่งเชิงพาณิชย์สำหรับ Mac ฉันได้ทดลองใช้เวอร์ชันฟรีซึ่ง จำกัด ไฟล์ไว้ที่ 3MB บด มันเทียบเท่ากับWinCacheGrindในแง่ของฟังก์ชันการทำงาน


ตอนนี้เชิงพาณิชย์ล้วนๆ
Victor Sergienko

2

Apple จัดหาเครื่องมือสำหรับตรวจสอบการจัดสรรรันไทม์ของสิ่งต่างๆและค้นหาการรั่วไหลSharkสำหรับการทำโปรไฟล์อย่างชัดเจนและ Guard Malloc (ติดตั้งใน Xcode โดยตรง) สำหรับการดีบักการจัดสรรหน่วยความจำ ทั้งหมดนี้เป็นส่วนหนึ่งของเครื่องมือสำหรับนักพัฒนา


1
ใน OS X รุ่นล่าสุดตอนนี้ Shark ได้รวมอยู่ในเครื่องมือแล้ว
rcoup

1

valgrind พร้อมใช้งานสำหรับ Mac หากคุณกำลังสร้างแอปโกโก้คุณสามารถใช้เครื่องมือที่มาพร้อมกับ XCode เช่นการรั่วไหลจะดีมาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.