Ladit uživatelsky definovaný kód C# pro nezdařené úlohy U-SQL
U-SQL poskytuje rozšiřitelný model pomocí C#. Ve skriptech U-SQL je snadné volat funkce jazyka C# a provádět analytické funkce, které jazyk SQL podobně jako deklarativní jazyk nepodporuje. Další informace o rozšiřitelnosti U-SQL najdete v tématu Příručka k programovatelnosti u-SQL.
V praxi může nějaký kód vyžadovat ladění, ale je těžké ladit distribuovanou úlohu s vlastním kódem v cloudu s použitím omezených souborů protokolu. Nástroje Azure Data Lake pro Visual Studio poskytuje funkci s názvem ladění neúspěšných vrcholů, která vám pomůže snadněji ladit selhání, ke kterým dochází ve vašem vlastním kódu. Pokud úloha U-SQL selže, služba udržuje stav selhání a nástroj vám pomůže stáhnout prostředí selhání cloudu do místního počítače pro ladění. Místní stahování zachytí celé cloudové prostředí včetně všech vstupních dat a uživatelského kódu.
Následující video ukazuje neúspěšný ladění vrcholu v Nástroje Azure Data Lake pro Visual Studio.
Důležité
Pro použití této funkce vyžaduje Visual Studio následující dvě aktualizace: Microsoft Visual C++ 2015 Distribuovatelný Update 3 a Universal C Runtime pro Windows.
Nepovedlo se stáhnout vrchol do místního počítače.
Když v Nástroje Azure Data Lake pro Visual Studio otevřete úlohu, která selhala, zobrazí se žlutý výstražný pruh s podrobnými chybovými zprávami na kartě chyba.
Kliknutím na Stáhnout stáhněte všechny požadované prostředky a vstupní streamy. Pokud stahování nedokončíte, klikněte na tlačítko Opakovat.
Po dokončení stahování klikněte na otevřít a vygenerujte místní ladicí prostředí. Otevře se nové řešení pro ladění. Pokud už máte otevřené řešení v aplikaci Visual Studio, nezapomeňte ho před laděním Uložit a zavřít.

Konfigurace ladicího prostředí
Poznámka
Před laděním nezapomeňte zkontrolovat výjimky modulu CLR (Common Language Runtime ) v okně Nastavení výjimek (CTRL + ALT + E).

V nově spuštěné instanci sady Visual Studio můžete nebo nemůžete najít zdrojový kód C# definovaný uživatelem:
Zdrojový kód je zahrnutý v řešení ladění.
Existují dva případy, kdy je zaznamenán zdrojový kód C#:
Uživatelský kód je definovaný v souboru kódu na pozadí (obvykle se jmenuje
Script.usql.csv projektu U-SQL).Uživatelský kód je definován v projektu knihovny tříd jazyka C# pro aplikaci U-SQL a registrovaný jako sestavení s informacemi o ladění.
Pokud je zdrojový kód importován do řešení, můžete k řešení problému použít ladicí nástroje sady Visual Studio (kukátko, proměnné atd.):
Stisknutím klávesy F5 spusťte ladění. Kód se spustí, dokud jej nezastaví výjimka.
Otevřete soubor zdrojového kódu a nastavte zarážky a potom stisknutím klávesy F5 ladit kód krok za krokem.

Zdrojový kód není zahrnutý v řešení ladění.
Pokud kód uživatele není zahrnutý v souboru kódu na pozadí nebo jste nezaregistrovali sestavení s informacemi o ladění, není zdrojový kód automaticky zahrnut do řešení ladění. V takovém případě budete potřebovat dodatečné kroky pro přidání zdrojového kódu:
Klikněte pravým tlačítkem na řešení ' VertexDebug ' > přidat > existující projekt... pro vyhledání zdrojového kódu sestavení a přidání projektu do řešení ladění.

Získejte cestu ke složce projektu pro projekt FailedVertexDebugHost .
Right-Click přidaných projektů zdrojového kódu sestavení > vlastnosti vyberte kartu sestavení vlevo a vložte zkopírovanou cestu končící na \bin\debug jako výstupní cestu > výstupní cesta. Poslední výstupní cesta je jako
<DataLakeTemp path>\fd91dd21-776e-4729-a78b-81ad85a4fba6\loiu0t1y.mfo\FailedVertexDebug\FailedVertexDebugHost\bin\Debug\.
Po těchto nastaveních spusťte ladění pomocí F5 a zarážek. K řešení problému můžete také použít ladicí nástroje sady Visual Studio (kukátko, proměnné atd.).
Poznámka
Sestavte projekt zdrojového kódu sestavení pokaždé, když upravíte kód pro generování aktualizovaných souborů. pdb.
Odešlete úlohu znovu.
Po ladění, pokud se projekt úspěšně dokončí, zobrazí se v okně výstup následující zpráva:
The Program 'LocalVertexHost.exe' has exited with code 0 (0x0).

Opětovné odeslání neúspěšné úlohy:
Pro úlohy s řešeními s kódem na pozadí zkopírujte kód jazyka C# do zdrojového souboru kódu na pozadí (obvykle
Script.usql.cs).Pro úlohy se sestavením klikněte pravým tlačítkem na projekt zdrojového kódu sestavení v řešení ladění a zaregistrujte aktualizované sestavení. dll do katalogu Azure Data Lake.
Znovu odešlete úlohu U-SQL.