使用C++中的Dtrace设置自己的探针

3

我在一份C库中有一些自定义的dtrace探针,在将该库与C应用程序进行链接和使用时,我的探针能够正常工作。然而,当它与C++一起链接时,会提示找不到它们。原因似乎在于C++的名称重载,而要使其工作却变成了一场鸭子追赶战。

您有什么想法吗?

注意:使用gcc。

2个回答

2

到目前为止,我发现以下这些“有用”的链接:

使用 DTrace 对 C++ 程序进行分析和调试

使用 DTrace SDT 提供程序与 C++

但它们并没有解决我的问题。

后来我找到了下面这些文章:

用户空间跟踪越来越好//这篇文章非常有帮助

在应用程序中放置开发者定义的 DTrace 探针点

Dtrace 使用 SDT 探针//这个 PDF 帮助理解了一些细节,但信息比较旧

基本上这都归结于使用 dtrace -h 命令从 ones probes.d 头文件中获取信息。


我发现“用户空间跟踪变得越来越好”这个链接非常宝贵。 - Allen George

1
你尝试过在声明 C 函数时使用 extern "C" { ... } 吗?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接