golang ソフトウェア開発者として、私たちは皆、この問題に直面しています。golang コードの実行に問題が発生した場合、根本原因をどうやって見つけ出すか?この記事では、golang のデバッグ ツールと、問題を迅速に特定するためにそれらを使用する方法について説明します。
- GDB デバッガー
GDB は、C/C、Golang などの多くのプログラミング言語で使用できる強力なデバッガーです。 Golang では、GDB を使用してコードをトレースし、デバッグできます。基本的な GDB コマンドをいくつか示します。
- ブレークポイントを設定する: Break main.main
- 実行を継続する: continue
- 実行を再開する:resume
##シングルステップ実行:step- シングルステップ実行(関数に入らない):next
- 表示変数値:p 変数名
-
以下は簡単な例では、GDB を使用して Golang プログラムをデバッグする方法を説明します。
まず、プログラムにブレークポイントを挿入する必要があります。それを main 関数に挿入するだけです。次に、デバッグが必要なプログラム ディレクトリで、次のコマンドを使用してプログラムを起動します:
$ gdb ./main
GNU gdb (GDB) 7.6.2
...
/home/user/Documents/go/src/debugging/main...done からシンボルを読み取ります。
(gdb) Break main.main
0x4012b4 のブレークポイント 1: ファイル /home/user/Documents/ go/src /debugging/main.go、5 行目.
(gdb) run
プログラムが設定したブレークポイントまで実行されると、プログラムはデバッグのために一時停止します。変数やその他のデバッグ情報を表示するための他の GDB コマンド。
Delve-
go-delve は、golang プログラムのデバッグに使用できる強力なデバッガーです。 GDB と比較して、Delve はより使いやすいデバッグ エクスペリエンスを提供し、ブレークポイントの設定とプログラム変数の動的変更をサポートします。同時に、Delve は次の機能も提供します:
はマルチスレッド プログラムのデバッグをサポートします; - はリモート プログラムのデバッグをサポートします;
- は API を使用してデバッグできますプロセス;
-
Delve の使用例をいくつか示します:
まず、Delve をインストールする必要があります。 Linux システムでは、次のコマンドを使用してインストールできます:
$ go get github.com/go-delve/delve/cmd/dlv
デバッグが必要なプログラム ディレクトリ内次のコマンドを使用してプログラムを開始します:
$ dlv debug ./main.go
これにより、デバッガーはターミナルにシーン情報を出力し、コマンド ライン モードに入ります。コマンドラインモードでコマンドを使用してプログラムをデバッグできます。
ブレークポイントの設定: Break main.main- 実行の継続: continue
- 実行の再開: restart
- シングルステップ実行: step
- シングルステップ実行 (関数を入力しない): next
- 表示変数値: p 変数名
-
Delve はデバッグ モードでの変数値の変更もサポートしています。例:
(gdb) p x
$1 = 1
(gdb) set x = 2
(gdb) p x
$2 = 2
VSCODE デバッガー-
Visual Studio Code は、Golang を含む多くのプログラミング言語をサポートする非常に人気のある開発環境です。 VSCODE では、組み込みの Golang 拡張機能を使用して Golang プログラムをデバッグできます。
まず、vscode-go 拡張機能をインストールします。次に、ショートカット キー F5 または左側の [実行とデバッグ] ボタンを使用してデバッグ インターフェイスを開きます。インターフェイスの左上隅で、デバッグするプロジェクトを選択できます。たとえば、デバッグしたいプロジェクトは main.go です。 「実行」ボタンをクリックすると、プログラムがデバッグモードで起動します。
VSCODE のデバッグ パネルでは、ブレークポイントの設定、プログラム変数の表示、プログラム変数の動的変更などができます。以下に、基本的なデバッグ コマンドをいくつか示します。
ブレークポイントを設定します。コード行の左側の空白をクリックします。- 実行を継続します。F5
- シングルステップ実行:F10
- シングルステップ実行(関数に入る):F11
- シングルステップ実行(関数スキップ):F11
- 表示変数値:マウスを変数のプロンプト ウィンドウに移動します
-
VSCODE のデバッガ対話は非常に便利で、プログラムの問題を迅速に特定し、デバッグ効率を向上させるのに役立ちます。
要約:
上記は golang でデバッグする 3 つの方法ですが、それぞれの方法には長所と短所があります。 GDB は、ほとんどのプログラミング言語で使用できる非常に強力なデバッガですが、使用するのがより複雑です。Delve は、Golang の多くの独自のデバッグ機能を提供する Golang 用のデバッグ ツールキットです。VSCODE は、オールラウンドな統合開発環境です。 golang プラグイン、優れたデバッグ対話型インターフェイス、シンプルで使いやすいサポート。この記事が、Go のデバッグについて質問があるプログラマに何らかの助けになれば幸いです。
以上がgolang のデバッグ ツールについて話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。