成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面向軟件工程師的八個優秀Linux調試器

譯文
系統 Linux
調試器對于查找程序中的錯誤必不可少。在編譯代碼之前,調試器做一些基礎的工作,試圖找到代碼中存在的問題,通常提供比編譯器本身更多的信息。

譯者 | 布加迪

審校 | 重樓

調試器對于查找程序中的錯誤必不可少。在編譯代碼之前,調試器做一些基礎的工作,試圖找到代碼中存在的問題,通常提供比編譯器本身更多的信息。作為一種開源生態系統,Linux擁有大量這種類型的應用程序,它們適用于幾種不同的語言和處理架構。我們在本指南將直接介紹Linux調試器。

1. GNU調試器GDB

GNU調試器又名GDB,是現代程序員可以使用的功能最強大的Linux調試器之一。它是一強大的工具,擁有廣泛的功能特征GDB支持許多流行的編程語言,包括CC++GoRust。它還適用于許多不同的CPU體系結構,比如x86x86-64ARMPowerPCSPARCMIPS

使用以下命令安裝GDB

基于Ubuntu/ Debian的發行版中

sudo apt install gdb

Fedora/RHEL發行版中

sudo dnf install gdb

在基于Arch的發行版中

sudo pacman -S gdb

只要您使用帶有調試符號的GCC進行編譯,就可以在程序運行時通過輸入s逐步調試程序指令。輸入r將通過調試器運行您的程序。要在程序加載的情況下啟動GDB,只需在終端中輸入gdb,后跟程序路徑。

進入調試器后,輸入help將為您提供一個精心組織的目錄,解釋使用這個功能強大的調試器能執行的所有事情

2. 數據顯示調試器(DDD)

如果您不喜歡搗鼓命令,但仍然喜歡GDB所提供的功能特性,DDD為您提供了一個簡單的圖形化前端,它點擊式界面提供了所有特性。它是典型的Linux調試器GUI

用戶界面可能看起來有點簡陋,但其功能與任何其他調試器一樣強大。這里的區別在于,您獲得的是帶有圖形界面的GNU標志性調試器

安裝方法

在基于Ubuntu/Debian的發行版中

sudo apt install ddd

在Fedora/RHEL發行版中

sudo dnf install ddd

在基于Arch的發行版中

yay -S ddd

任何基于Arch的系統都必須使用AUR助手,因為DDD在其官方代碼庫中不存在。或者,您可以在沒有AUR助手的情況下在基于Arch的系統上安裝DDD

sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/ddd.git
cd ddd
makepkg -si

3. LLDB

LLDB是LLVM項目的一部分。LLVM套件由于其高效的工作流程而越來越受歡迎。它也成為macOS的Xcode和Android Studio的默認調試器。LLDB的一些主要特性包括支持各種編譯器集成和遠程調試。它支持C語言C、C++和Objective-C

對于那些已經熟悉基本GDB命令的人來說,LLDB會感覺很熟悉。輸入run或r運行程序,輸入step或s即可逐步執行子例程。

安裝方法

在基于Ubuntu/Debian的發行版中

sudo apt install lldb

Fedora/RHEL發行版中

sudo dnf install lldb

在基于Arch的發行版中

sudo pacman -S lldb

4. Delve

Delve是一個使用簡單但功能豐富的Linux調試器,面向谷歌的Go編程語言。您可以使用它在運行時與程序進行交互,處理諸如Goroutine協程和堆棧之類的程序。調試器本身是用Go語言編寫的,因此在與測試程序相同的環境中提供運行時。

Delve的工作原理與GDB和LLDB相同,只不過它有一系列獨特的命令,與其他兩個大不相同一旦您進入Delve,只要輸入help,它就會列出所有調試選項的完整列表。

面向多種語言的比較通用的調試器不同,Delve提供了更多專門針對Go的命令,讓您在應用程序運行時可以詳細地深入了解應用程序。

安裝方法

在基于Ubuntu/Debian的發行版中

sudo apt install delve

在Fedora/RHEL發行版中

sudo dnf install delve

基于Arch的發行版中

sudo pacman -S delve

5. Xdebug

雖然大多數人學習轉儲變量(這在PHP社區名為“dump & die”)以找出代碼某個方面的問題,但有時您需要一些更實用工具逐步完成例程的所有環節。Xdebug顯然滿懷抱負的PHP程序員和經驗豐富的PHP程序員提供了這種功能

它是一個Linux調試器,可以逐行調試PHP代碼,并準確顯示處理網頁時發生的情況。Xdebug還適用于幾款IDE,包括VSCode。其他功能特性包括可靠的分析器、堆棧跟蹤器和轉儲完整執行段的功能

安裝Xdebug

在基于Ubuntu/Debian的發行版中

sudo apt install php-xdebug

在Fedora/RHEL發行版中

sudo dnf install php-xdebug

在基于Arch的發行版中

sudo pacman -S xdebug

6. KDbg

KDbg是一款面向KDE桌面環境的GUI調試器。由于它像DDD一樣作為GDB前端運行,因此您可以獲得GDB的所有特性以及直觀的用戶界面。更有經驗的程序員肯定會喜歡在逐步調試代碼時一目了然地所有變量,還會喜歡一個完全專用的面板,顯示每個CPU寄存器保存的內容。這類信息在本文介紹的任何其他調試器中都不容易看到。

正因為如此,對于傳統的本地應用程序程序員來說,KDbg是一個出色的選擇,適用于從剛開始學習的菜鳥和經驗豐富的老手。

安裝KDbg

在基于Ubuntu/ Debian的發行版中

sudo apt install kdbg

在Fedora/RHEL發行版中

sudo dnf install kdbg

在基于Arch的發行版中

sudo pacman -S kdbg

注意如果使用的是基于Ubuntu或Debian的發行版,并且在官方代碼庫中沒有找到kdbg軟件包,必須輸入以下內容來自構建

sudo apt install build-essential cmake extra-cmake-modules qtbase5-dev libkf5i18n-dev libkf5iconthemes-dev libkf5xmlgui-dev
git clone -b maint https://github.com/j6t/kdbg.git
cd kdbg
cmake .
make
sudo make install

7. Valgrind

Valgrind是一個非常可靠的內存調試器,它為軟件分析提供了許多額外的工具。它在Linux和Mac上都可以運行。此外,您可以將它用作框架并創建像剖析器(Profiler這樣的動態分析工具。總的來說,Valgrind是專業人士的佳選擇,因為它擁有豐富的功能特性眾多工具,可以在程序運行時監視內存。

Valgrind安裝方法:

在基于Ubuntu/ Debian的發行版上:

sudo apt install valgrind

在Fedora/RHEL發行版上

sudo dnf install valgrind

在基于Arch的發行版上

sudo pacman -S valgrind

8. strace

strace是一個面向Unix的用戶空間實用程序,它允許用戶直接從終端跟蹤系統調用和信號。

程序員可以使用它來處理轉儲堆棧跟蹤、過濾系統調用、修改返回代碼、提取文件描述符等操作

更重要的是,strace允許您附加到運行的程序。這使您可以深入了解在機器上運行的任何軟件,以進一步了解可能導致崩潰的原因。

strace安裝方法:

基于Ubuntu/ debian的發行版中

sudo apt install strace

在Fedora/RHEL發行版中

sudo dnf install strace

在基于Arch的發行版中

sudo pacman -S strace

借助這些工具,您可以用以前感覺無法企及的方式來調試、檢查和分析代碼。可能面臨學習過程,但非常值得花時間鉆研。如果您重視Linux編程,從長遠來看,學習如何使用調試器將為您大大節省時間

您已經擁有了最好的Linux調試器,現在是時候為開發人員和程序員尋找最好的Linux發行版了。

原文標題:8 of the Best Linux Debuggers for Software Engineers,作者:Miguel Leiva-Gomez

責任編輯:華軒 來源: 51CTO
相關推薦

2024-09-18 14:26:33

2022-04-18 10:13:32

軟件開發寫作

2017-10-09 10:26:01

Linux調試器堆棧展開

2022-07-22 09:55:29

軟件工程師

2023-10-10 10:27:37

DevOps

2022-07-29 09:12:44

軟件硬件開發

2022-06-13 09:00:33

React 項目前端

2011-07-08 16:37:20

2009-11-04 10:57:35

2022-01-16 07:12:30

軟件工程師吵架開發

2022-05-16 14:25:31

數據分析預測分析工具

2013-09-03 09:30:44

軟件工程師軟件工程師頭銜

2022-09-16 08:00:00

軟件工程師求職薪酬

2009-07-16 13:28:14

2014-09-22 09:47:14

2009-02-11 13:15:54

軟件工程師女工程師google

2017-11-09 14:12:44

大數據軟件工程師算法工程師

2010-08-10 13:22:41

2015-06-02 11:29:55

軟件工程師程序員

2009-02-12 11:52:23

軟件工程師職業規劃價值
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产91久久久久久 | 国产不卡一区 | 高清不卡毛片 | 精品伊人 | 自拍 亚洲 欧美 老师 丝袜 | 欧美一区| 久久精品男人的天堂 | 最近中文字幕第一页 | 一区二区av| 韩日在线观看视频 | 国产二区三区 | 成人做爰www免费看视频网站 | 日韩精品在线免费观看 | 亚洲精品一区在线 | www.国产精| 黄色片av | 国产精品99视频 | 成人亚洲网站 | 91精品久久久久久久久久小网站 | 永久av | 欧州一区二区三区 | 欧美日韩精品免费 | 亚洲一区二区不卡在线观看 | 午夜资源| 午夜三区| 真人女人一级毛片免费播放 | 欧美2区| 五月天国产在线 | 久久国产综合 | 亚洲国产精品激情在线观看 | 天天操伊人 | 小川阿佐美pgd-606在线 | 国产成人一区二区三区久久久 | 黄色精品 | 日韩精品在线观看一区二区三区 | 欧美精品在线免费 | 成人乱人乱一区二区三区软件 | 欧美日韩综合 | 亚洲入口 | 一区二区三区国产在线观看 | 久久亚洲一区 |