WinDbg

2011-04-15 6 views
5

के साथ और स्वचालन I12 पर ऐपविरिफायर/WinDbg/cdb का उपयोग कर आईआईएस पर चल रहे एक एप्लिकेशन का परीक्षण कर रहा हूं। असल में स्कीमा निम्नानुसार है: जब आईआईएस सीडीबी प्रक्रिया को जोड़ता है और नामित पाइप बनाता है, तो मैं पाइप से कनेक्ट करने के लिए WinDbg का उपयोग करता हूं। फिर मैं एप्लिकेशन के खिलाफ हजारों टेस्ट केस चलाता हूं और ऐपविरिफायर कुछ फेंकने तक प्रतीक्षा करता हूं।WinDbg

समस्याएं/प्रश्न:

  1. अवधि के लिए (लगभग 10 घंटे) परीक्षण की, आईआईएस के आसपास हज़ार बार हर बार यह WinDbg को पुनः आरंभ है बंद हो जाता है पुनः आरंभ है, और मैं मैन्युअल रूप से करने के लिए है फिर से शुरू WinDbg। क्या पाइप बंद होने पर WinDbg को बंद नहीं करने का कोई तरीका है, लेकिन इसे कनेक्ट करने के लिए पुनः प्रयास करें?
  2. मुझे लगातार WinDbg के सामने बैठना है और कुछ फेंकने के लिए AppVerifier की प्रतीक्षा करनी है? क्या WinDbg को बीप करने या अपवाद द्वारा रुकने पर पॉपअप दिखाने का कोई तरीका है?

धन्यवाद।

उत्तर

4

आप sxe कमांड (या अन्य sx* कमांड) का उपयोग कर सकते हैं ताकि WinDbg अपवाद होने पर कमांड चला सके। एक छोटी सी उदाहरण के लिए, इस प्रिंट "Hello, world:" जब एक मॉड्यूल लोड किया जाता है:

sxe -c ".printf \"Hello, world: \"" ld 

आप .beep आदेश के साथ इस गठबंधन करने के लिए सोच सकते हैं, लेकिन यह एक सिंटैक्स त्रुटि का परिणाम है। मुझे लगता है कि .beep सहायता में नोट से संबंधित हो सकता है जो कहता है "यह आदेश स्क्रिप्ट फ़ाइलों में उपयोग नहीं किया जा सकता है।" हालांकि, आप कुछ उपयोगी करने के लिए .shell का उपयोग करने में सक्षम होना चाहिए।

मैंने कोशिश नहीं की है, लेकिन शायद "प्रक्रिया निकास" घटना को फंसाने के लिए sx* आदेशों का उपयोग करके अपनी पुन: कनेक्शन समस्या के आसपास हैक करना संभव है। या हो सकता है कि आपके पास सीडीबी इंस्टेंस हो जो आईआईएस के साथ शुरू हो जाए, जब कोई अपवाद होता है, तो आप WinDbg का उपयोग करके उससे कनेक्ट कर सकते हैं?

+0

"या शायद आपके पास सीडीबी इंस्टेंस हो सकता है जो आईआईएस के साथ शुरू होता है जब कोई अपवाद होता है, तो आप WinDbg का उपयोग करके उससे कनेक्ट कर सकते हैं?" - मुझे लगता है कि यह दोनों समस्याओं को हल करेगा - किसी भी विचार को इस तरह कैसे स्थापित करें? –

+0

मुझे लगता है कि यह 'cdb -c" sxe -c "" .llll sendMeAnEmail.exe "कुछ अपवाद" के रूप में कुछ होगा। (मुझे नहीं पता कि उद्धरण से बचने का यह सही तरीका है, हालांकि।) – bk1e