ข้อผิดพลาดในโพรบที่เปิดใช้งาน: syscall :: open_nocancel: รายการ): การเข้าถึงของผู้ใช้ที่ไม่ถูกต้องในการดำเนินการ # 2 ที่ DIF


11

ฉันเป็นสายการบินเดียวที่จะแสดงไฟล์ที่เปิดโดยกระบวนการ:

sudo dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }'

อย่างไรก็ตามฉันมีข้อผิดพลาดซ้ำ ๆ มากมายเช่น:

dtrace: error on enabled probe ID 4 (ID 946: syscall::open_nocancel:entry): invalid user access in action #2 at DIF offset 24

dtrace: error on enabled probe ID 7 (ID 160: syscall::open:entry): invalid user access in action #2 at DIF offset 24

2> /dev/nullฉันรู้ว่าฉันสามารถปราบปรามพวกเขาโดยการเปลี่ยนเส้นทางไปยัง

ข้อผิดพลาดเหล่านี้หมายถึงอะไรและทำไมจึงเกิดขึ้น

มันเป็นdtraceความผิดพลาดหรือกระบวนการบางอย่างทำให้เกิดขึ้น? และปัญหานี้สามารถแก้ไขได้อย่างไร?

ฉันใช้ OS X 10.11.2

คำตอบ:


14

สิ่งนี้อาจเกี่ยวข้องกับ El Capitan และ System Integrity Protection ( csrutil status) ซึ่งอาจมีผลต่อdtraceพฤติกรรม

การแก้ไขที่เป็นไปได้รวมถึงการรีบูตเครื่อง Mac เข้าสู่โหมดการกู้คืน ( - Rณ เวลาบูต) จากนั้นในการรันเทอร์มินัล:

csrutil enable --without dtrace

เพื่อให้ SIP เปิดใช้งาน แต่ปิดใช้งานข้อ จำกัด DTrace (หมายเหตุ: นี่คือพารามิเตอร์ที่ไม่มีเอกสาร )

หรือปิดใช้งาน SIP อย่างสมบูรณ์โดย:

csrutil disable # Not recommended.

ดู:

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