[英]How to inspect global variables in GoLand when debugging a golang program?
[英]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 。
我有這個確切的問題。
刪除並重新創建調試運行配置。 調試然后完美地工作。
我按照以下過程以調試模式啟動我的 golang 服務器。 (您可能想使用其他方法而不是創建 makefile 來啟動您的服務器)
Makefile
創建新配置來運行它Run -> Attach to process -> choose your running server
這會將調試器附加到您的進程。 筆記:
gops
,安裝它。 如果不安裝gops
,您將看不到任何正在運行的進程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.