Wie kann ich Async-Code debuggen?

8

Ich habe versucht, eine einfache App zu erstellen, die eine Liste von Youtube-URLs aufnehmen und sie als MP3s in einen bestimmten Ordner herunterladen kann. Es wird jedoch nicht die Dateien heruntergeladen. (Ich war in dieser Zeit in Ordnung, aber ich denke, der Mangel an Übung im Sommer hat es ruiniert)

Zunächst einmal der Code: Ссылка (Ich weiß, es ist nicht genau minimal, aber es ist sowieso ziemlich klein und ich ' Ich bin mir nicht sicher, wo das Problem liegt)

Also, was passiert, ist, dass etwas ausgegeben wird, etwa:

%Vor%

(das Video ist nur das kürzeste Video, das ich einfach gefunden habe) und die Datei wurde als "Video Title" .mp3 am Pfad heruntergeladen.

Was passiert ist das jedoch:

%Vor%

und die Datei befindet sich nicht im Pfad.

Ich habe das Gefühl, dass dies auf etwas von meiner asynchronen Programmierung zurückzuführen ist. Ich bin mir jedoch nicht sicher, wie ich das debuggen soll, da ich nicht weiß, mit welchen Tools ich durchgehen und sehen kann, wo ich falsch gelaufen bin, und dann korrigiere. Würde der VS Community Debugger mich diesen Code gut debuggen lassen? Danke!

    
It'sNotALie. 08.09.2015, 11:11
quelle

2 Antworten

8

Kopie des Kommentars, weil das die Antwort auf die Frage ist (nicht die Codeproblemlösung):

Sie können es wie normalen Code debuggen. Legen Sie einen Haltepunkt für den Haltepunkt fest oder gehen Sie den Code durch. Wenn Sie mehrere Threads haben, kann es ein Problem sein, da der Debugger von einem Thread zum anderen springt. Wenn Sie nur einen Thread debuggen möchten, gehen Sie zum Thread-Fenster (debug / windows / threads), suchen Sie den aktuellen (yellow Pfeil) und frieren Sie alle anderen Threads ein.

    
Vera rind 08.09.2015, 11:32
quelle
1

Beim Speichern oder Herunterladen der Datei ist wahrscheinlich ein Fehler aufgetreten. Sie werden jedoch nicht danach suchen.

Der Code:

%Vor%

sollte überprüfen, ob die Vorgängeraufgabe einen Fehler aufweist.

%Vor%

Die externe Aufgabe, die der Liste hinzugefügt wurde, stellt den Abschluss der Fortsetzung dar, so dass sie erfolgreich ist, auch wenn der Download fehlgeschlagen ist.

    
Ned Stoyanov 08.09.2015 11:22
quelle