0

別のライブラリ ファイルに保持される一連の C++ 関数を作成する必要があります。このファイルは、他の人が作成したさまざまな Linux アプリケーションのクラッシュ ログに使用されます。このような関数は、機能するためにシグナル ハンドラをインストールする必要があります。

ロガー関数が使用されるアプリケーションが独自のシグナル ハンドラーをインストールする場合、シグナルがロガー関数に到達することを確認するにはどうすればよいですか?

4

1 に答える 1

0

signalsigaction、などの関数をsigprocmaskライブラリに実装して、glibc で定義されている関数の代わりに使用することで、シグナル ハンドラのオーバーライドやシグナルのブロックを防ぐことができます。

アプリケーションは、対応するシステムコールを直接呼び出すことで、これを回避できます。

于 2013-08-19T09:15:07.070 に答える