GÜNCELLEME:
Kontrol ettim ve Sürüm: 2016.1.3, Yapı: 145.1617.8, Çıkış: 5 Haziran 2016'nın Delve ile çalıştığını bildirmekten memnuniyet duyuyorum! Buradan indirebilirsiniz: https://www.jetbrains.com/idea/download/ . Ayrıca buradaki Delve kurulum talimatlarını da izleyin: https://github.com/derekparker/delve/tree/master/Documentation/installation
Biraz çatlak. OSX oturum açma istemini aldıktan hemen sonra etkileşimli hata ayıklama çalışmaya başladı. Bazen, başlatmak için basit bir .go programında hata ayıklamam gerekiyor. Ancak işe yarıyor ve Go için gördüğüm en iyi etkileşimli hata ayıklama deneyimi.
ORİJİNAL YAYIN:
Herhangi bir golang etkileşimli hata ayıklayıcı var mı? Evet.
Kullanmaya değer herhangi bir golang etkileşimli hata ayıklayıcı var mı? Hayır.
Mac'te GDB'yi yapılandırmak sıkıcı ama yapılabilir.
Ancak, kullanmaya başladığınızda, yüklemek için zamanınızı boşa harcadığınızı çok geçmeden anlayacaksınız.
IntelliJ'i kullanmak için bile yapılandırabilirsiniz.
IntelliJ, LiteIDE, CGDB, vb .'nin sağladığı tek değer, Go için GDB hata ayıklama desteğinin son derece zayıf olduğunu daha hızlı anlayabilmenizdir.
Bazı Go kodlarında ilerlemek için kullanabilirsiniz, ancak çok basit değişken değerlerinden başka herhangi bir şeyin değerini yazdırmaya çalıştığınızda, iyi bir hata ayıklayıcı dilemekle zamanınızı boşa harcarsınız.
Aşağıda, CGDB kullanarak bir harita [dize] dizesi veri yapısının değerini yazdırmaya çalıştığınızda ne olacağına dair bir örnek verilmiştir:
(gdb) print params
$1 = (github.com/go-martini/martini.Params) 0x15582 <runtime.reentersyscall+450>
... ki bu tamamen işe yaramaz.
Sonra şunu deneyin:
(gdb) print params["UserID"]
... ve "Otobüs hatası" alacaksınız.
Delve ( https://github.com/derekparker/delve ), Go'da yazıldığı için umut verici görünüyor, ancak bir IDE aracılığıyla değil, konsolu kullanarak sürüyorsunuz.
Go'da etkileşimli hata ayıklamayı destekleyen iyi bir iş çıkaran IntelliJ'in (veya başka bir IDE'nin) kurumsal sürümü için memnuniyetle ödeme yapardım.
Şu an itibariyle, fmt.Printf("%v", variable)
olabildiğince iyi.