在 C++ 中使用 Dtrace 设置我自己的探针
Posted
技术标签:
【中文标题】在 C++ 中使用 Dtrace 设置我自己的探针【英文标题】:Setting my own probes with Dtrace in C++ 【发布时间】:2009-04-15 07:06:48 【问题描述】:我在 C 库中有一些自定义 dtrace 探针,当将库与 C 应用程序链接和使用时,我的探针工作正常,但是当与 C++ 链接时,它说找不到它们。原因似乎是因为 C++ 的修改,并且试图让它工作已成为一种追逐。
有什么想法吗?
注意:使用 gcc
【问题讨论】:
【参考方案1】:到目前为止,我已经找到了这些“有用”的链接
Using DTrace to Profile and Debug A C++ Program
Using DTrace SDT provider with C++
但他们没有解决我的问题。
后来我发现了这些文章:
User-land tracing gets better and better //这很有帮助
Putting developer-defined DTrace probe points in an application
Dtrace Using SDT probes //pdf 帮助理解了一些细节,但是信息太旧了
基本上这一切都归结为使用 dtrace -h 从那些 probes.d 中获取头文件
【讨论】:
我发现“User-land tracking getting better and better”链接非常宝贵。【参考方案2】:您在声明 C 函数时尝试过extern "C" ...
吗?
【讨论】:
以上是关于在 C++ 中使用 Dtrace 设置我自己的探针的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SmartOS 上使用 HotSpot DTrace 探针?