Ruby 1.9'da hata ayıklamak için ne kullanıyorsunuz? rdebug uyumlu görünmüyor .. orada bir şey var mı?
Yanıtlar:
Not: Bu cevap doğruydu, ancak artık güncel değil. Aşağıdaki doğru cevaba bakın. TL; DR: 'hata ayıklayıcıyı' şimdi kullanın.
ruby-debug artık Ruby 1.9.x ile kullanılabilir. Bkz http://www.github.com/mark-moseley
Kurmak için (1.9 Ruby kurulumunda gem kullanarak):
gem install ruby-debug19
(belki de önünde gerekli 'sudo' ile).
ruby-debug19
artık korunmuyor. Diğer tüm cevaplar güncel değildir.
Ancak bir alternatif var:
debugger
kurtarmak için!
Bunu şuraya koy Gemfile
:
gem 'debugger', group: [:development, :test]
Sadece çalışıyor. - Ve 3.2'den beri Gemfile raylarında yer almaktadır ruby-debug19
. Tamamen aynı işlevselliğe sahiptir ve aktif olarak korunur.
group :development do ... end
veya benzeri), çünkü zaten bir grup içeriyor.
RUBY 2.0+ İÇİN GÜNCELLEME ve TAKİP ET
byebug , Ruby 2.0+ için şu anda önerilen hata ayıklayıcıdır
Bu sorun burada belgelenmiştir ve hata ayıklayıcının yazarı cldwalker, hata ayıklayıcının Ruby 1.9.2 ve 1.9.3 kapsamına alınacağını belirtmektedir.
GÜNCELLEME 2
Artık korunmayan bir yer bulamasam bile ruby-debug'ın aktif olarak sürdürülmediği doğrudur.
Yeni mücevher ile başlamak için yardıma ihtiyacınız olursa , yeni hata ayıklayıcı mücevherini kullanabilirsiniz, Ryan Bates raylarının dökümünü görebilirsiniz .
Gemfile dosyanıza şunu koyun:
gem 'debugger', group: [:development, :test]
Daha sonra debugger
anahtar kelimeyi kullanarak kodunuzun herhangi bir yerine bir kesme noktası ekleyebilirsiniz .
HALA KULLANABİLİRSİNİZ
linecache19 ve ruby-debug-base19 ile:
bash <<(curl -L https://raw.github.com/gist/1333785 )
ESKİ CEVAPLAR
Rvm, Ruby 1.9.1-p378 ile buna bir ekleme. Gerçek hikaye, ruby-debug 1.9.x'e hazır olsa bile linecache-0.43'ün hazır olmadığıdır. Çözüm, kurmaktır:
gem install ruby-debug19
Bu benim için sorunu çözüyor.
ESKİ GÜNCELLEME
Ruby 1.9.2 ve Rails 3 hata ayıklamayla ilgili sorun yaşıyorsanız:
gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"
Gemfile'ınızda ve
bundle install
Seni yine mutlu bir hata ayıklayıcı yapacak.
Deneyebileceğin bazı şeyler
1) Ruby'nin normal hata ayıklayıcısıyla çalıştırın -rdebug [1] tür yavaş
2) unroller gem ile çalıştırın [kokuyor, çok yavaş]
3) çok sayıda baskı ifadesini hızlı kullanın, daha az iç gözlem mümkün
4) bir irb istemine bırakın ve oradan bir kod çalıştırın.
kodu kendi etrafında listeleyen kendi "irb'ye bırak isteminizi" oluşturarak [nerede olduğunuzu keşfetmek için arayanı kullanın] ardından normal bir irb istemine bırakarak kodu listeleyebilirsiniz.
5) belki 1.9 uyumlu modda jruby bir hata ayıklayıcıya sahiptir?
Cevabımı burada görün: Ruby-debug çalışmıyor - Stack Overflow
Ruby hata ayıklamasının aşağıdaki kurulumla çalışmasını sağlamakla ilgilidir
Rvm kullanarak, proje çalışma dizinimde şunu belirten bir .rvmrc var:
rvm use ruby-1.9.3-p0@mygemset
Umarım bu yardımcı olur!
- Freddy
Aşağıdakileri kullandım ve benim için harika çalışıyor:
gem 'hata ayıklayıcı', grup: [: geliştirme,: test]
ruby 1.9.3p194 (2012-04-20 revizyon 35410) [x86_64-linux] rayları 3.2.8
Netbeans, RoR için iyi bir IDE'dir. Ayrıca iyi bir hata ayıklayıcı.
Ruby 1.9.1-p243 sürümü çıktı ve uyumlu ruby-debug-ide de düzgün çalışıyor. Aşağıdaki komutu kullanarak ruby-debug-ide'yi kurun:
gem install ruby-debug-ide
Bu, ruby-debug-base19 ve ruby-debug-ide mücevherlerini kuracaktır. Ancak bundan önce RubyForge'da bulunan Geliştirme kiti belgelerini takip ederek mingw'yi başarıyla kurduğunuzdan emin olun .
Ruby-debug-ide19 gem'de en son özellikler mevcuttur.
İhtiyaçlarınıza bağlı olarak pek çok seçenek var.
Kullandığım gözetlemek-hamle Ben yerden ayıklama modu sağ bunları tarafından içeride önceki komuta olanları içine "bak geri"-re yürütme çünkü.
kimse kullanmaz: ruby -rdebug script.rb
o zaman şunu kullanabilirsiniz: b script.rb: ## (burada ## geçerli bir ruby komutunun satır numarasıdır) aksi takdirde rubygems'in veya gerekli kod parçalarınızdan birinin ortasında olabilirsiniz.
Ardından bir sonraki kesme noktasını b: ## olarak ayarlayabilirsiniz.
ruby-debug19
artık güncel değil.