CẬP NHẬT:
Tôi đã kiểm tra và vui mừng thông báo rằng Phiên bản: 2016.1.3, Bản dựng: 145.1617.8, Phát hành: 5 tháng 6 năm 2016 hoạt động với Delve! Bạn có thể tải về tại đây: https://www.jetbrains.com/idea/download/ . Cũng làm theo hướng dẫn cài đặt Delve tại đây: https://github.com/derekparker/delve/tree/master/Documentation/installation
Nó hơi bong tróc. Ngay sau khi tôi nhận được lời nhắc đăng nhập OSX, gỡ lỗi tương tác bắt đầu hoạt động. Đôi khi, tôi phải gỡ lỗi một chương trình .go đơn giản để bắt đầu nó. Nhưng nó hoạt động và là trải nghiệm gỡ lỗi tương tác tốt nhất cho Go mà tôi đã thấy.
BÀI ĐĂNG GỐC:
Có bất kỳ trình gỡ lỗi tương tác golang nào tồn tại không? Đúng.
Có bất kỳ trình gỡ rối tương tác golang nào, đáng sử dụng, tồn tại không? Không.
Việc định cấu hình GDB trên mac khá tẻ nhạt, nhưng có thể làm được.
Tuy nhiên, khi bắt đầu sử dụng, bạn sẽ sớm nhận ra rằng mình vừa lãng phí thời gian cài đặt nó.
Bạn thậm chí có thể cấu hình IntelliJ để sử dụng nó.
Giá trị duy nhất mà IntelliJ, LiteIDE, CGDB, v.v. dường như cung cấp là bạn có thể nhanh chóng xác định rằng hỗ trợ gỡ lỗi GDB cho Go là cực kỳ kém.
Bạn có thể sử dụng nó để thực hiện một số mã Go, nhưng hãy cố gắng in giá trị của bất kỳ thứ gì khác ngoài các giá trị biến rất đơn giản và bạn sẽ lãng phí thời gian của mình khi muốn có một trình gỡ lỗi tốt.
Dưới đây là một ví dụ về những gì sẽ xảy ra khi bạn cố gắng in giá trị của cấu trúc dữ liệu chuỗi [string] bản đồ bằng CGDB:
(gdb) print params
$1 = (github.com/go-martini/martini.Params) 0x15582 <runtime.reentersyscall+450>
... mà hoàn toàn vô dụng.
Tiếp theo, hãy thử điều này:
(gdb) print params["UserID"]
... và bạn sẽ nhận được "Lỗi xe buýt".
Delve ( https://github.com/derekparker/delve ) có vẻ đầy hứa hẹn, vì nó được viết bằng Go, nhưng bạn lái nó bằng bảng điều khiển chứ không phải qua IDE.
Tôi sẵn lòng trả tiền cho phiên bản doanh nghiệp của IntelliJ (hoặc bất kỳ IDE nào khác) đã hoạt động tốt khi hỗ trợ gỡ lỗi tương tác trong Go.
Cho đến bây giờ, fmt.Printf("%v", variable)
là tốt như nó nhận được.