3

Cライブラリにカスタムdtraceプローブがいくつかあり、ライブラリをリンクしてCアプリケーションで使用すると、プローブは正常に機能しますが、C ++に対してリンクすると、プローブが見つからないと表示されます。その理由は、C ++のマングリングが原因のようであり、それを機能させることを試みることは、アヒルの追跡になっています。

何か案は?

注:gccを使用する

4

2 に答える 2

2

これまでのところ、これらの「便利な」リンクを見つけました

DTraceを使用したC++プログラムのプロファイリングとデバッグ

C++でのDTraceSDTプロバイダーの使用

しかし、彼らは私の問題を解決していません。

後で私はこれらの記事を見つけました:

ユーザーランドのトレースがどんどん良くなる//これはとても役に立ちました

開発者が定義したDTraceプローブポイントをアプリケーションに配置する

SDTプローブを使用したDtrace //pdfいくつかの詳細を理解するのに役立ちましたが、情報は古いです

基本的には、probes.dからのヘッダーファイルにdtrace-hを使用することになります。

于 2009-04-15T07:08:34.927 に答える
1

extern "C" { ... }C関数を宣言するときに試しましたか?

于 2009-04-15T07:10:19.930 に答える