2009-10-28 17 views
4

在gdb中獲取此消息。我知道這不是一個錯誤或任何東西。我也做了分頁,所以這不是一個問題。gdb從子進程fork後分離 - 禁用?

有什麼辦法可以壓制這條信息嗎?

+0

由於我沒有得到答案,似乎我的問題是錯誤的。讓我改述一下.. 問:gdb有分頁選項,通過這個選項你可以不停地滾動任何你有的警告。這在大部分時間都適用。我能夠抑制一些中斷和信號。 但是 當你使用多線程,fork,exec等大型二進制文件時,它會一直給你提供各種信息/警告。這有點令人煩惱。 有什麼辦法可以壓制這個警告嗎? – Jack 2009-11-21 10:11:16

回答

3

我很好奇,想看看這個問題是沒有答案......

我獲得的GDB manual,和它說(在部分 - PDF「第九版,廣發行版本7.0.50.20091228」的P33):

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

set print inferior-events C:

當下級都在gdb的控制使用 set print inferior-events啓動或退出時收到通知ommand允許您在gdb發出新的下級已啓動或 下級已退出或已被分離的情況下啓用或禁用消息打印 。默認情況下,不會打印這些消息 。

show print inferior-events 

是否顯示GDB時檢測到下級已 啓動,退出或已被分離的消息將被打印出來。

我唯一關心的就是它意味着你不應該在默認情況下看到這些消息。只要確保您的設置符合默認設置並且不要覆蓋它們。

第4.11節「調試叉」(第38-40頁)也與您有關。

+1

這個答案是真實的,但無關緊要。請參閱下面的答案。 – musiphil 2012-02-08 22:45:01

7

我試過set print inferior-events off,但它沒有禁用該消息。實際上,在我試圖關閉它之前,print inferior-events已經關閉。

我通過gdb源代碼搜索,發現print inferior-events控制消息"[New inferior %d]""[Inferior %d exited]"的印刷,並僅"[Inferior %d detached]"

消息Detaching after fork from child processverbosedebug lin-lwp選項控制。然而,在Fedora系統消息總是打印,因爲它們具有補丁(即gdb-6.6-bz235197-fork-detach-info.patch),輪流

if (info_verbose || debug_linux_nat)

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

。所以你永遠不能關閉它,除非你從源代碼中刪除補丁並重新編譯它。

+0

該補丁何時應用於Fedora?而且,全世界都沒有運行Fedora - 原來的問題沒有指定Linux,更不用說Fedora了。你已經做了一些有趣的研究,但是Fedora特定的補丁不會影響GDB用戶的普遍性。你的答案可能與某些人有關;但是你的一攬子斷言是,原來的答案,這是有用的幾年,是無關緊要的,似乎有點OTT。 – 2012-02-08 22:52:42

+2

Jonathan,請注意,我只是在最後添加了Fedora用戶的信息(因爲我碰巧在Fedora上遇到了同樣的問題),而我之前提到的所有「系統」都適用於所有系統,因爲它直接來自原始gdb-7.3的來源。特別是在任何系統上,**'set print inferior-events off'不會關閉'fork from child process'之後的脫離。** 我不能確定何時應用修補程序,但文件'gdb-6.6-bz235197-fork-detach-info.patch'在'gdb-7.2-52.fc14.src.rpm'中,補丁文件的日期爲2011-11-09。 – musiphil 2012-02-09 03:27:33