回答
我很好奇,想看看這個問題是沒有答案......
我獲得的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頁)也與您有關。
這個答案是真實的,但無關緊要。請參閱下面的答案。 – musiphil 2012-02-08 22:45:01
我試過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 process
由verbose
和debug 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)
。所以你永遠不能關閉它,除非你從源代碼中刪除補丁並重新編譯它。
該補丁何時應用於Fedora?而且,全世界都沒有運行Fedora - 原來的問題沒有指定Linux,更不用說Fedora了。你已經做了一些有趣的研究,但是Fedora特定的補丁不會影響GDB用戶的普遍性。你的答案可能與某些人有關;但是你的一攬子斷言是,原來的答案,這是有用的幾年,是無關緊要的,似乎有點OTT。 – 2012-02-08 22:52:42
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
- 1. gdb調試fork後的子進程
- 2. 使用gdb進行fork()系統調用
- 3. 從父項分離子進程
- 4. 使用fork:從父進程訪問子進程內存
- 5. 子進程如何使用fork()從父進程繼承數據?
- 6. fork()子進程和父進程
- 7. fork(),首先運行父進程,然後運行子進程
- 8. GDB回溯子進程
- 9. 調試子進程 - GDB/DDD
- 10. 使用Fork()和Pipe()將文件拆分爲多個子進程
- 11. C進程fork()
- 12. 殺死父進程並在fork()之後離開子進程的目的是什麼?
- 13. gdb:不要從父母上叉分離
- 14. gdb進入子進程時中斷
- 15. 在fork中檢測子進程創建()
- 16. fork()如何返回子進程
- 17. fork()和exec()兩個子進程
- 18. perl fork()exec(),子進程狂放
- 19. 有兩個子進程fork()和wait()
- 20. 如何在C中fork()n子進程?
- 21. 與fork並行運行子進程
- 22. fork()兩個子進程在c
- 23. 接收到第一個消息後,分離節點子進程
- 24. 使用進程,fork命令
- 25. fork()調用,複製進程
- 26. 用fork創建MPI進程?
- 27. Unix - 使用fork的進程()
- 28. 如何在fork或子進程之後創建共享內存?
- 29. 如何禁止使用fork/exec創建的子進程的任何輸出
- 30. 在fork之後,子進程的進程控制塊是什麼樣的?
由於我沒有得到答案,似乎我的問題是錯誤的。讓我改述一下.. 問:gdb有分頁選項,通過這個選項你可以不停地滾動任何你有的警告。這在大部分時間都適用。我能夠抑制一些中斷和信號。 但是 當你使用多線程,fork,exec等大型二進制文件時,它會一直給你提供各種信息/警告。這有點令人煩惱。 有什麼辦法可以壓制這個警告嗎? – Jack 2009-11-21 10:11:16