2012-09-04 7 views
6
yakut ayıklayıcı yürütme başlar dan farklı dosyaları belirlenen kesme noktaları üzerinde durdurmak değil Örneğin, bu iki dosyayı, foo.rb dikkate

.Ayar kesme noktası etkisi yoktur

# foo.rb 
class Foo 
    def bar 
    puts "baz" 
    end 
end 

ve main.rb: Ben ruby -r debug .\main.rb kullanarak hata ayıklama başlamadan

# main.rb 
require './foo' 
Foo.new.bar 

. Şimdi, b ./foo.rb:4 kullanarak başka bir dosyada belirli bir satırda bir kesme noktası ayarlamaya çalıştığımda, foo.rb: 4 adresindeki Set kesme noktası 1 mesajını alıyorum, ancak ben cont, program sonuna kadar çalıştırıyor ve hata ayıklayıcısı asla durmaz. Ancak, main.rb numaralı telefon hattında bir satırdan ayrılırsam, ör. b ./main.rb:3 veya bir yöntem, örn. b Foo.bar, hata ayıklayıcı beklendiği gibi durur.

Hata ayıklayıcı, ana dosya dışındaki dosyalarda kesme noktalarında neden durmuyor?

Güncelleştirme: Bunu Windows 7'de Ruby 1.9.3 ve ayrıca OS X 10.8 ile denedim; Her iki ortamda da çalışmıyor.

Ben de sadece komut sonuna kadar çalıştıktan sonra ayıklayıcı kapanıyor fark var

: Ben cont ardından baz konsolda yazdırılır kullanın main.rb ayıklama başlamadan ve hemen geri varım Deniz kabuğu. Beklenen davranış bu mu yoksa hata ayıklayıcı çöktü mi?

+0

ana Kesme noktası ayarlama denediniz gerektiğini sonraki ile ihtiyaç üzerine Step kesme noktası ve daha sonra ikinci kesme noktası ayarlanıyor? –

+0

@AlexBrown Önerinizi takiben, '' next' ile olan talep üzerine adım attım, ardından breakpoint'i * foo.rb * ve 'cont''d - aynı sonucu ekledim. – waldrumpus

+0

Şu anda ruby ​​2.1.0 ile aynı sorunu yaşıyorum. Çözdün mü? – studyro

cevap

1

Vay, bu garip. Bunun yardımcı olup olmadığından emin değilim, ama belki bunu yapabilirsin. Buna çalışan, 3 (istenen koşullara sonra yüklendikten): Foo sonra

b Foo:bar 

yüklenir böylece çubuğunda en az mola

+0

İşaretçi için teşekkürler, işe yarıyor. Belirli bir satırdaki kesme noktaları ile ilgili orijinal sorun devam ediyor. – waldrumpus

+0

Evet, örneğinizle uzunca bir süre oynadım. Çok garip, işe yarayacak gibi görünüyor. – rainkinz