Felsök användardefinierad C#-kod för misslyckade U-SQL-jobb
U-SQL tillhandahåller en utöknings modell som använder C#. I U-SQL-skript är det enkelt att anropa C#-funktioner och utföra analys funktioner som SQL-liknande deklarativ språk inte stöder. Mer information om hur du utökningen av U-SQL finns i programmerings guide för u-SQL.
I praktiken kan all kod behöva fel sökning, men det är svårt att felsöka ett distribuerat jobb med anpassad kod i molnet med begränsade loggfiler. Azure Data Lake Tools för Visual Studio innehåller en funktion som kallas fel söknings fel hörn, som hjälper dig att enkelt Felsöka fel som uppstår i din anpassade kod. När U-SQL-jobbet Miss lyckas, behåller tjänsten fel tillstånd och verktyget hjälper dig att ladda ned moln fel miljön till den lokala datorn för fel sökning. Den lokala hämtningen fångar hela moln miljön, inklusive indata och användar kod.
Följande video visar felaktig fel sökning av hörn i Azure Data Lake verktyg för Visual Studio.
Viktigt
Visual Studio kräver följande två uppdateringar för att använda den här funktionen: Microsoft Visual C++ 2015 Redistributable Update 3 och Universal C runtime för Windows.
Ladda ned misslyckad hörn till lokal dator
När du öppnar ett misslyckat jobb i Azure Data Lake verktyg för Visual Studio visas ett gult aviserings fält med detaljerade fel meddelanden på fliken fel.
Klicka på Ladda ned för att ladda ned alla nödvändiga resurser och indata strömmar. Om hämtningen inte är klar klickar du på försök igen.
Klicka på Öppna när hämtningen är klar för att generera en lokal fel söknings miljö. En ny fel söknings lösning öppnas, och om du har en befintlig lösning som öppnats i Visual Studio, måste du spara och stänga den innan du felsöker.

Konfigurera fel söknings miljön
Anteckning
Innan du felsöker måste du kontrol lera vanliga språk körnings undantag i fönstret undantags inställningar (CTRL + ALT + E).

I den nya startade Visual Studio-instansen kan du kanske inte hitta den användardefinierade C#-käll koden:
Käll koden ingår i fel söknings lösningen
Det finns två fall där C#-käll koden fångas:
Användar koden definieras i filen bakomliggande kod (kallas vanligt vis
Script.usql.csi ett U-SQL-projekt).Användar koden definieras i C#-klass biblioteks projekt för U-SQL-program och registreras som sammansättning med felsöknings information.
Om käll koden importeras till lösningen kan du använda Visual Studios fel söknings verktyg (se, variabler osv.) för att felsöka problemet:
Starta felsökningen genom att trycka på F5. Koden körs tills den stoppas av ett undantag.
Öppna käll kods filen och ange Bryt punkter och tryck sedan på F5 för att felsöka koden steg för steg.

Käll koden ingår inte i fel söknings lösningen
Om användar koden inte ingår i filen med bakomliggande kod eller om du inte registrerade sammansättningen med fel söknings information, inkluderas inte käll koden automatiskt i fel söknings lösningen. I det här fallet behöver du ytterligare steg för att lägga till din Källkod:
Högerklicka på lösning "VertexDebug" > Lägg till > befintligt projekt... för att hitta sammansättnings käll koden och lägga till projektet i fel söknings lösningen.

Hämta sökvägen till projektmappen för FailedVertexDebugHost -projektet.
Right-Click det tillagda käll kods projektet för sammansättningen > egenskaper, Välj fliken Bygg till vänster och klistra in den kopierade sökvägen som slutar med \Bin\Debug som utdata > sökvägen för utdata. Den slutgiltiga sökvägen till utdata fungerar som
<DataLakeTemp path>\fd91dd21-776e-4729-a78b-81ad85a4fba6\loiu0t1y.mfo\FailedVertexDebug\FailedVertexDebugHost\bin\Debug\.
Börja felsöka med F5 och Bryt punkter efter dessa inställningar. Du kan också använda Visual Studios fel söknings verktyg (se, variabler osv.) för att felsöka problemet.
Anteckning
Återskapa paketets käll kods projekt varje tillfälle när du har ändrat koden för att generera uppdaterade. PDB-filer.
Skicka jobbet igen
Efter fel sökningen visas följande meddelande om projektet har slutförts:
The Program 'LocalVertexHost.exe' has exited with code 0 (0x0).

Så här skickar du om det misslyckade jobbet:
För jobb med bakomliggande lösningar kopierar du C#-koden till käll filen för bakomliggande kod (vanligt vis
Script.usql.cs).För jobb med sammansättningar högerklickar du på käll kods projektet för sammansättningen i fel söknings lösning och registrerar de uppdaterade. dll-sammansättningarna i Azure Data Lake katalogen.
Skicka U-SQL-jobbet igen.