2011-03-05 15 views
7

पर पर्ल डीबगर नहीं रुक गया है, मैं डीबगर के तहत एक पर्ल प्रक्रिया शुरू करने का एक तरीका खोजने का प्रयास कर रहा हूं, लेकिन पहले कथन पर रोक दिए बिना मुझे स्वचालित रूप से चलना शुरू कर दिया है और मुझे 'c' दर्ज करना है शुरू करें। यह मॉड्यूल एक बड़ी प्रणाली द्वारा चलाया जाता है और मुझे समय-समय पर (बाहरी परिस्थितियों के आधार पर) इंटरप्ट सिग्नल के माध्यम से प्रोग्राम को बाधित करने में सक्षम होना चाहिए, कुछ डेटा संरचनाओं की जांच करें और इसे जारी रखें।में पहले कथन

जाहिर है, मैं पर्यवेक्षण कार्यक्रम "perl -d myProcess" का उपयोग करके अपनी प्रक्रिया शुरू कर सकता हूं, लेकिन शुरुआती ब्रेक के बिना इसे चलाने के लिए कैसे प्राप्त करें। किसी को पता है कि यह कैसे हो सकता है?

बहुत धन्यवाद।

+0

'.perldb' फ़ाइल के साथ कुछ है, उम्मीद है कि किसी को इस विस्तार कर सकते हैं एक उचित जवाब में। – daxim

उत्तर

7

धन्यवाद। वह एक बड़ा संकेत था। मुझे "NonStop" सहित कई विकल्प दिखाई देते हैं।

ऐसा लगता है कि लाइन PERLDB_OPTS="NonStop" perl -d myprog.pl & चाल का उपयोग करने की तरह लगता है। तो मैं डीबगर में इसे पाने के लिए बस kill -INT <pid> और fg करता हूं। निष्पादन जारी रखने के लिए 'सी' के बाद और bg यह जारी रहेगा।

2

आप इस कॉन्फ़िगरेशन विकल्प को .perldb फ़ाइल में भी जोड़ सकते हैं। कॉन्फ़िग फ़ाइल का स्वरूप इसलिए यहाँ

DB::parse_options("NonStop=1"); 

अन्य उपयोगी विकल्प चला जाता है, थोड़ा असामान्य और नहीं इतनी अच्छी तरह से प्रलेखित है:

DB::parse_options("dumpDepth=3"); 
DB::parse_options("PrintRet=0"); 
$DB::deep = 1000; 
संबंधित मुद्दे