簡體   English   中英

如何在 GoLand 中設置調試?

[英]How to set up debugging in GoLand?

我正在試用GoLand ,聽說調試器據說很棒,但我找不到任何說明如何設置它的文檔(GoLand 處於預覽階段,所以這並不奇怪)。 我的用例:我正在編寫一個 REST API,我使用 curl 向其發送請求。有人可以逐步告訴我如何開始使用調試器嗎?

[編輯 1](從評論中移出)當我單擊運行/調試(或運行/運行)時,會顯示 window,要求我編輯配置。 我可以選擇幾種配置,我嘗試選擇“Go application”,但“調試”按鈕永遠不會變灰,我無法讓它變得可點擊。 我是 GoLand 的新手,我可能遺漏了一些明顯的東西,但我找不到任何遺漏的設置。

[編輯 2] 原來我的工作區不符合 Go 規范:我的代碼不在名為 src 的目錄中。 既然是這樣,我可以單擊“運行/調試”,GoLand 似乎在做正確的事情,除了它不會在斷點處停止或以其他方式表現得像調試器,我的代碼只是運行。

[編輯 3] 再次嘗試,它有效。 有點。 我不知道為什么它現在可以工作,即使它以前沒有,我也沒有改變任何東西。 現在斷點在某些行有效,而在其他行無效。 或者調試器在斷點處停止,但我永遠等待加載變量列表。 好吧,畢竟預告片……

[edit 4] 我今天才收到通知,有新版本的 GoLand 可用。 我升級了,調試現在對我來說運行良好。

如果您的代碼不在src GoLand 將不會啟用調試操作(盡管運行可用)。 沒有關於這個的警告,所以解決這個問題可能真的很痛苦。

此外,根據您的項目結構,調試可能仍然無效。 在這種情況下,刪除所有運行配置並創建一個新配置可能會有所幫助。 有一個關於此行為的錯誤報告

PS:雖然OP在問題的編輯中提到了第一部分,但它認為在答案中值得一提。

我遇到了同樣的問題,我通過使用“Go Application”配置(在 Run/Debug Configurations 窗口中)而不是“Go Single File”配置來解決。

因此,轉到 Gogland 的右上角並“編輯配置”。

打開運行/調試配置

然后,使用“Go Application”配置文件添加新配置。

運行/調試配置窗口

保存后,您應該能夠調試您的代碼。 o/

啟用此配置的一種簡單方法是使用@user1793301方法並右鍵單擊要運行的文件並選擇“Debug 'go run .go'”。


可能的解釋

注意:我沒有查看有關它的任何進一步細節。

事實:“Go Application”配置確實會在運行之前構建二進制可執行文件。

事實:我可以看到控制台輸出(在 Goglang 內部)是 IDE 使用DLV作為調試工具。

事實:我在DLV 文檔中找到了一個dlv debug ,它似乎可以編譯和調試代碼。

假設:來自 Jetbrains 的人沒有實現它。 或者至少不是YET

自從@Jamillo Santos 添加他的回復以來,goland 的情況發生了變化。

首先,沒有更多的“Go Application”。

最簡單的方法是定位包含 main() 函數的文件。 應該有一個小三角形指向它,如所附屏幕截圖所示: 主函數聲明

當您單擊綠色小三角時,您會看到一個帶有運行/調試選項的菜單。 每個都將創建一個go build配置。

您可以編輯go build配置並為您的應用程序添加程序參數。 例如,如果您的程序有一個--arg=value的命令行參數,您可以像這樣添加它: 在此處輸入圖片說明

2019.1.1版本上2019.1.1Go Application 請改用Go Build 在這里,我正在調試單個腳本文件,但如果您有服務器應用程序或 smth,只需指向主應用程序文件:

在此處輸入圖片說明

請注意,您必須在Files字段中指定實際文件路徑。 你可以放置更多的文件(如果你想有更多的起點),用管道分隔它們| . 對於您希望能夠調試的每個文件,您需要指定完整路徑。

同樣,如果您正在調試服務器應用程序或其他具有單一起點的應用程序,您只需要在 config.xml 文件中指定的啟動文件。 :)

我有這個確切的問題。

刪除並重新創建調試運行配置。 調試然后完美地工作。

我按照以下過程以調試模式啟動我的 golang 服務器。 (您可能想使用其他方法而不是創建 makefile 來啟動您的服務器)

  1. 創建一個 makefile
  2. 在文件中定義您的服務器/工作程序啟動命令
  3. 通過為Makefile創建新配置來運行它
  4. Go Run -> Attach to process -> choose your running server

這會將調試器附加到您的進程。 筆記:

  • 您可能需要重新啟動服務器才能正常工作。
  • IDE 會要求你安裝gops ,安裝它。 如果不安裝gops ,您將看不到任何正在運行的進程。

我右鍵單擊項目(里面的 main.go)並選擇“調試...”並且它工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM