web-dev-qa-db-ja.com

GoLandでデバッグをセットアップする方法は?

GoLand を試してみましたが、デバッガーは恐らくすばらしいと聞いていますが、設定方法を説明したドキュメントが見つかりません(GoLandはプレビュー段階にあるため、それほど驚くことではありません)。私の使用例:REST APIを使用してcurlを使用してリクエストを送信します。デバッガーの使用を開始する方法をステップごとに教えてください。

[編集1](コメントから移動)[実行/デバッグ](または[実行/実行])をクリックすると、ウィンドウが表示され、構成の編集を求められます。いくつかの種類の構成を選択できます。「Go application」を選択しようとしましたが、「デバッグ」ボタンがグレー表示されず、クリック可能になりません。私はGoLandを初めて使用します。明らかな何かを見逃しているかもしれませんが、欠落している設定は見つかりません。

[編集2]私のワークスペースはGo仕様に準拠していないことがわかりました。私のコードはsrcという名前のディレクトリにありませんでした。これで、[実行/デバッグ]をクリックすると、GoLandが正しいことをしているように見えますが、ブレークポイントで停止したり、デバッガーのように動作したりすることはありません。

[編集3]もう一度試してみたところ、うまくいきました。並べ替え。以前は機能していなかったし、何も変更しなかったにもかかわらず、今はなぜ機能するのかわかりません。現在、ブレークポイントはいくつかの行で機能し、他の行では機能しません。または、デバッガーがブレークポイントで停止しますが、変数のリストがロードされるまで永遠に待機します。まあ、それはisプレビューです、結局のところ...

[編集4]本日、GoLandの新しいバージョンが利用可能であることが通知されました。アップグレードしましたが、デバッグはうまく機能しています。

18
Zoyd

コードがsrc内にない場合、Goglandはデバッグアクションを有効にしません(実行は可能ですが)。これについての警告はないので、これを解決するのは本当に苦痛かもしれません。

さらに、プロジェクトの構造によっては、デバッグがまだ機能していない可能性があります。その場合、すべての実行構成を削除して新しい構成を作成すると役立つ場合があります。この動作について バグレポート があります。

PS:OPは質問の編集の最初の部分について言及していますが、回答の中で言及する価値があると考えています。

10
Koraktor

私はこの同じ問題に直面しており、「Go Single File」構成ではなく、「Run/Debug Configurations」ウィンドウで「Go Application」構成を使用して解決しました。

そのため、Goglandの右上隅に移動し、「構成を編集」します。

Opening the Run/Debug Configurations

次に、「Go Application」プロファイルを使用して新しい構成を追加します。

Run/Debug Configurations window

保存すると、コードをデバッグできるようになります。 o /

この構成を有効にする簡単な方法は、@ user1793301メソッドを使用して、実行するファイルを右クリックし、「Debug 'go run .go'」を選択することです。


考えられる説明

注意:私はそれについてこれ以上詳細を調べませんでした。

Fact:「Go Application」構成は、実行前にバイナリ実行可能ファイルをビルドします。

Fact:コンソール出力(Goglang内)を見ると、IDEは- [〜#〜] dlv [〜#〜] デバッグツールとして。

Factdlv debugの-​​ DLVドキュメント で、コードをコンパイルおよびデバッグしているようです。

仮説:Jetbrainsのメンバーはそれを実装しませんでした。または、少なくとも[〜#〜] yet [〜#〜]

5
Jamillo Santos

私はこの正確な問題を抱えていました。

デバッグ実行構成を削除して再作成しました。デバッグは完全に機能しました。

1
Larsern

@Jamillo Santosが返信を追加してから、golandの状況は変わりました。

そもそも「Goアプリケーション」はありません。

最も簡単な方法は、main()関数を含むファイルを見つけることです。添付のスクリーンショットのように、それを指す小さな三角形があるはずです: main function declaration

小さな緑色の三角形をクリックすると、実行/デバッグオプションのメニューが表示されます。それぞれがgo build構成を作成します。

そのgo build構成を編集し、アプリケーションのプログラム引数を追加できます。たとえば、プログラムに--arg=valueというコマンドライン引数がある場合、次のように追加できます。 enter image description here

1
Elad Tabak

バージョン2019.1.1にはGo Applicationはありません。代わりにGo Buildを使用してください。ここでは、単一のスクリプトファイルをデバッグしていますが、サーバーアプリまたはsmthがある場合は、メインアプリファイルをポイントするだけです。

enter image description here

Filesフィールドでは、実際のファイルパスを指定する必要があります。パイプ|で区切ることにより、より多くのファイルを配置できます(開始点を増やしたい場合)。デバッグできるようにするファイルごとに、フルパスを指定する必要があります。

繰り返しますが、単一の開始点を持つサーバーアプリまたは他の何かをデバッグする場合は、構成で指定されたスタートアップファイルのみが必要です。 :)

1
Milkncookiez