1

見出しが言うように、私はac / c ++アプリケーション内から、理想的には既存のライブラリを介して他のプロセスにブレークポイントを設定し、それらのブレークポイントがトリガーされたときに(ホストプロセスを中断することなく)反応する方法を探しています。

最終的な目標は、ユーザーの土地プロセスのために、ユニス間で移植可能な、小さくて非常に一般的なスクリプトエンジンです。

それで、これをどのように達成できるかについて誰かがアイデアを持っているか、または同様のプロジェクトや機能について聞いたことがありますか?私の一般的なアプローチがオフの場合は、別の方法でこれを達成する方法についてフィードバックを喜んで受け取ります。

編集: SO標準に準拠して、特定の質問は、ブレークポイント/プロセスの相互作用がライブラリまたはc /c++のUNIXシステムコールを介して利用可能かどうかです。

4

1 に答える 1

1

具体的な質問は、ブレークポイント/プロセスの相互作用がライブラリまたはc /c++のUNIXシステムコールを介して利用できるかどうかです。

はい:ptraceこれに対する唯一のポータブルUnixシステムコールです。

それを使って何か役に立つことをするためには、たくさんのコードを書かなければならないことにすぐに気付くでしょう。

スクリプト可能で一般的に役立つものを作成する前に、GDBの約50%を実装する必要があると思います。そのため、GDBから始めて、代わりに組み込みのPythonスクリプトを使用することをお勧めします。

プラットフォーム固有の改善点もありますptrace(Solarisptrace/procfs; Linuxに実装されutraceていますが、死産のようです)。

fryskLinux固有のアイデアを検討することもできます。

于 2012-07-03T12:23:30.830 に答える