GoLand 2020.3 ヘルプ

プログラムのステップスルー

ステップは、プログラムの段階的な実行を制御するプロセスです。

GoLand は、戦略に応じて使用される一連のステップアクションを提供します(たとえば、次の行に直接移動するか、途中で呼び出されたメソッドを入力する必要があるかなど)。

ステップボタンは、デバッグツールウィンドウのツールバーにあります。

ステップオーバー

現在のコード行をステップオーバーし、ハイライトされた行にメソッド呼び出しが含まれている場合でも、次の行に移動します。メソッドの実装はスキップされ、呼び出し元メソッドの次の行に直接移動します。

  • ステップオーバーボタン Step Over button をクリックするか、F8 を押します。

次の例では、29 行目が実行されようとしています。ステップオーバーすると、デバッガーは New() 関数にジャンプすることなく、30 行目に直接移動します。

スキップされたメソッド内にブレークポイントがある場合、デバッガーはそれらで停止します。途中でブレークポイントをスキップするには、強制ステップオーバーを使用します。

Step over took us to the next line of code

ステップイン

メソッドにステップインして、その内部で何が起こるかを示します。このオプションは、メソッドが正しい結果を返していることが確実でない場合に使用します。

  • ステップインボタン Step Into button をクリックするか、F7 を押します。

次の例では、29 行目が実行されようとしています。ステップインすると、デバッガーは New 関数の実装にジャンプし、その結果がどのように生成されるかを詳細に調べることができます。

Stepping in a method

回線上に複数のメソッド呼び出しがある場合、GoLand は入力するメソッドを確認します。この機能はスマートステップインと呼ばれます。

スマートステップイン

スマートステップインは、1 行に複数のメソッド呼び出しがあり、どのメソッドに入るかについて具体的に知りたい場合に役立ちます。この機能により、目的のメソッド呼び出しを選択できます。

  1. メインメニューから実行 | デバッグアクション | スマートステップインを選択するか Shift+F7 を押します。

  2. メソッドをクリックします。矢印キーまたはタブを使用して選択し、Enter / F7 を押すこともできます。

    Smart Step into lets you decide which method to enter

ステップアウト

現在のメソッドから抜け出し、呼び出し元のメソッドに移動します。

  • ステップアウトボタン Step Out button をクリックするか、Shift+F8 を押します。

この例では、ステップアウトするとループのすべての反復がスキップされ、main メソッド(呼び出し元)に直接移動します。

Step out continues the execution until the method is complete

カーソル位置まで実行

キャレットの位置に達するまで実行を継続します。

  1. プログラムを一時停止する行にキャレットを置きます。

  2. カーソル位置まで実行ボタン Run to Cursor button をクリックするか、Alt+F9 を押します。

また、ガターの行番号をクリックしてカーソル位置まで実行を実行できます。

Run to Cursor with a single click

カーソル位置まで実行設定 / 環境設定 | ビルド、実行、デプロイ | デバッガーの行番号をクリックする際に動作するかどうかを構成できます。

この例では、Run to cursor は実行を続行し、ブレークポイントがあるかのように 7 行目で停止します。 count() メソッドにブレークポイントがある場合、プログラムはそこで中断されます。

途中でブレークポイントをスキップするには、カーソル位置まで強制実行を使用します。

カーソル位置まで強制実行

キャレットの位置に達するまで実行を継続します。途中のブレークポイントはすべて無視されます。

  1. プログラムを一時停止する行にキャレットを置きます。

  2. メインメニューから実行 | デバッグアクション | カーソル位置まで強制実行を選択するか Ctrl+Alt+F9 を押します。

この例では、カーソル位置まで強制実行は実行を継続し、ブレークポイントがあるかのように 7 行目で停止します。 count() 内のブレークポイントは効果がありません。

強制ステップオーバー

現在のコード行をステップオーバーし、ハイライトされた行にメソッド呼び出しが含まれている場合でも、次の行に移動します。呼び出されたメソッドにブレークポイントがある場合、それらは無視されます。

  • メインメニューから実行 | 強制ステップオーバーを選択するか Alt+Shift+F8 を押します。

When a breakpoint is reached, the デバッグ tool window becomes active and enables you to get control over the program's execution. For this purpose, you can use the 実行 menu commands, or the icons on the stepping toolbar of in the デバッグ tool window.

各ステップアクションは、選択したアクションに応じて、実行ポイントを次の実行位置に進めます。

関連ページ:

デバッグツールウィンドウ

このツールウィンドウは、デバッグを開始すると使用可能になります。アプリケーションのデバッグセッションによって生成された出力を表示します。複数の実行 / デバッグ構成をデバッグする場合、各構成の出力は、対応する構成にちなんで名付けられた個別のタブに表示されます。各構成には、次のネストされたタブがありま

中断されたプログラムを調べる

デバッガーセッションの開始後、デバッグツールウィンドウが表示され、次のいずれかが発生するまでプログラムが正常に実行されます。ブレークポイントがヒットしました、プログラムを手動で一時停止します、その後、プログラムは中断され、現在の状態を調べたり、実行を制御したり、実行時にさまざまなシナリオをテストしたりできます。誤ってデバッグツールウィンドウを閉じた場合は、メインメニューからを選択するか、を押して再度開きます。フレームを調べる:プログラムの状態はフレームで表されます。プログラムが一時停止すると

Go コアダンプを調べる

プログラムをデバッグするときに、コード実行フローを調べて、プログラムの現在の状態を理解する必要があります。Go コアダンプは、実行中のプロセスのメモリダンプと、プログラムの存続期間中の状態を含むファイルです。プログラムの実行が終了したとき、または実行中のときに、コアダンプをデバッグすることができます。Linux マシンでのみ Go コアダンプファイルを作成できます。しかし、GoLand をサポートしているすべてのオペレーティングシステムでダンプファイルを表示できます。Linux で Go コアダ...