LLDBとGDBの主な違いは、LLDBではプログラマーがC、Objective C、C++で書かれたプログラムをデバッグできるのに対し、GDBではAda、C、C++、Objective C、Pascal、FORTRAN、Goで書かれたプログラムをデバッグできる点です。
一般に、デバッガとは、他のプログラムのテストやデバッグを支援するコンピュータ・プログラムのことを指します。
LLDBとGDBは2つのデバッガです。
LLDBとは
LLDBは、LLVMプロジェクトのデバッガです。
イリノイ大学/NCSAオープンソースライセンスに基づき、フリーでオープンソースのソフトウェアです。
また、再利用可能なコンポーネントのセットとして構築されています。
LLDBは、様々なプログラムのデバッグを支援します。
C、Objective C、C++で書かれたプログラムをデバッグすることができます。
さらに、LLDB は Xcode 5 以降のバージョンでデフォルトのデバッガとして使用されます。
さらに、Visual Studio Code や Eclipse などの IDE も LLDB をサポートしています。
GDBとは
GDB は GNU Debugger とも呼ばれます。
ポータブルなデバッガであり、様々な UNIX 系 OS 上で実行できます。
C、C++ Objective C、Pascal、Go、FORTRAN など、さまざまなプログラミング言語をサポートしています。
GDBデバッガは、コンピュータプログラムの実行をトレースし、変更することができます。
プログラマーは、プログラムの内部変数の値を変更することができます。
さらに、必要な関数を呼び出すこともできます。
さらに、バージョン7.0では、可逆的なデバッグをサポートしています。
つまり、デバッグセッションで、クラッシュしたプログラムをステップバックさせたり、巻き戻したりして、何が問題なのかを突き止めることができる。
全体として、GDBはプログラムの開始と実行の停止を支援します。
また、プログラムに何が起こったかを調べることができ、プログラマはプログラムを変更することができます。
プログラマは、あるバグを修正した後、他のバグに移行することができます。
LLDB と GDB の相違点
定義
LLDBは、LLVMプロジェクトのデバッガーコンポーネントです。
しかし、GDB は多くの UNIX 系システムで動作し、多くのプログラミング言語で動作するポータブルなデバッガです。
この点が LLDB と GDB の主な違いです。
開発者
LLVM Developer GroupがLLDBを開発し、GNU ProjectがGDBを開発しています。
書込み
LLDBとGDBのもう一つの違いは、LLDBがC++で書かれているのに対して、GDBはCで書かれていることです。
対応言語
LLDBでは、C、Objective C、C++で書かれたプログラムをデバッグすることができ、GDBでは、Ada、C、C++、Objective C、Pascal、FORTRAN、Goで書かれたプログラムをデバッグすることができます。
オペレーティングシステム
また,LLDB は macOS i386/x86-64,Linux,FreeBSD,Windows などの OS で動作します.一方、GDB は UNIX や Windows などのオペレーティングシステムで動作します。
結論
簡単に説明すると、LLDB と GDB は 2 つのデバッガです。
LLDB と GDB の主な違いは、LLDB では C, Objective C, C++ で書かれたプログラムをデバッグでき、GDB では Ada, C, C++, Objective C, Pascal, FORTRAN, Go で書かれたプログラムをデ バッグできることです。