Fout opsporing voor door de gebruiker gedefinieerde C#-code voor mislukte U-SQL-taken
U-SQL biedt een uitbreidings model met C#. In U-SQL-scripts is het eenvoudig om C#-functies aan te roepen en analyse functies uit te voeren die SQL-achtige declaratieve taal niet ondersteunt. Zie voor meer informatie over de U-SQL-uitbrei ding u-SQL-programmeer gids.
In de praktijk is het mogelijk dat alle code fouten opsporen, maar het is lastig om een gedistribueerde taak met aangepaste code in de cloud te debuggen met beperkte logboek bestanden. Azure data Lake-Hulpprogram ma's voor Visual Studio biedt een functie met de naam fout: vertex debug, waarmee u de fouten die zich in uw aangepaste code kunnen voordoen, gemakkelijker kunt opsporen. Wanneer U-SQL-taak mislukt, wordt de fout status door de service gehandhaafd en helpt u bij het downloaden van de Cloud fout omgeving naar de lokale computer voor fout opsporing. De lokale down load legt de gehele cloud omgeving vast, inclusief alle invoer gegevens en gebruikers code.
In de volgende video ziet u mislukte vertex fout opsporing in Azure Data Lake-Hulpprogram Ma's voor Visual Studio.
Belangrijk
Voor Visual Studio zijn de volgende twee updates vereist voor het gebruik van deze functie: micro soft Visual C++ 2015 Redistributable update 3 en de Universal C runtime voor Windows.
Defecte vertex naar lokale machine downloaden
Wanneer u een mislukte taak in Azure Data Lake-Hulpprogram Ma's voor Visual Studio opent, ziet u een gele waarschuwings balk met gedetailleerde fout berichten op het tabblad fout.
Klik op downloaden om alle vereiste resources en invoer stromen te downloaden. Als het downloaden niet is voltooid, klikt u op opnieuw.
Klik op openen nadat het downloaden is voltooid om een lokale debugging omgeving te genereren. Er wordt een nieuwe oplossing voor fout opsporing geopend, en als u een bestaande oplossing hebt geopend in Visual Studio, moet u ervoor zorgen dat u deze opslaat en sluit voordat u fouten opspoort.

De omgeving voor fout opsporing configureren
Notitie
Controleer voordat u fouten opspoort of de runtime-uitzonde ringen common language in het venster uitzonderings instellingen (CTRL + ALT + E).

In het nieuwe gestarte exemplaar van Visual Studio is het mogelijk dat u de door de gebruiker gedefinieerde C#-bron code niet kunt vinden:
De bron code is opgenomen in de oplossing voor fout opsporing
Er zijn twee gevallen waarin de C#-bron code is vastgelegd:
De gebruikers code wordt gedefinieerd in het code-behind-bestand (meestal genoemd
Script.usql.csin een U-SQL-project).De gebruikers code is gedefinieerd in het C#-klassen bibliotheek project voor de U-SQL-toepassing en is geregistreerd als assembly met fout opsporingsgegevens.
Als de bron code naar de oplossing wordt geïmporteerd, kunt u de Visual Studio-probleemoplossings programma's (Watch, variabelen, enzovoort) gebruiken om het probleem op te lossen:
Druk op F5 om de foutopsporing te starten. De code wordt uitgevoerd totdat deze door een uitzonde ring wordt gestopt.
Open het bron code bestand en stel onderbrekings punten in en druk vervolgens op F5 om de code stap voor stap fouten op te sporen.

De bron code is niet opgenomen in de oplossing voor fout opsporing
Als de gebruikers code niet is opgenomen in het code-behind-bestand of als u de assembly niet hebt geregistreerd met fout opsporingsgegevens, wordt de bron code niet automatisch opgenomen in de oplossing voor fout opsporing. In dit geval hebt u extra stappen nodig om uw bron code toe te voegen:
Klik met de rechter muisknop op oplossing ' VertexDebug ' > voeg > bestaande project toe... om de assembly bron code te vinden en het project toe te voegen aan de oplossing voor fout opsporing.

Haal het pad naar de projectmap op voor FailedVertexDebugHost -project.
Right-Click het toegevoegde assemblage broncode project > eigenschappen, selecteer het tabblad samen stellen links en plak het gekopieerde pad dat eindigt op \bin\debug als uitvoer > pad voor uitvoer. Het laatste uitvoer traject is als volgt
<DataLakeTemp path>\fd91dd21-776e-4729-a78b-81ad85a4fba6\loiu0t1y.mfo\FailedVertexDebug\FailedVertexDebugHost\bin\Debug\.
Na deze instellingen start u fout opsporing met F5 en onderbrekings punten. U kunt ook de Visual Studio-hulpprogram ma's voor fout opsporing (Watch, variabelen, enzovoort) gebruiken om het probleem op te lossen.
Notitie
Bouw het project van de assembly-bron code opnieuw op telkens nadat u de code hebt gewijzigd om bijgewerkte. PDB-bestanden te genereren.
De taak opnieuw verzenden
Wanneer de fout opsporing is voltooid, wordt het volgende bericht weer gegeven in het uitvoer venster:
The Program 'LocalVertexHost.exe' has exited with code 0 (0x0).

De mislukte taak opnieuw verzenden:
Voor taken met code-behind oplossingen kopieert u de C#-code naar het bron bestand dat achter de code ligt (meestal
Script.usql.cs).Voor taken met assembly's klikt u met de rechter muisknop op het assemblage broncode project in de oplossing voor fout opsporing en registreert u de bijgewerkte dll-assembly's in uw Azure Data Lake catalogus.
Verzend de U-SQL-taak opnieuw.
Volgende stappen
- Handleiding voor programmeren met U-SQL
- Door de gebruiker gedefinieerde U-SQL-Opera tors ontwikkelen voor Azure Data Lake Analytics-taken
- U-SQL-taken testen en controleren op fouten met behulp van lokale uitvoering en de Azure Data Lake U-SQL-SDK
- Problemen oplossen met een abnormale terugkerende taak