2013-07-26 22 views
5

Perl -d dosya.pl dosyasını kullanarak perl hata ayıklayıcısında bir dosya çalıştırıyorum. Ama sonra file.pl de argümanlar alması gerekiyordu. Nasıl file.pl bir soru daha argümanlar kaynağı yapmak: Bu system olarak çalışıyorsa file2.pl bir kesme noktası ayarlamak için bir yolu var mıHata ayıklayıcısındaki perl dosyasına argüman geçirin ve sistem tarafından yürütülen dosyada kesme noktasını belirleyin

system("./file2.pl"); 

: file.pl içinde bu hattı vardır? Perl hata ayıklayıcıda 7 gün harcadım ve dosya2.pl'de bir kesme noktası ayarlayamıyorum Lütfen yardım edin

DÜZENLEME: DB :: single = 1 eklemek için DVK'dan harika bir yanıt aldım. Bunu bazı dosyalarda test ettim ve işe yaradı. Fakat 100'den fazla dosyam var ve eğer bunu manuel olarak yaparsam, çok zaman alacaktır. .Traldb kullanıyorum ve tüm komutları tersine yazmak için kullanıyorum. Kesme noktasının gitmesi gereken her dosyanın satır numarasını bulan bir algoritma yerleştirdim. Sadece rastgele (bir yürütülebilir dosyayı kullanarak) yapamam, tüm bu dosyaları açın ve DB :: single = 1'i sevdiğim yere ekleyin. Bütün sistem çökebilir. Ben normal şekilde daha güvenli

cevap

0

Onları geçerken kesme noktası ayarlamak istiyorum:

perl -d ./file2.pl arg1 arg2 arg3 ... 
+0

oh, dosya yoluna koymaya devam ettim, teşekkürler ... – ban

+0

ilk görevine de cevap verebilir misiniz? Ben de böyle bir şey yaparım: perl -d/path/to/file arg1 arg2 ??? – ban

+0

üzgünüm işe yaradı, ben() – ban

3

Evet, yapabilirsiniz.

Eğer file2.pl kırmaya istediğiniz çizgiye aşağıdaki kodu ekleyin:

$DB::single = 1; 

o noktadan itibaren otomatik olarak hata ayıklama kontrol etmek için @DB::typeahead dizileri işlemek gerekir. perldoc'dan:

@DB :: typeahead'e rasgele komutlar ekleyerek TTY girişini hata ayıklayıcısına eşleştirebilirsiniz. Örneğin, .perldb dosyası içerebilir:

sub afterinit { push @DB::typeahead, "b 4", "b 6"; } 

Bu kod olabilir ya bir BEGIN {} bloğu veya özel .perldb yapılandırma dosyasında.

+0

kullanıyorum sistem kullanılarak çağrılan 100 dosya var. Bunu yapmaya başlarsam, hayal edebileceğime göre daha fazla zaman alır. Dosyalarımda dosyalar var ve hepsi sistem veya eval ile çağrılıyorlar – ban

+0

Perl5db'yi bir şekilde manipüle edemiyorum ... biliyor musunuz? – ban

+0

@ban - evet. Ben bağlantılı perldoc bakın - nasıl gösterir. – DVK