質問

にアクセスしないように、埋め込みQNX RTOSで実行されているすべての個別のプロセスで構成されているプログラムに取り組んでいます。彼らは親子関係を持っていません、それらはすべてspawnlp(P_NOWAIT, ...)を使用して生成され、それらはすべてOSによって提供されたIPCメカニズムを使用して互いに通信します。

GDBでデバッグしていて、私が働いているプロセスでブレークポイントを打つとき、私のスレッドはすべて一時停止されています。しかし、私の プロセスの実行を一時停止する方法はありますか?現在、私のプロセスが一時停止されている間、私のプロセスが一時停止されている間、他のすべてのプロセスがトラックに保つことです。

事前にありがとう、

HF

役に立ちましたか?

解決

GDBコマンドのリストを各ブレークポイントに関連付けることができます。そのため、プロセスAでブレークポイントをヒットすると、例えばDEBUGGERにドロップする必要があるSIGTRAPを処理するようにします。

(gdb) b main
Breakpoint 1 at 0x804834a: file testA.c, line 40.
(gdb) command
Type commands for when breakpoint 1 is hit, one per line.
End with a line saying just "end".
>shell kill -s TRAP `pidof testB`
>end
(gdb) 
.

詳細 breakpointコマンドリスト

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top