Sdílet prostřednictvím


informace o ladicím programu Transact-SQL

platí pro:SQL Server

Pokaždé, když ladicí program pozastaví provádění u konkrétního příkazu Transact-SQL, můžete k zobrazení aktuálního stavu spuštění použít různá okna ladicího programu.

Okna ladicího programu

V režimu ladicího programu ladicí program otevře okna vedle okna Editoru dotazů. Ladicí program zobrazí informace v určených oknech. Každé okno ladicího programu obsahuje karty, které můžete vybrat, abyste mohli určit, která sada informací se zobrazí v okně. Zásobník volání, Breakpoints, Nastavení výjimek a Výstup záložky jsou obsaženy v jednom okně. Karty Watch1, Watch2, Watch3 a Watch4 jsou obsaženy v jednom okně. Okno Vlákna a Místní proměnné se zobrazují samostatně.

Poznámka:

Předchozí popisy platí pro výchozí umístění oken ladicího programu. Kartu můžete přetáhnout, abyste ji přesunuli z jednoho okna do jiného, nebo můžete oddělit kartu a vytvořit tak nové okno pro vybrané karty.

Ve výchozím nastavení nejsou všechny tyto karty nebo okna aktivní. Pokud chcete otevřít určité okno, v nabídce Ladění vyberte Windows a pak vyberte okno, které chcete zobrazit.

výrazy Transact-SQL

Výrazy jsou Transact-SQL klauzule, které se vyhodnocují jako jedna skalární hodnota, jako jsou proměnné nebo parametry. Okno ladicího programu může zobrazit datové hodnoty, které jsou aktuálně přiřazeny k výrazům, až v pěti kartách nebo oknech: Locals, Watch1, Watch2, Watch3 a Watch4.

V okně Locals se zobrazí informace o místních proměnných v aktuálním oboru ladicího programu Transact-SQL. Sada výrazů, které jsou uvedeny v okně Locals se mění, když ladicí program prochází různými částmi kódu.

Výrazy ve čtyřech oknech Kukátku se neomezují jenom na výpis identifikátoru proměnné. Můžete zadat výraz Transact-SQL, který se vyhodnotí jako jedna hodnota, například přidání čísla do proměnné nebo SELECT příkazu, který se vyhodnotí jako jedna hodnota. Mezi příklady patří:

  • Název proměnné, například @IntegerCounter.

  • Aritmetická operace proměnné, například @IntegerCounter + 1.

  • Operace řetězce se dvěma znakovými proměnnými, například @FirstName + @LastName.

  • Příkaz SELECT , který vrátí jednu hodnotu, například: SELECT CharCol FROM MyTable WHERE PrimaryKey = 1.

Čtyři okna Kukátku zobrazují informace o vybraných proměnných a výrazech. Sada výrazů uvedených v oknech sledování se nezmění, dokud nepřidáte nebo neodstraníte nějaké výrazy ze seznamu.

Pokud chcete přidat výraz do okna Kukátko , zadejte název výrazu do sloupce Název prázdného řádku v okně Kukátko . Můžete také vybrat QuickWatch z nabídky Ladění, zadat výraz a pak vybrat Přidat sledování.

Datové hodnoty proměnných v oknech Locals, Watch nebo QuickWatch můžete nastavit tak, že kliknete pravým tlačítkem myši na řádek a pak vyberete Upravit hodnotu. Sloupce Hodnota v okně Místní hodnoty, okno Kukátko a QuickWatch dialogové okno podporují text, XML a vizualizéry dat HTML. Na pravé straně sloupce Hodnoty jsou vizualizéry reprezentovány datovým tipem lupy. Vizualizéry můžete použít k zobrazení textových, XML nebo HTML datových hodnot na displejích, které odpovídají datovým typům, například zobrazení souborů XML v okně prohlížeče.

Když v režimu ladění přesunete ukazatel myši na identifikátor, zobrazí se automaticky otevírané okno Rychlé informace s názvem výrazu a jeho aktuální hodnotou. Další informace najdete v tématu Rychlé informace (IntelliSense).

Breakpoints

K zobrazení a správě zarážek můžete použít okno Zarážky . Další informace najdete v oddílu Procházet Transact-SQL kód.

Zásobníky volání

V okně Zásobník volání se zobrazí aktuální umístění spuštění a informace o tom, jak se provádění přesunulo z původního okna editoru přes libovolný z modulů Transact-SQL (funkce, uložené procedury nebo triggery) k dosažení aktuálního místa spuštění. Každý řádek v okně Zásobník volání se nazývá rámec zásobníku a vyjadřuje jednu z následujících položek:

  • Aktuální umístění provádění.
  • Volání z jednoho modulu do druhého.
  • Volání z okna editoru do modulu Transact-SQL

Pořadí zásobníku je opačné než pořadí, ve kterém byly moduly volány. Aktuální umístění spuštění je v horní části zásobníku a původní volání v dolní části. Žlutá šipka na levém okraji rámce zásobníku identifikuje rámec, ve kterém ladicí program pozastavil provádění.

Sloupec Název zaznamenává následující informace:

  • Zdrojový modul, který obsahuje řádek kódu, který volal na další úroveň.

  • Řádek kódu, který volal další modul v zásobníku volání.

  • Názvy, datové typy a hodnoty všech parametrů jsou uvedeny, pokud volání přešlo do uložené procedury nebo funkce, která přebírá parametry.

Výrazy v oknech Místní, Sledování a QuickWatch se vyhodnocují pro aktuální rámec zásobníku. Ve výchozím nastavení je aktuální rámec zásobníku horním rámcem v zásobníku, kde ladicí program pozastavil provádění. Když jako aktuální rámec zadáte jiný rámec zásobníku, výrazy v oknech Locals, Watch a QuickWatch se znovu vyhodnocují pro nový rámec zásobníku. Aktuální rámeček zásobníku můžete změnit tak, že na něj dvakrát kliknete nebo vyberete rámeček a zvolíte Přepnout na rámeček. V tomto okamžiku se výrazy v oknech Locals, Watch a QuickWatch znovu vyhodnocují pro nový rámec. Vždy, když aktuální rámec zásobníku není horním rámcem zásobníku, zelená šipka na levém okraji rámce zásobníku identifikuje aktuální rámec zásobníku.

Když kliknete pravým tlačítkem myši na rámec zásobníku a vyberete Přejít na zdrojový kód, zobrazí se kód pro tento rámec v okně Editoru dotazů. Daný rámec však není nastaven jako aktuální rámec, a obsah oken Locals, Watch a QuickWatch se nezmění.

Systémové informace a výsledky Transact-SQL

Ladicí program zobrazí seznam zpráv o stavu a událostech v okně Výstup . Okno obsahuje informace, jako je například připojení ladicího programu k jiným procesům nebo ukončení vláken ladicího programu.

V režimu ladění jsou karty Výsledky a Zprávy stále aktivní v Editoru dotazů. Na kartě Výsledky se nadále zobrazují sady výsledků z příkazů Transact-SQL, které se spouštějí v průběhu ladicí relace. cs-CZ: Karta Zprávy nadále zobrazuje systémové zprávy, například počet ovlivněných řádků a výstup PRINT a RAISERROR příkazů.