ดูการเข้าถึงระบบไฟล์แบบเรียลไทม์บน Mac OS X


25

มีเครื่องมือ sysinternals (filemon) สำหรับสิ่งนั้น แต่ตอนนี้ฉันสามารถหาสิ่งที่คล้ายกันสำหรับ mac

ฉันเป็นนักพัฒนาและโดยทั่วไปฉันต้องการดีบั๊กข้อผิดพลาด "ไม่พบไฟล์" หรือ "สิทธิ์ผิด"

คำตอบ:


18

คุณสามารถใช้lsofหรือfs_usageในเทอร์มินัล lsofสามารถมีประสิทธิภาพมาก หากเป็นเรื่องเกี่ยวกับกระบวนการเฉพาะคุณสามารถลองสุ่มตัวอย่างได้ในการตรวจสอบกิจกรรม

สำหรับเครื่องมือ GUI คำแนะนำของฉันคือfseventer :

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ยูทิลิตี้ที่มุ่งเน้น GUI เพิ่มเติมซึ่งฉันไม่ได้ใช้:

FileMon

ป้อนคำอธิบายรูปภาพที่นี่

FS Spy

ป้อนคำอธิบายรูปภาพที่นี่


+1 คำตอบที่ดีมาก แต่ฉันเพิ่งลองใช้ FileMon และดูเหมือนว่าตัวกรองจะไม่ทำงานซึ่งทำให้มันไร้ประโยชน์เลย fseventer ดีมาก
occulus

fseventer อ้างว่า "10.10 Yosemite ถูกจัดประเภทเป็นไม่สนับสนุนจนกว่าจะมีประกาศ" มีคำตอบอัพเดทหรือไม่ มีคำแนะนำใหม่ไหม?
rafraf

3

สำหรับการดูไฟล์ที่เข้าถึงได้แบบเรียลไทม์คุณสามารถใช้ประโยชน์fs_usageจากฟีเจอร์ FSEvents ใน Mac OS X หรือแม้แต่dtraceตัวมันเอง

การใช้งาน: sudo fs_usage [PID].

สำหรับข้อมูลเพิ่มเติมตรวจสอบหน้าคน


fs_usage เป็นรายการโปรดของฉัน ฉันเขียนเกี่ยวกับเรื่องนี้ในบล็อกโพสต์ของฉัน @ mohit.io/blog/fs_usage-trace-file-system-calls-on-mac-os-xที่ฉันติดอยู่กับ Outlook ที่แขวนและฉันอยากรู้ว่ามันกำลังทำอะไรอยู่ บน Mac ของฉัน
mohit

3

ภาพน้อยลง

https://diigo.com/0xcp0สำหรับไฮไลท์จากบล็อกของเบรนแดน»สคริปต์ DTrace 10 อันดับแรกสำหรับ Mac OS X (2011-10-10)

ภาพมากขึ้น

สำหรับระบบปฏิบัติการที่ทันสมัยกว่าที่เข้ากันไม่ได้กับ fseventer นั้นมี Apple Xcode Instruments  -

เลือกเทมเพลตกิจกรรมไฟล์

เครื่องมือในพื้นหลังเทอร์มินัลด้านหน้า

- มีประสิทธิภาพ แต่ (เมื่อเทียบกับ fseventer) ในบางกรณีเครื่องมืออาจมีน้ำหนักมากเกินไป


0

คุณสามารถใช้สคริปต์dtrace opensnoopเพื่อระบุการเปิดที่ล้มเหลว (ไม่พบไฟล์และข้อผิดพลาดในการอนุญาต)

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