【发布时间】:2015-05-27 05:53:27
【问题描述】:
我想看看程序何时使用 Dtrace 进入一个类。
例如:
dtrace -c './myProgram' -n 'pid$target:myProgram:function:entry'
当程序 myProgram 进入函数 function 时触发, 现在如何编写一个探针,当程序进入一个类而不是一个函数时触发?
我试过了:
dtrace -c './myProgram' -n 'pid$target:myProgram:className:entry'
但它不起作用
【问题讨论】:
-
没有“程序进入[ing]类”之类的东西。你的意思是?几乎所有可执行代码都是一种或另一种形式的函数。类可以有成员函数,包括静态成员函数,但那些仍然是函数。构造函数和析构函数也是特殊类型的函数。尝试
dtrace -l -n 'pid$target:myProgram::entry' -c ./myProgram查看 DTrace 知道的函数入口点列表。 (因为函数名是空的,所以它匹配一切。) -
感谢您的回答,我解决了我的问题。我想知道程序什么时候进入成员函数。
-
@Alessandro:请发布您的解决方案作为您问题的答案。
标签: c++ class dtrace dynamic-analysis