【发布时间】:2019-09-12 20:04:25
【问题描述】:
我想使用 DTrace 跟踪各种程序中的 FFI 使用情况。
DTrace 设计用于生产环境,但大多数软件都是通过编译器优化进行编译和分发的。
这些优化是否会阻止使用pid 提供程序来跟踪entry 和return 探测?
例如
pid$target::example_ffi_fn_x:entrypid$target::example_ffi_fn_x:return
http://dtrace.org/guide/dtrace-ebook.pdf#page=291
当编译器内联一个函数时,pid 提供者的探针会 不火。要避免在编译时内联函数,请参阅 编译器的文档。
这是否意味着您只能在发布 USDT 探针或在调试模式下编译(没有优化)的程序上使用 DTrace?
在我没有原始源代码的程序中,是否有其他方法可以跟踪 FFI 的使用情况?
【问题讨论】:
标签: dtrace