Mac OSX: 使用 dtruss?
Mac OSX: Using dtruss?
我正在尝试 dtruss Mac OSX Catalina 中的进程,但是 dtrace 报告错误。
$ sudo dtruss whoami
dtrace: system integrity protection is on, some features will not be available
dtrace: failed to execute whoami: (os/kern) failure
我基本上是在尝试获取堆栈跟踪。任何人都可以提供有关完成此操作的指导吗?
谢谢
本文介绍了如何完成此操作:
Enabling D-Trace on system with SIP
您可以通过执行以下操作完全禁用 SIP:
- 重新启动您的 mac
- 重启时按住 ⌘R
- 从 Utilities 菜单,运行 Terminal
- 输入以下命令
csrutil disable
或者,您可以重新启用 SIP,同时仍然允许 dtrace
工作,方法是 运行 执行以下操作:
csrutil enable --without dtrace
如果你在 apple silicon(像现在的 m1),你不应该按 ⌘R 进入恢复模式。另一种方法是按住电源按钮,直到屏幕提示您“正在加载设置...”。
如果你想跟踪像 ls
这样的内置命令,csrutil enable --without dtrace
对我不起作用,但 csrutil disable
可以。
我正在尝试 dtruss Mac OSX Catalina 中的进程,但是 dtrace 报告错误。
$ sudo dtruss whoami
dtrace: system integrity protection is on, some features will not be available
dtrace: failed to execute whoami: (os/kern) failure
我基本上是在尝试获取堆栈跟踪。任何人都可以提供有关完成此操作的指导吗?
谢谢
本文介绍了如何完成此操作: Enabling D-Trace on system with SIP
您可以通过执行以下操作完全禁用 SIP:
- 重新启动您的 mac
- 重启时按住 ⌘R
- 从 Utilities 菜单,运行 Terminal
- 输入以下命令
csrutil disable
或者,您可以重新启用 SIP,同时仍然允许 dtrace
工作,方法是 运行 执行以下操作:
csrutil enable --without dtrace
如果你在 apple silicon(像现在的 m1),你不应该按 ⌘R 进入恢复模式。另一种方法是按住电源按钮,直到屏幕提示您“正在加载设置...”。
如果你想跟踪像 ls
这样的内置命令,csrutil enable --without dtrace
对我不起作用,但 csrutil disable
可以。