LLDBとGDBの違いとは?分かりやすく解説!

この記事には、アフィリエイト広告を利用しています。

スポンサーリンク


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 で書かれたプログラムをデ バッグできることです。

タイトルとURLをコピーしました