デバッグ
デバッグセッション中に、デバッガーをアタッチしてプログラムを起動します。デバッガーの目的は、プログラムの実行を妨害し、内部で何が起こっているかに関する情報を提供することです。これにより、プログラムのバグを検出して修正するプロセスが容易になります。
デバッグする前に
デバッグプロパティと動作を構成します。
で一般的なデバッグが初めての場合は、すぐに使用できる構成が機能します。各デバッガー機能に関するトピックは、参照を提供し、該当する場合は関連する設定を説明します。上級ユーザーで、特定のプロパティを探している場合は、デバッガーリファレンスセクションを参照してください。
カスタム実行 / デバッグ構成を使用する場合は、実行 / デバッグ構成を定義します。これは、プログラムに引数を渡す必要がある場合、または起動前に特別なアクティビティを実行する必要がある場合に必要です。実行 / デバッグ構成のセットアップの詳細については、「実行 / デバッグ構成」セクションを参照してください。ほとんどの場合、引数を期待しない、特別な要件がない単純なプログラムをデバッグする場合、これは必要ありません。
一般的なデバッグ手順
アプリケーションをデバッグするための万能の手順はありません。実際の要件に応じて、異なるアクションを異なる順序で使用する必要がある場合があります。このトピックでは、一般的なデバッグ手順を表す一般的なガイドラインを提供します。特定の機能をいつどのように使用するかについての詳細は、それぞれのトピックで説明されています。
プログラムを停止する必要がある場所を定義します。これはブレークポイントを使用して行われます。ブレークポイントは特別なマーカーであり、デバッガーがプログラム状態に介入してフリーズする必要があるときの場所と条件を表します。デバッガーによってフリーズされたプログラムは、「一時停止」と呼ばれます。
プログラムを定期的に実行する場合と同様に、同時に実行できます。
プログラムが中断された後、デバッガーを使用して、プログラムの状態および実行中のプログラムの状態に関する情報を取得します。
デバッガーは、変数値、プロファイラーラベル、ゴルーチンの現在の状態などに関する情報を提供します。
これらのツールを使用すると、特定の時点でのプログラムの状態を調べることができますが、ステップ機能を使用すると、プログラムの段階的な実行を制御できます。ツールを組み合わせることで、バグの原因を推測し、プログラムの堅牢性をテストできます。
関連ページ:
![](https://resources.jetbrains.com/help/img/idea/2024.1/go_invoke_go_get_gops.png)
デバッガーで実行中の Go プロセスにアタッチする
GoLand では、ローカルマシン、リモートマシン、Docker コンテナーで実行中の Go プロセスにデバッガーを接続できます。ローカルマシンのプロセスにアタッチする:コマンドラインから起動したアプリケーションをデバッグできます。この場合、アプリケーションは IDE の外部で実行されますが、同じローカルマシン上で実行されます。アプリケーションをデバッグするには、IDE でプロジェクトを開き、実行中のプロセスにデバッガーをアタッチする必要があります。例として、github.com にある次の...
![](https://pleiades.io/icons/goland.png)
デバッガー
このページを使用して、デバッガーの動作を設定し、そのビューをカスタマイズします。共通オプション:ブレークポイントでデバッグウィンドウを表示するこのチェックボックスが選択されている場合、GoLand はブレークポイントに到達するとデバッグツールウィンドウをアクティブにします。ブレークポイントでアプリケーションにフォーカスするこのチェックボックスが選択されている場合、ブレークポイントを押すと、GoLand はエディターにこのブレークポイントの位置を表示し、そのフレームを前面に表示しようとします。プ...
![](https://resources.jetbrains.com/help/img/idea/2024.1/go_rdconfigslist_temporary.png)
実行 / デバッグ構成
GoLand は、実行 / デバッグ構成を使用して、コードを実行、デバッグ、テストします。各構成は、何を実行し、どのパラメーターと環境を使用するかを定義する、名前付きのスタートアッププロパティのセットです。実行 / デバッグ構成には 2 つのタイプがあります。一時的 — 関数またはテストを実行またはデバッグするたびに作成されます。永続的 — テンプレートから明示的に作成されるか、一時的な構成を保存することによって作成されます。永続的な構成は、削除するまでプロジェクトの一部として残ります。コードを実行...
![](https://resources.jetbrains.com/help/img/idea/2024.1/go_debug_line_breakpoint.png)
ブレークポイント
ブレークポイントは、特定のポイントでプログラムの実行を一時停止する特別なマーカーです。これにより、プログラムの状態と動作を調べることができます。ブレークポイントは、たとえば、特定のコード行に到達したときにプログラムを一時停止するなどの単純なものから、追加の条件をチェックしたり、ログに書き込んだりするなどのより複雑なロジックを含むものまであります。ブレークポイントは、一度設定すると、一時的なブレークポイントを除き、明示的に削除するまでプロジェクト内に残ります。ブレークポイントの種類:GoLand
![](https://resources.jetbrains.com/help/img/idea/2024.1/go_debug_run_menu.png)
デバッガーセッションを開始する
デバッガーセッションの開始は、プログラムを通常モードで実行するのと非常によく似ています。デバッガーはバックグラウンドで接続されているため、デバッガーセッションを開始するために特別な設定を行う必要はありません。GoLand からプログラムを実行できる場合は、同じ構成を使用してプログラムをデバッグすることもできます。プログラムをデバッグするたびに、デバッガーセッションは実行 / デバッグ構成に基づいています。GoLand を構成して、プログラムを起動する前に任意のパラメーターを使用し、任意のアクショ...
![](https://resources.jetbrains.com/help/img/idea/2024.1/go_debug_examining_frames_tab.png)
中断されたプログラムを調べる
デバッガーセッションが開始されると、デバッグツールウィンドウが表示され、次のいずれかが発生するまでプログラムが正常に実行されます。ブレークポイントがヒットしました、プログラムを手動で一時停止します、その後、プログラムは中断され、現在の状態を調べたり、実行を制御したり、実行時にさまざまなシナリオをテストしたりできます。フレームを調べる:プログラムの状態はフレームで表されます。プログラムが一時停止すると、現在のフレームスタックがデバッグツールウィンドウのフレームタブに表示されます。フレームはアクテ