bash -x script.sh
'un, fiili yürütmeden önce her satırı yazdırma komut dosyası yürüteceğini biliyorum. Perl ve Python tercümanları nasıl yapılır?Perl ve Python, yürütülmekte olan programın her bir satırını nasıl yazdırabilirim?
cevap
Devel::Trace Perl analogudur, trace module Python's'dur.
Devel::DumpTrace
, 2011'de piyasaya sürüldü ve izleme çıktısında değişken değerlerin değerlendirilmesi gibi Devel::Trace
'dan daha fazla özelliğe sahip.
python -m trace -t main.py
test programı:
main.py
from a import g
def f(i):
g(i)
for i in range(3):
f(i)
a.py
def g(i):
print i
Çıktı:
--- modulename: main, funcname: <module>
main.py(1): from a import g
--- modulename: a, funcname: <module>
a.py(1): def g(i):
main.py(2): def f(i):
main.py(4): for i in range(3):
main.py(5): f(i)
--- modulename: main, funcname: f
main.py(3): g(i)
--- modulename: a, funcname: g
a.py(2): print i
0
main.py(4): for i in range(3):
main.py(5): f(i)
--- modulename: main, funcname: f
main.py(3): g(i)
--- modulename: a, funcname: g
a.py(2): print i
1
main.py(4): for i in range(3):
main.py(5): f(i)
--- modulename: main, funcname: f
main.py(3): g(i)
--- modulename: a, funcname: g
a.py(2): print i
2
main.py(4): for i in range(3):
--- modulename: trace, funcname: _unsettrace
trace.py(80): sys.settrace(None)
Ubuntu 16.10, Python 2.7.12 üzerinde test edilmiştir.
Bu sorunun diğer cevaplarına gereksiz görünüyor. – duskwuff
@duskwuff Görüşleriniz için teşekkürler. Tıklamanız ve '-t '' lere ihtiyacınız olduğunu bulmanızı sağlar ve çok az sayıda çok örnekli bir örnekte ne aldığınızı gösterir. –
- 1. Yürütülmekte olan geçerli yöntemin ismini alın
- 2. Yürütülmekte olan uygulamanın PID'sini alın
- 3. Yürütülmekte olan sınama geçerli adı nasıl bulunur?
- 4. Yürütülmekte olan powershell komut dosyasının yolu
- 5. yürütülmekte olan .app dosyasının geçerli yolunu al
- 6. Bir dosyanın her satırını bir komutla boruya
- 7. Bir data.frame öğesinin her satırını R
- 8. Bir python komut dosyasına geçirilen tüm bağımsız değişkenleri nasıl yazdırabilirim?
- 9. Python bir programın geçerli çalışma dizininden nasıl başlatılacağı
- 10. Bir programın çalıştırılması bana
- 11. Win32 üzerinde Perl'de bir unix newline'ı nasıl yazdırabilirim?
- 12. Bir programın birden çok örneğini nasıl önleyebilirim?
- 13. Bir programın görünmeden çıkarılması
- 14. Knitr kullanırken konsola nasıl yazdırabilirim?
- 15. Bu python komut satırını bash'deki bir takma adı nasıl yapabilirim?
- 16. Perl komut dosyasında her değişken nasıl bağlanır?
- 17. Opencv (python) kullanarak, tıklatıldıktan sonra farenin konumunu nasıl yazdırabilirim.
- 18. Perl her bir eşleşme boyunca yinelenir
- 19. Bir programın CPU benzeşimi nasıl ayarlanır?
- 20. Aynı anda iki textfile satırını oku -python
- 21. , bir kod satırını hiç değiştirmiş olan tüm yazarları bulabilir mi?
- 22. Bir şeyi nasıl yazdırabilirim (geçici olarak)?
- 23. MediaElement oyuncu "başarı" geri arama değil yürütülmekte olan ve muhtemelen "sona erdi" olayı flaş çare
- 24. 1 Bir programın çıkışını
- 25. Bir sembolün tanımını Şemada değerlendirmeden nasıl yazdırabilirim?
- 26. C++ Bir .txt dosyasını nasıl yazdırabilirim?
- 27. Programın bellek boyutunu PySpark
- 28. Python dizisini Perl betiğine aktarma
- 29. nasıl kullanılır Bir programın yığın boyutu
- 30. wchar_t değerlerini konsola nasıl yazdırabilirim?
Açıklama için: 'perl -d: Trace program.pl' ve' python -m trace -t program.py'. Devel :: Trace için komut satırı seçenekleri için –
@ Vi. + 1. FWIW: Apache mod_perl altında perl hata ayıklamayı etkinleştirmek için aşağıdaki bağlantıya bakın: http: //www.perlmonks.org/? Node_id = 412121. Denemedim ama başka birine yardımcı olabilir. – GuruM