2015-09-08 7 views
8

मैं एक साधारण ऐप बनाने की कोशिश कर रहा हूं जो यूट्यूब यूआरएल की एक सूची ले सकता है और उन्हें एक निर्दिष्ट फ़ोल्डर में एमपी 3 के रूप में डाउनलोड कर सकता है। हालांकि, यह फाइल डाउनलोड नहीं कर रहा है। (मैं इस पर ठीक था लेकिन मुझे लगता है कि गर्मियों में अभ्यास की कमी ने इसे बर्बाद कर दिया है)एसिंक कोड को डीबग कैसे करें?

सबसे पहले, कोड: https://gist.github.com/ericBG/159debbcdb606647afb8 (मुझे पता है कि यह बिल्कुल न्यूनतम नहीं है लेकिन यह काफी छोटा है और मैं हूं भी यकीन नहीं है, जहां समस्या है)

तो, क्या होता है है, यह जैसे कुछ उत्पादन कुछ है करने के लिए होती है:

Enter folder path where you would like output .mp3 files to be saved: 
G:\MusicTemp 
Enter any youtube videos you would like downloaded: 
https://www.youtube.com/watch?v=N6eUF30HXWY 
API requested for http://youtube.com/watch?v=N6eUF30HXWY 
Downloading API response for http://youtube.com/watch?v=N6eUF30HXWY 
Song requested for http://youtube.com/watch?v=N6eUF30HXWY 
Completed download. 
Enter any youtube videos you would like downloaded: 

(वीडियो बस कम से कम वीडियो मैं आसानी से btw पाया जाता है) और पथ पर "वीडियो शीर्षक"। एमपी 3 के रूप में डाउनलोड की गई फ़ाइल।

क्या होता है यह तथापि है:

Enter folder path where you would like output .mp3 files to be saved: 
G:\MusicTemp 
Enter any youtube videos you would like downloaded: 
https://www.youtube.com/watch?v=N6eUF30HXWY 
API requested for http://youtube.com/watch?v=N6eUF30HXWY 
Downloading API response for http://youtube.com/watch?v=N6eUF30HXWY 
Completed download. 
Enter any youtube videos you would like downloaded: 

और फ़ाइल पथ पर नहीं है।

मुझे लगता है कि यह मेरे कुछ एसिंक प्रोग्रामिंग के कारण है। हालांकि, मुझे यकीन नहीं है कि इसे कैसे डिबग करना है, क्योंकि मुझे नहीं पता कि कौन से टूल्स मुझे कदम उठाने देते हैं और देखते हैं कि मैं कहां गलत हो गया हूं, और फिर सही हूं। क्या वीएस कम्युनिटी डीबगर मुझे इस कोड को अच्छी तरह से डीबग करने देगा? धन्यवाद!

+0

क्या आपको कोई अपवाद मिलता है? क्या आपके पास निर्देशिका के लिए लेखन अनुमति है? –

+0

आपने मौजूदा कोड कैसे बनाया? आपने किस आईडीई का उपयोग किया था? –

+0

@ अरघिया कोई अपवाद नहीं, कोड का केवल हिस्सा छोड़ दिया गया है। मैं निश्चित रूप से निर्देशिका के लिए लिखने की अनुमति है। –

उत्तर

8

टिप्पणी की प्रति क्योंकि उस सवाल (नहीं कोड समस्या समाधान) का जवाब है:

आप सामान्य कोड है जैसे कि यह डीबग कर सकते हैं। ब्रेकपॉइंट का उपयोग चरण में या चरणबद्ध करें और कोड के माध्यम से चलें। यदि आपके पास एकाधिक धागे हैं तो यह दर्द हो सकता है क्योंकि डीबगर एक थ्रेड से दूसरे धागे तक कूदता है। यदि आप केवल एक धागे को डीबग करना चाहते हैं तो थ्रेड विंडो (डीबग/विंडोज/थ्रेड्स) पर जाएं, वर्तमान (येलो तीर) ढूंढें और अन्य सभी धागे को फ्रीज करें।

1

फ़ाइल को सहेजने या डाउनलोड करने में त्रुटि हुई थी, लेकिन आप इसकी जांच नहीं कर रहे हैं।

कोड: अगर पूर्ववर्ती taks में त्रुटि है

.ContinueWith(t => Console.WriteLine("Completed download."))); 

जांच होनी चाहिए। तो यह डाउनलोड विफल भले ही सफल होगा

.ContinueWith(t => 
       { 
       if(t.Exception != null) 
       { 
        // log error 
       } 
       else 
       { 
        Console.WriteLine("Completed download."))); 
       }); 

बाहरी कार्य सूची में जोड़ निरंतरता के पूरा होने का प्रतिनिधित्व करता है।

+0

यह प्रोग्राम की समस्या के समाधान की तरह दिखता है। सवाल यह है कि इसे कैसे डिबग करना है। –

+0

इसमें एक अपवाद है। धन्यवाद! –

संबंधित मुद्दे