像Eclipse一樣,GUI調試器有什麼優勢,以及使用命令行調試器(如gdb)有什麼優勢?工業界是否使用命令行調試器?如果是這樣,人們使用命令行調試器的情況是什麼?GUI調試器和終端調試器之間的區別
回答
我通常使用gdb的,但一些優勢,我能想到的把我的頭頂部:
- 作爲命令行中,在遠程系統上調試二進制文件是打開ssh連接一樣簡單。
- 偉大的腳本支持,並且能夠在每個斷點運行多個命令(請參閱
continue
關鍵字) - 啓動時間更短,開發週期更短。
- 複製& pastable命令和讓你重複常用命令更容易
- GDB還談到一個明確的協議,這樣你就可以調試代碼的大量晦澀的硬件和內核的運行自定義功能。
- 從長遠來看,輸入短命令比在GUI中工作更短,效率更高(在我看來)。
但是,如果您在系統或運行時之前從未使用過,那麼使用可視調試器可以更容易從一開始就開始。此外,讓您的調試器與您的IDE緊密集成(如果使用的話)可以大大提高生產力。
可視調試器和命令行不一定是完全獨立的,有可視化的前端gdb,如DDD。 (但是我沒有使用DDD,因爲它感覺超級笨重和過時,但它確實存在,但XCode也包裝了gdb以支持調試)
命令行調試器適用於調試遠程系統(特別是連接速度較慢時),它對於低性能系統或沒有Xserver /圖形卡的系統也很有用。 CLI調試器也用於快速分析或核心轉儲和SIGSEGV(它們的啓動速度更快)。命令行調試器更加便攜,它們幾乎安裝在每個系統上(或者它們可以輕鬆安裝,甚至可以從網絡/閃存驅動器啓動)
我認爲命令行可用於沒有源代碼的程序,圖形調試器對於具有複雜數據結構/類的項目更好。
另一種情況是命令行調試器更易於自動化,例如,我有一個shell腳本,它使用gdb完成程序的完全調用圖形記錄。自動化圖形調試器將非常困難。
您提到命令行不需要源代碼。你能詳細解釋一下嗎? – foboi1122 2011-02-17 17:50:49
根據調試器的顯示來進行有意義的比較實際上是不可能的。喜歡命令行的人可能會使用文本模式,命令驅動的調試器。喜歡GUI的人可能會使用圖形菜單驅動的調試器。
幾乎是唯一一次有真正強大的技術動機,如果你正在調試窗口系統。例如,如果您嘗試調試的版本是 X服務器本身,則使用依賴於具有功能X服務器的調試器不能很好地工作。
- 1. 調試器類型之間的區別
- 2. 調試和發佈之間的區別
- 3. 在調試器中查看調試和釋放之間的區別
- 4. MATLAB調試器中「step」和「step in」之間的區別
- 5. Xcode中調試器和目標輸出之間的區別
- 6. VS2017 chrome(調試)和Google Chrome之間的前端設計區別
- 7. gdb,mdb和軟調試器的區別
- 8. Flash調試播放器和普通播放器之間有什麼區別?
- 9. xcode配置中的活動(調試)和調試之間的區別
- 10. 在TextWrangler中調試Python顯示終端不是調試器
- 11. 使用Netbeans調試器與不使用調試器執行可運行程序之間的區別
- 12. 運行時和調試之間的區別
- 13. C#XNA Visual Studio:「釋放」和「調試」模式之間的區別?
- 14. 調試和簽名密鑰之間的區別
- 15. Xcode調試和發佈之間的區別
- 16. 調試和發佈文件夾之間的區別
- 17. 爲GUI調試器編寫解析器
- 18. Wi-Fi路由器和USB調制解調器設備之間的區別
- 19. 玩激活器調試終止試圖從eclipse遠程調試
- 20. 測試StringBuilder和StringBuffer之間的區別
- 21. 如何調試Jboss和eclipse調試器之間的連接故障
- 22. Nodejs服務器端調試
- 23. 服務器端調試
- 24. 基於GUI的Ruby調試器?
- 25. 嘗試在Ajax之前/期間調用調光器/跳動器
- 26. 調度程序和上下文切換器之間的區別?
- 27. 反應調度器io和計算之間的區別?
- 28. WebServiceTemplate - 攔截器和回調之間的區別?
- 29. 阿卡調度員和路由器之間的區別
- 30. 調試C#GUI
您可以爲終端調試器(有它們的用途,請參閱答案)的前端。相反是不正確的。使用gdb時,我個人的口味是使用命令行(或者emacs前端有時),因爲您很快就會習慣它。 – 2011-02-17 17:43:19