該go test
命令具有用於-c
標誌支撐,描述如下:如何使用GDB正確調試`go test -c`生成的二進制文件?
-c Compile the test binary to pkg.test but do not run it.
(Where pkg is the last element of the package's import path.)
據我明白了,產生這樣一個二進制是交互方式使用GDB來運行它的方式。然而,由於測試的二進制是由一些的/ tmp /目錄暫時結合源和測試文件創建,這是發生了什麼,當我在gdb運行list
:
Loading Go Runtime support.
(gdb) list
42 github.com/<username>/<project>/_test/_testmain.go: No such file or directory.
這意味着我不能快樂地檢查圍棋源GDB中的代碼就像我習慣的那樣。我知道可以通過將-work
標誌傳遞給go test
命令來強制臨時目錄停留,但這仍然是一個巨大的麻煩,因爲二進制文件不是在該目錄等中創建的。我想知道是否有人發現這個問題的乾淨解決方案。