子プロセスからforkした後にgdbがデタッチ-無効にしますか?

StackOverflow https://stackoverflow.com/questions/1637389

  •  07-07-2019
  •  | 
  •  

質問

gdb内でこのメッセージを取得します。私はそれがエラーでも何でもないことを知っています。ページネーションも行ったので、それは問題になりません。

このメッセージを抑制する方法はありますか?

役に立ちましたか?

解決

この質問が未回答であることに興味がありました...

GDBマニュアルを入手したところ、(一部-p33 PDFの第9版、gdbバージョン7.0.50.20091228の場合)):

  

gdbの制御下で下位が開始または終了したときに通知を受ける   印刷下位イベントの設定

set print inferior-events
set print inferior-events on
set print inferior-events off
     

set print inferior-events コマンドを使用すると、有効または無効にできます   gdbが新しい下位が開始したこと、または   劣等者は退出するか、切り離されました。デフォルトでは、これらのメッセージは   印刷されません。

show print inferior-events
     

下位が持っていることをgdbが検出したときにメッセージを出力するかどうかを表示する   開始、終了、または切り離されました。

これに関して私が懸念しているのは、デフォルトでメッセージが表示されないことを意味することです。設定がデフォルトと一致していることを確認し、それらを上書きしないでください。

セクション4.11「デバッグフォーク」(pp38-40)もあなたに関係があるようです。

他のヒント

set inferior-events off を試しましたが、メッセージは無効になりませんでした。実際、劣等イベントの印刷は、オフにしようとする前からすでにオフになっていました。

gdb のソースコードを調べたところ、 print inferior-events がメッセージ" [New inferior%d]"の印刷を制御していることがわかりました。 " [Inferior%d exited]" 、および" [Inferior%ddetached]" のみ。

メッセージ子プロセスからの分岐後のデタッチは、代わりに verbose および debug lin-lwp オプションによって制御されます。ただし、 Fedoraシステムでは、メッセージが常に出力されます。これらのパッチには、パッチ(つまり、 gdb-6.6-bz235197-fork-detach-info.patch )が含まれているためです

>
  

if(info_verbose || debug_linux_nat)

into

  

if(1 / * Fedora Bug 235197 * / || info_verbose || debug_linux_nat)

。そのため、ソースからパッチを削除して再度コンパイルしない限り、オフにすることはできません。

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