जब मैं एक पर्ल स्क्रिप्ट चलाता हूं, तो मैं इसे कैसे डिबग कर सकता हूं? उदाहरण के लिए, ksh में मैं -x
ध्वज जोड़ता हूं। लेकिन मैं पर्ल में ऐसा कैसे करता हूं?मैं एक पर्ल स्क्रिप्ट कैसे डिबग कर सकता हूं?
उत्तर
तो एक इंटरैक्टिव डिबगर का उपयोग कर आप के लिए ठीक है, तुम कोशिश कर सकते perldebug
perl -d your_script.pl args
कैसे आप पर्ल
डिबग मैं भी Perl debugger उपयोग करने की अनुशंसा करेंगे।
हालांकि, चूंकि आपने शैल के -x
जैसे कुछ के बारे में पूछा है, तो Devel::Trace मॉड्यूल पर एक नज़र डालें जो कुछ समान करता है।
सबसे प्रभावी डीबगिंग टूल अभी भी careful thought, विवेकपूर्ण तरीके से रखा प्रिंट बयान के साथ युग्मित है।
(Data::Dumper साथ और बढ़ाने प्रिंट बयान)
पेर्ल डीबगर के बारे में यहां बहुत अच्छी बहस भी http://www.perlmonks.org/?node_id=48579 –
लिंक मर चुका है। कृपया अपने उत्तर की समीक्षा करें –
तो संक्षेप में, पर्ल चाहता है कि आप इसे 1 9 7 9 की तरह कोड करें? –
आप दूरस्थ डिबग करना चाहते हैं तो (cgi के लिए या यदि आप डिबग कमांड लाइन के साथ गड़बड़ उत्पादन नहीं करना चाहती) इस का उपयोग करें:
दी परीक्षा:
use v5.14;
say 1;
say 2;
say 3;
एक श्रोता पर शुरू जो कुछ भी मेजबान और पोर्ट टर्मिनल 1 पर (यहाँ स्थानीय होस्ट: 12345):
$ nc -v -l localhost -p 12345
ReadLine समर्थन उपयोग
rlwrap के लिए
(आप perl -d
पर भी उपयोग कर सकते हैं):
$ rlwrap nc -v -l localhost -p 12345
और एक और टर्मिनल पर परीक्षण शुरू (कहते हैं कि टर्मिनल 2): टर्मिनल 1 पर
$ PERLDB_OPTS="RemotePort=localhost:12345" perl -d test
इनपुट/आउटपुट:
1
:
Connection from 127.0.0.1:42994
Loading DB routines from perl5db.pl version 1.49
Editor support available.
Enter h or 'h h' for help, or 'man perldebug' for more help.
main::(test:2): say 1;
DB<1> n
main::(test:3): say 2;
DB<1> select $DB::OUT
DB<2> n
2
main::(test:4): say 3;
DB<2> n
3
Debugged program terminated. Use q to quit or R to restart,
use o inhibit_exit to avoid stopping after program termination,
h q, h R or h o to get additional info.
DB<2>
टर्मिनल 2 पर आउटपुट
अगर आप डीबग टर्मिनल पर आउटपुट चाहते हैं तो वाक्य को नोट करें अल
select $DB::OUT
आप vim उपयोगकर्ता हैं, तो यह प्लगइन स्थापित: dbg.vim जो पर्ल
के लिए बुनियादी सहायता प्रदान करता हैपर्ल डिबगर के तहत अपनी स्क्रिप्ट को चलाने के लिए आप -d
स्विच का उपयोग करना चाहिए:
perl -d script.pl
लेकिन पर्ल लचीला है। यह कुछ हुक की आपूर्ति और आप आप
तो अलग डिबगर उपयोग करना चाहते हैं के रूप में आप कर सकते हैं काम करने के लिए डिबगर मजबूर हो सकता है:
perl -d:DebugHooks::Terminal script.pl
# OR
perl -d:Trepan script.pl
कई सबसे दिलचस्प पर्ल रहे हैं मॉड्यूल है कि पर्ल डिबगर internals में हुक: Devel::NYTProf, Devel::Cover
और many others
मुझे डेवेल :: NYTProf पाया गया है जो मेरे पर्ल कोड में धीमी धब्बे को पहचानने और तेज़ करने में अमूल्य है। –
@ मैथ्यूलॉक हाँ, [डेवेल :: एनवाईटीपीआरओफ़] (https://metacpan.org/pod/Devel::NYTProf) अद्भुत बात है –
- 1. मैं पर्ल से एक PHP स्क्रिप्ट कैसे लगा सकता हूं?
- 2. मैं एक पर्ल स्क्रिप्ट में चर देखने के लिए एक पर्ल स्क्रिप्ट कैसे प्राप्त कर सकता हूं?
- 3. मैं अजगर में नियमित अभिव्यक्ति कैसे डिबग कर सकता हूं?
- 4. मैं mod_rewrite नियमों को कैसे डिबग कर सकता हूं?
- 5. मैं xdebug के साथ एक PHP सीएलआई स्क्रिप्ट कैसे डिबग कर सकता हूं?
- 6. मैं पर्ल स्क्रिप्ट के भीतर से पर्ल स्क्रिप्ट कैसे चला सकता हूं?
- 7. मैं अपनी पर्ल स्क्रिप्ट में अंतर्राष्ट्रीयकरण कैसे जोड़ सकता हूं?
- 8. एडीएफएस 2.0 - मैं कैसे डिबग कर सकता हूं "401 - अनधिकृत"
- 9. मैं हाडोप मानचित्र को कैसे डिबग कर सकता हूं
- 10. मैं पर्ल में एक सशर्त प्रतिस्थापन कैसे कर सकता हूं?
- 11. मैं पर्ल में एक सरणी कैसे छोटा कर सकता हूं?
- 12. मैं नोड मॉड्यूल कैसे डिबग कर सकता हूं?
- 13. मैं पर्ल मॉड्यूल को अनलोड कैसे कर सकता हूं?
- 14. मैं थोक खोज कैसे कर सकता हूं और पर्ल के साथ प्रतिस्थापित कैसे कर सकता हूं?
- 15. मैं सक्रिय पर्ल के साथ एक पर्ल स्क्रिप्ट कैसे चला सकता हूं?
- 16. मैं एक पर्ल CGI स्क्रिप्ट से प्रगति के उपयोगकर्ता को लगातार कैसे सूचित कर सकता हूं?
- 17. मैं एक विम स्क्रिप्ट में पर्ल विधि से मूल्य कैसे वापस कर सकता हूं?
- 18. मैं विंडोज पर एक पर्ल CGI स्क्रिप्ट से पृष्ठभूमि प्रक्रियाओं को कैसे फोर्क कर सकता हूं?
- 19. मैं एक शैल स्क्रिप्ट का अनुवाद पर्ल में कैसे कर सकता हूं?
- 20. मैं एक स्टैंडअलोन पर्ल स्क्रिप्ट का परीक्षण कैसे कर सकता हूं?
- 21. मैं पर्ल से फ़ाइल अनुमतियां कैसे सेट कर सकता हूं?
- 22. मैं पर्ल में ट्रेसबैक कैसे प्राप्त कर सकता हूं?
- 23. मैं लॉन्चड स्क्रिप्ट को कैसे डिबग कर सकता हूं जो स्टार्टअप पर नहीं चलता है?
- 24. मैं पर्ल में JSON कैसे पार्स कर सकता हूं?
- 25. मैं पर्ल से यूटीएफ -8 कैसे आउटपुट कर सकता हूं?
- 26. मैं कैसे छिपा सकता है/एक पर्ल स्क्रिप्ट
- 27. मैं पर्ल क्लास कैसे बना सकता हूं?
- 28. मैं पर्ल में सेट का प्रतिनिधित्व कैसे कर सकता हूं?
- 29. मैं पर्ल में 64-बिट अंकगणित कैसे कर सकता हूं?
- 30. मैं पर्ल 6 के साथ कैसे शुरू कर सकता हूं?
एलेक्स के उत्तर में '-d' – DVK
के लिए प्रलेखन से लिंक है चरण 1:' सख्त उपयोग करें; चेतावनियों का उपयोग करें; 'अपनी स्क्रिप्ट के शीर्ष पर। अगर इससे मदद नहीं मिलती है, तो चरण 2 पर जाएं: perl -d का उपयोग करें। –