是否可以在 Mac OS X 上通知 DTrace 动态生成的代码?
Posted
技术标签:
【中文标题】是否可以在 Mac OS X 上通知 DTrace 动态生成的代码?【英文标题】:Is it possible to notify DTrace on Mac OS X of dynamically generated code? 【发布时间】:2012-02-09 16:40:25 【问题描述】:我们希望扩展 Mono 的 VM 以生成可供DTrace 和仪器使用的信息。
我正在考虑对 Mono 运行时进行更改,使其注册或通知它动态生成的代码,以便 DTrace 可以为这些代码块生成有用的信息。
【问题讨论】:
【参考方案1】:你想包含什么样的信息?
执行此操作的主要示例是 ustack 助手,它从 VM 向 DTrace 传达如何将堆栈帧转换为人类可读的帧。这些已经存在于 Python、Java 和 Node.js 中。
这是一个“hello world”的 ustack 助手: https://github.com/davepacheco/ustack
这是 Node.js 的一个: https://github.com/joyent/node/blob/master/src/v8ustack.d
【讨论】:
我看过很多帖子说这在 Mac OS X 上是不可能的。那些已经过时了吗? 这仍然是正确的。这是去年 3 月的帖子:mail-archive.com/dtrace-discuss@opensolaris.org/msg04668.html 但在 OSX SL 和 Lion 上仍然如此。如果您需要,请在 bugreport.apple.com 提交错误报告,因为这是社区向 Apple 上报此问题的最佳方式。以上是关于是否可以在 Mac OS X 上通知 DTrace 动态生成的代码?的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Mac OS X 上通过 jinfo 启用 DTrace 探测
如何在 Mac OS X Leopard 上的 dtrace 中使用热点探针?