Menambahkan debugging selangkah demi selangkah dan menumpuk kemampuan navigasi untuk mencabut byebug.
Untuk digunakan, adon Pry secara normal. Tidak perlu memulai skrip atau aplikasi Anda secara berbeda. Eksekusi akan berhenti dalam pernyataan pertama setelah binding.pry
Anda.
def some_method
puts 'Hello World' # Run 'step' in the console to move here
end
binding . pry
some_method # Execution will stop here.
puts 'Goodbye World' # Run 'next' in the console to move here.
MRI 2.4.0 atau lebih tinggi.
Menambahkan
gem 'pry-byebug'
ke gemfile Anda dan lari
bundle install
Pastikan Anda memasukkan permata secara global atau di dalam :test
jika Anda berencana menggunakannya untuk men -debug tes Anda!
Break: Kelola breakpoint.
Langkah: Langkah Eksekusi ke baris atau metode berikutnya. Mengambil argumen numerik opsional untuk melangkah berkali -kali.
Berikutnya: melangkah ke baris berikutnya dalam bingkai yang sama. Juga mengambil argumen numerik opsional untuk melangkah beberapa baris.
Selesai: Jalankan sampai bingkai tumpukan saat ini kembali.
Lanjutkan: Lanjutkan eksekusi program dan akhiri sesi Pry.
Backtrace: Menunjukkan tumpukan saat ini. Anda dapat menggunakan angka di sisi kiri dengan perintah frame
untuk menavigasi tumpukan.
UP: Menggerakkan bingkai tumpukan ke atas. Mengambil argumen numerik opsional untuk memindahkan beberapa frame.
Down: Mendorong bingkai tumpukan ke bawah. Mengambil argumen numerik opsional untuk memindahkan beberapa frame.
Bingkai: Bergerak ke bingkai tertentu. Dipanggil tanpa argumen akan menunjukkan bingkai saat ini.
Jika Anda berasal dari byebug atau dari versi pry-byebug sebelum 3.0, Anda mungkin kekurangan alias 'n', 's', 'c' dan 'f' untuk perintah loncatan. Alias ini dihapus secara default karena biasanya bertentangan dengan nama variabel goresan. Tapi sangat mudah untuk re -restable mereka jika Anda masih menginginkannya, cukup tambahkan pintasan berikut ke file ~/.pryrc
Anda:
if defined? ( PryByebug )
Pry . commands . alias_command 'c' , 'continue'
Pry . commands . alias_command 's' , 'step'
Pry . commands . alias_command 'n' , 'next'
Pry . commands . alias_command 'f' , 'finish'
end
Anda juga dapat menemukan yang bermanfaat juga ulang perintah terakhir dengan hanya memukul tombol Enter
(misalnya, dengan step
atau next
). Untuk mencapai itu, tambahkan ini ke file ~/.pryrc
Anda:
# Hit Enter to repeat last command
Pry :: Commands . command /^$/ , "repeat last command" do
pry_instance . run_command Pry . history . to_a . last
end
Anda dapat mengatur dan menyesuaikan breakpoint langsung dari sesi Pry menggunakan perintah break
:
Break: Tetapkan breakpoint baru dari nomor baris di file saat ini, file dan nomor baris, atau metode. Lulus ekspresi opsional untuk membuat breakpoint bersyarat. Edit breakpoint yang ada melalui berbagai bendera.
Contoh:
break SomeClass #run # Break at the start of `SomeClass#run`.
break Foo #bar if baz? # Break at `Foo#bar` only if `baz?`.
break app / models / user . rb : 15 # Break at line 15 in user.rb.
break 14 # Break at line 14 in the current file.
break -- condition 4 x > 2 # Change condition on breakpoint #4 to 'x > 2'.
break -- condition 3 # Remove the condition on breakpoint #3.
break -- delete 5 # Delete breakpoint #5.
break -- disable - all # Disable all breakpoints.
break # List all breakpoints.
break -- show 2 # Show details about breakpoint #2.
Ketik break --help
dari sesi Pry untuk melihat semua opsi yang tersedia.
Perhatikan bahwa semua alternatif di sini tidak kompatibel dengan Pry-Byebug. Jika platform Anda didukung oleh Pry-Byebug, Anda harus menghapus salah satu permata yang disebutkan di sini jika ada di Gemfile Anda.
Pry-debugger: Menyediakan debugging langkah demi langkah untuk MRI 1.9.3 atau rubi yang lebih tua. Jika Anda masih menggunakannya dan membutuhkan debugger langkah demi langkah untuk membantu peningkatan, Pry-DeBugger bisa berguna.
Pry-stack_explorer: Menyediakan kemampuan navigasi tumpukan untuk MRI 1.9.3 atau rubi yang lebih tua. Jika Anda masih menggunakannya dan perlu menavigasi tumpukan Anda untuk membantu peningkatan, Pry-Stack_Explorer bisa berguna.
Pry-nav: Menyediakan debugging langkah demi langkah untuk Jruby.
Lihat memulai dengan pengembangan.
Berlangganan Tidelift untuk memastikan Pry-Byebug tetap dipertahankan secara aktif, dan pada saat yang sama mendapatkan jaminan lisensi dan pemberitahuan keamanan tepat waktu untuk dependensi sumber terbuka Anda.
Anda juga dapat membantu pry-byebug
dengan meninggalkan ujung kecil (atau besar) melalui Liberapay.
Silakan gunakan kontak keamanan Tidelift untuk melaporkan kerentanan keamanan. Tidelift akan mengoordinasikan perbaikan dan pengungkapan.
Laporan tambalan dan bug dipersilakan.