Các bạn dùng gì để gỡ lỗi trong ruby 1.9? rdebug dường như không tương thích .. có gì ngoài đó không?
Câu trả lời:
Lưu ý: câu trả lời này đúng nhưng hiện đã lỗi thời. Xem câu trả lời chính xác dưới đây. TL; DR: sử dụng 'trình gỡ lỗi' ngay bây giờ.
ruby-debug hiện có sẵn với Ruby 1.9.x. Xem http://www.github.com/mark-moseley
Để cài đặt (sử dụng gem trên bản cài đặt Ruby 1.9):
gem install ruby-debug19
(có lẽ với 'sudo' cần thiết ở phía trước nó).
ruby-debug19
không được duy trì nữa. Tất cả các câu trả lời khác đã lỗi thời.
Nhưng có một giải pháp thay thế:
debugger
để giải cứu!
Đặt cái này vào Gemfile
:
gem 'debugger', group: [:development, :test]
Nó chỉ hoạt động. - Và nó được bao gồm trong Gemfile rails kể từ 3.2. Một cái gì đó để thay thế ruby-debug19
. Nó có cùng chức năng và được bảo trì tích cực.
group :development do ... end
hoặc tương tự), bởi vì nó đã chứa một nhóm.
CẬP NHẬT CHO RUBY 2.0+ và SAU ĐÂY
byebug là trình gỡ lỗi hiện được khuyến nghị cho Ruby 2.0+
Vấn đề này đã được ghi lại ở đây và cldwalker, tác giả của trình gỡ lỗi, lưu ý rằng trình gỡ lỗi sẽ được áp dụng cho Ruby 1.9.2 và 1.9.3.
CẬP NHẬT 2
Đúng là ruby-debug không được duy trì tích cực ngay cả khi tôi không thể tìm thấy bất kỳ nơi nào không được duy trì nữa.
Bạn có thể sử dụng viên ngọc trình gỡ lỗi mới nếu bạn cần trợ giúp để bắt đầu với viên ngọc mới mà bạn có thể thấy Ryan Bates rails .
Trong Gemfile của bạn đặt:
gem 'debugger', group: [:development, :test]
Sau đó, bạn có thể thêm một điểm ngắt vào bất kỳ đâu trong mã của mình bằng cách sử dụng debugger
từ khóa.
BẠN VẪN CÓ THỂ SỬ DỤNG
linecache19 và ruby-debug-base19 với:
bash <<(curl -L https://raw.github.com/gist/1333785 )
CÂU TRẢ LỜI CŨ
Chỉ là một bổ sung về điều này với rvm, ruby 1.9.1-p378. Câu chuyện có thật là ngay cả khi ruby-debug đã sẵn sàng 1.9.x, linecache-0.43 thì không. Giải pháp là cài đặt:
gem install ruby-debug19
Điều này giải quyết vấn đề cho tôi.
CẬP NHẬT CŨ
Nếu bạn đang gặp sự cố với việc đặt gỡ lỗi ruby 1.9.2 và Rails 3:
gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"
Trong Gemfile của bạn và thực hiện một
bundle install
Sẽ làm cho bạn một người gỡ lỗi vui vẻ một lần nữa.
Một số điều bạn có thể thử
1) chạy nó với trình gỡ lỗi bình thường của ruby -rdebug [1] loại chậm
2) chạy nó với đá quý unroller [hơi hôi, chậm]
3) sử dụng nhiều câu lệnh in nhanh, loại ít nội tâm hơn có thể
4) thả xuống lời nhắc irb và chạy một số mã từ đó.
bạn có thể liệt kê mã bằng cách tạo “lời nhắc thả tới irb” của riêng bạn, trong đó liệt kê mã xung quanh chính nó [sử dụng người gọi để khám phá nơi bạn ở] sau đó thả xuống lời nhắc irb bình thường.
5) có thể jruby ở chế độ 1.9 compat có một trình gỡ lỗi?
Xem câu trả lời của tôi tại đây: Ruby-debug không hoạt động - Stack Overflow
Đó là về việc gỡ lỗi Ruby hoạt động với thiết lập sau
Sử dụng rvm, trong thư mục làm việc dự án của tôi, tôi có .rvmrc nêu rõ:
rvm use ruby-1.9.3-p0@mygemset
Tôi hi vọng cái này giúp được!
- Freddy
Tôi đã sử dụng theo dõi và nó hoạt động rất tốt cho tôi:
gem 'debugger', group: [: development,: test]
ruby 1.9.3p194 (2012-04-20 bản sửa đổi 35410) [x86_64-linux] rails 3.2.8
Netbeans là một IDE tốt cho RoR. Trình gỡ lỗi tốt quá.
Phiên bản ruby 1.9.1-p243 đã ra mắt và ruby-debug-ide phù hợp cũng đang hoạt động bình thường. Cài đặt ruby-debug-ide bằng lệnh sau:
cài đặt đá quý ruby-debug-ide
Thao tác này sẽ cài đặt các viên ngọc ruby-debug-base19 và ruby-debug-ide. Nhưng trước khi thực hiện điều này, hãy đảm bảo rằng bạn cài đặt mingw thành công bằng cách làm theo các tài liệu Bộ phát triển có sẵn từ RubyForge .
Các tính năng mới nhất có trong đá quý ruby-debug-ide19.
Có rất nhiều sự lựa chọn, tùy thuộc vào nhu cầu của bạn.
Tôi sử dụng pry-move vì tôi có thể "nhìn lại" những gì đã xảy ra bên trong lệnh trước đó bằng cách thực hiện lại chúng ở chế độ gỡ lỗi ngay tại chỗ.
ruby-debug19
bây giờ đã lỗi thời.