kerja bagus :) tetapi bisakah Anda membuat fatgem (berisi versi debug-debug 1,8 dan 1,9) sehingga kita tidak perlu ingat untuk melakukan rubydebbug19? :)
horseyguy
4
Tampaknya tidak adil untuk meremehkan ini hanya karena berlalunya waktu membuatnya sekarang menjadi jawaban yang salah. SO membutuhkan beberapa cara untuk menangani kasus penggunaan tersebut, untuk memungkinkan jawaban baru yang benar menjadi yang pertama terdaftar, tanpa menghukum penulis jawaban lama yang tidak berguna lagi bagi siapa pun.
iconoclast
167
ruby-debug19tidak dipertahankan lagi. Semua jawaban lainnya sudah ketinggalan zaman.
Ini berhasil. - Dan itu termasuk dalam Gemfile rel sejak 3.2 ruby-debug19. Sesuatu untuk diganti . Ini memiliki fungsi yang sama persis dan secara aktif dipertahankan.
Bekerja dengan baik. Jauh lebih baik daripada menginstal ruby-debug dengan tangan. Terima kasih.
manu_v
5
Ini benar-benar perlu dinaikkan sebagai jawaban teratas.
Matt Zukowski
2
Ya, sungguh jawaban ini pasti jawaban teratas.
Nazar Hussain
Dan bagaimana dengan kemana sebenarnya ini masuk dalam Gemfile.
Rig
Tidak apa-apa. Letakkan di mana pun Anda suka, jangan di dalam blok grup (Bukan di group :development do ... endatau sejenisnya), karena sudah berisi grup.
iblue
70
UPDATE UNTUK RUBY 2.0+ dan MENGIKUTI
byebug adalah debugger yang saat ini direkomendasikan untuk Ruby 2.0+
Masalah ini telah didokumentasikan di sini , dan cldwalker, penulis debugger, mencatat bahwa debugger akan mencakup Ruby 1.9.2 dan 1.9.3.
UPDATE 2
Memang benar bahwa ruby-debug tidak aktif dipertahankan bahkan jika saya tidak dapat menemukan tempat yang tidak dipertahankan lagi.
Hanya menambahkan tentang ini dengan rvm, ruby 1.9.1-p378. Kisah sebenarnya adalah bahwa meskipun ruby-debug 1.9.x siap, linecache-0.43 tidak. Solusinya adalah dengan menginstal:
gem install ruby-debug19
Ini memecahkan masalah saya.
UPDATE LAMA
Jika Anda mengalami masalah dengan ruby 1.9.2 dan Rails 3 debugging:
Terima kasih, bagi saya itu jawaban yang lebih tepat. Tetapi mungkin ini karena Anda menjawab hampir setahun kemudian dan banyak hal berubah untuk kebaikan dalam hal itu.
tandai
3
Beberapa hal yang bisa Anda coba
1) jalankan dengan debugger -rdebug [1] biasa Ruby agak lambat
2) jalankan dengan permata unroller [jenis bau, sangat lambat]
3) gunakan banyak pernyataan cetak dengan cepat, jenis introspeksi yang kurang mungkin
4) buka prompt irb dan jalankan beberapa kode dari sana.
Anda dapat membuat daftar kode dengan membuat "drop to irb prompt" Anda sendiri yang mencantumkan kode di sekelilingnya [gunakan pemanggil untuk menemukan di mana Anda berada] kemudian turun ke prompt irb normal.
5) mungkin jruby dalam mode 1.9 compat memiliki debugger?
Jika Anda masih mengalami masalah setelah menginstal ruby-debug19 coba perbarui ruby-debug-base19. Saya mengalami kesalahan dan tidak dapat menjalankan WEBrick dalam mode debug sampai saya melakukannya.
gem update ruby-debug-base19
Oh, dan terima kasih Pak Moseley atas semua kerja keras Anda!
Koreksi saya jika saya salah, tetapi saya belum percaya debugger berfungsi untuk Ruby 1.9.1 (implementasi C). Setidaknya, saya belum berhasil membuatnya berhasil.
JP Richardson
0
Versi ruby 1.9.1-p243 sudah keluar dan ruby-debug-ide juga berfungsi dengan baik. Instal ruby-debug-ide menggunakan perintah berikut:
pasang permata ruby-debug-ide
Ini akan menginstal permata ruby-debug-base19 dan ruby-debug-ide. Namun sebelum ini pastikan Anda berhasil menginstal mingw dengan mengikuti dokumen Kit pengembangan yang tersedia dari RubyForge .
Saya menggunakan pry-move karena saya dapat "melihat kembali" apa yang terjadi di dalam perintah sebelumnya dengan menjalankannya kembali dalam mode debug langsung dari tempatnya.
tidak ada yang menggunakan: ruby -rdebug script.rb
maka Anda dapat menggunakan: b script.rb: ## (di mana ## adalah nomor baris dari perintah ruby yang valid) jika tidak, Anda mungkin akan berada di tengah-tengah rubygems atau salah satu potongan kode yang Anda perlukan.
Kemudian Anda dapat mengatur breakpoint berikutnya sebagai b: ##
ruby-debug19
sudah ketinggalan zaman sekarang.Jawaban:
Catatan: jawaban ini benar tetapi sekarang sudah ketinggalan zaman. Lihat jawaban yang benar di bawah ini. TL; DR: gunakan 'debugger' sekarang.
ruby-debug sekarang tersedia dengan Ruby 1.9.x. Lihat http://www.github.com/mark-moseley
Untuk menginstal (menggunakan gem pada instalasi 1.9 Ruby):
(mungkin dengan 'sudo' di depannya).
sumber
ruby-debug19
tidak dipertahankan lagi. Semua jawaban lainnya sudah ketinggalan zaman.Tapi ada alternatif lain:
debugger
untuk menyelamatkan!Taruh ini di
Gemfile
:gem 'debugger', group: [:development, :test]
Ini berhasil. - Dan itu termasuk dalam Gemfile rel sejak 3.2
ruby-debug19
. Sesuatu untuk diganti . Ini memiliki fungsi yang sama persis dan secara aktif dipertahankan.sumber
group :development do ... end
atau sejenisnya), karena sudah berisi grup.UPDATE UNTUK RUBY 2.0+ dan MENGIKUTI
byebug adalah debugger yang saat ini direkomendasikan untuk Ruby 2.0+
Masalah ini telah didokumentasikan di sini , dan cldwalker, penulis debugger, mencatat bahwa debugger akan mencakup Ruby 1.9.2 dan 1.9.3.
UPDATE 2
Memang benar bahwa ruby-debug tidak aktif dipertahankan bahkan jika saya tidak dapat menemukan tempat yang tidak dipertahankan lagi.
Anda dapat menggunakan permata debugger baru jika Anda membutuhkan bantuan untuk memulai dengan permata baru, Anda dapat melihat cast rel Ryan Bates .
Di dalam Gemfile Anda:
gem 'debugger', group: [:development, :test]
Anda kemudian dapat menambahkan breakpoint di mana saja dalam kode Anda menggunakan
debugger
kata kunci.ANDA MASIH BISA MENGGUNAKAN
linecache19 dan ruby-debug-base19 dengan:
pesta <<(curl -L https://raw.github.com/gist/1333785 )
JAWABAN LAMA
Hanya menambahkan tentang ini dengan rvm, ruby 1.9.1-p378. Kisah sebenarnya adalah bahwa meskipun ruby-debug 1.9.x siap, linecache-0.43 tidak. Solusinya adalah dengan menginstal:
Ini memecahkan masalah saya.
UPDATE LAMA
Jika Anda mengalami masalah dengan ruby 1.9.2 dan Rails 3 debugging:
gem 'ruby-debug-base19', "0.11.24" gem 'ruby-debug19', "0.11.6"
Di Gemfile Anda dan melakukan a
Akan membuat Anda menjadi debugger yang bahagia lagi.
sumber
Beberapa hal yang bisa Anda coba
1) jalankan dengan debugger -rdebug [1] biasa Ruby agak lambat
2) jalankan dengan permata unroller [jenis bau, sangat lambat]
3) gunakan banyak pernyataan cetak dengan cepat, jenis introspeksi yang kurang mungkin
4) buka prompt irb dan jalankan beberapa kode dari sana.
Anda dapat membuat daftar kode dengan membuat "drop to irb prompt" Anda sendiri yang mencantumkan kode di sekelilingnya [gunakan pemanggil untuk menemukan di mana Anda berada] kemudian turun ke prompt irb normal.
5) mungkin jruby dalam mode 1.9 compat memiliki debugger?
[1] http://beaver.net/rdebug/index-0.html
sumber
Jika Anda masih mengalami masalah setelah menginstal ruby-debug19 coba perbarui ruby-debug-base19. Saya mengalami kesalahan dan tidak dapat menjalankan WEBrick dalam mode debug sampai saya melakukannya.
Oh, dan terima kasih Pak Moseley atas semua kerja keras Anda!
sumber
Lihat jawaban saya di sini: Ruby-debug tidak berfungsi - Stack Overflow
Ini tentang mendapatkan Ruby debugging untuk bekerja dengan pengaturan berikut
Menggunakan rvm, di direktori kerja proyek saya, saya memiliki .rvmrc yang menyatakan:
rvm use ruby-1.9.3-p0@mygemset
Saya harap ini membantu!
- Freddy
sumber
Saya menggunakan mengikuti dan itu bekerja sangat baik untuk saya:
permata 'debugger', grup: [: pengembangan,: tes]
ruby 1.9.3p194 (revisi 2012-04-20 35410) [x86_64-linux] rails 3.2.8
sumber
Netbeans adalah IDE yang bagus untuk RoR. Debugger yang bagus juga.
sumber
Versi ruby 1.9.1-p243 sudah keluar dan ruby-debug-ide juga berfungsi dengan baik. Instal ruby-debug-ide menggunakan perintah berikut:
Ini akan menginstal permata ruby-debug-base19 dan ruby-debug-ide. Namun sebelum ini pastikan Anda berhasil menginstal mingw dengan mengikuti dokumen Kit pengembangan yang tersedia dari RubyForge .
sumber
Fitur terbaru tersedia dalam permata ruby-debug-ide19.
sumber
Ada banyak pilihan, tergantung kebutuhan Anda.
Saya menggunakan pry-move karena saya dapat "melihat kembali" apa yang terjadi di dalam perintah sebelumnya dengan menjalankannya kembali dalam mode debug langsung dari tempatnya.
sumber
tidak ada yang menggunakan: ruby -rdebug script.rb
maka Anda dapat menggunakan: b script.rb: ## (di mana ## adalah nomor baris dari perintah ruby yang valid) jika tidak, Anda mungkin akan berada di tengah-tengah rubygems atau salah satu potongan kode yang Anda perlukan.
Kemudian Anda dapat mengatur breakpoint berikutnya sebagai b: ##
sumber