Transact-SQL Debugger - Informasi

Berlaku untuk:SQL Server

Setiap kali debugger menjeda eksekusi pada pernyataan Transact-SQL tertentu, Anda dapat menggunakan berbagai jendela debugger untuk melihat status eksekusi saat ini.

Fitur ini berfungsi dengan SSMS versi 17.9.1 dan yang lebih lama.

Jendela debugger

Dalam mode debugger, debugger membuka dua jendela di bagian bawah jendela SQL Server Management Studio utama. Debugger menampilkan semua informasinya di dua jendela ini. Setiap jendela debugger memiliki tab yang dapat Anda pilih untuk mengontrol kumpulan informasi mana yang ditampilkan di jendela. Jendela debugger kiri berisi tab Lokal, Watch1, Watch2, Watch3, dan Watch4 . Jendela debugger kanan berisi tab Call Stack, Threads, Breakpoints, Command Window, dan Output .

Catatan

Deskripsi sebelumnya berlaku untuk lokasi default jendela debugger. Anda dapat menyeret tab untuk memindahkannya dari satu jendela ke jendela lain, atau Anda dapat melepas tab untuk membuat jendela baru yang bisa Anda letakkan di mana pun Anda inginkan.

Secara default, tidak semua tab atau jendela ini aktif. Anda dapat membuka jendela tertentu dengan menggunakan salah satu cara berikut:

  • Pada menu Debug , klik Windows, lalu pilih jendela yang Anda inginkan.

  • Pada toolbar Debug , klik Titik Henti, lalu pilih jendela yang Anda inginkan.

Ekspresi Transact-SQL

Ekspresi adalah klausa Transact-SQL yang mengevaluasi ke satu nilai skalar, seperti variabel atau parameter. Jendela debugger kiri dapat menampilkan nilai data yang saat ini ditetapkan ke ekspresi dalam hingga lima tab atau jendela: Lokal, Watch1, Watch2, Watch3, dan Watch4.

Jendela Lokal menampilkan informasi tentang variabel lokal dalam cakupan debugger Transact-SQL saat ini. Kumpulan ekspresi yang tercantum di jendela Lokal berubah saat debugger berjalan melalui berbagai bagian kode.

Ekspresi di QuickWatch dan empat jendela Watch tidak terbatas hanya untuk mencantumkan pengidentifikasi variabel. Anda dapat menentukan ekspresi Transact-SQL yang mengevaluasi ke satu nilai, seperti menambahkan angka ke variabel, atau pernyataan SELECT yang mengevaluasi ke satu nilai. Contoh meliputi:

  • Nama variabel, seperti @IntegerCounter.

  • Operasi aritmatika pada variabel, seperti @IntegerCounter + 1.

  • Operasi string pada dua variabel karakter, seperti @FirstName + @LastName.

  • Pernyataan SELECT yang mengembalikan satu nilai, seperti SELECT CharCol FROM MyTable WHERE PrimaryKey = 1.

Anda dapat menggunakan jendela QuickWatch untuk melihat nilai ekspresi Transact-SQL, lalu menyimpan ekspresi tersebut ke jendela Watch . Untuk memilih ekspresi di QuickWatch, pilih atau masukkan nama ekspresi dalam kotak Ekspresi .

Empat jendela Watch menampilkan informasi tentang variabel dan ekspresi yang telah Anda pilih. Kumpulan ekspresi yang tercantum di jendela Watch tidak berubah hingga Anda menambahkan atau menghapus ekspresi dari daftar.

Untuk menambahkan ekspresi ke jendela Watch , Anda dapat memilih Tambahkan Watch di kotak dialog QuickWatch , atau memasukkan nama ekspresi di kolom Nama baris kosong di jendela Watch .

Anda dapat mengatur nilai data untuk variabel di jendela Lokal, Watch, atau QuickWatch dengan mengklik kanan baris lalu memilih Edit Nilai. Kolom Nilai di jendela Lokal , jendela Pengawasan , dan kotak dialog QuickWatch semua mendukung teks, XML, dan visualizer data HTML. Visualizer diwakili oleh tip data kaca pembesar di ujung kanan kolom Nilai . Anda bisa menggunakan visualizer untuk menampilkan teks, XML, atau nilai data HTML dalam tampilan yang cocok dengan jenis data, misalnya, menampilkan file XML di jendela browser.

Dalam mode debug, saat Anda memindahkan penunjuk mouse ke pengidentifikasi, pop up Info Cepat ditampilkan dengan nama ekspresi dan nilainya saat ini. Untuk informasi selengkapnya, lihat Info Cepat (IntelliSense).

Titik Henti

Anda dapat menggunakan jendela Titik Henti untuk melihat dan mengelola titik henti yang saat ini ditetapkan. Untuk informasi selengkapnya, lihat Melangkah Melalui Kode Transact-SQL.

Tumpukan Panggilan

Jendela Tumpukan Panggilan menampilkan lokasi eksekusi saat ini, dan informasi tentang bagaimana eksekusi diteruskan dari jendela editor asli melalui modul Transact-SQL apa pun (fungsi, prosedur tersimpan, atau pemicu) untuk mencapai lokasi eksekusi saat ini. Setiap baris di jendela Tumpukan Panggilan disebut bingkai tumpukan dan mewakili salah satu item berikut:

  • Lokasi eksekusi saat ini.

  • Panggilan dari satu modul ke modul lainnya.

  • Panggilan dari jendela editor ke modul Transact-SQL.

Urutan tumpukan adalah kebalikan dari di mana modul dipanggil. Lokasi eksekusi saat ini berada di bagian atas tumpukan dan panggilan asli di bagian bawah. Panah kuning di margin kiri bingkai tumpukan mengidentifikasi bingkai tempat debugger menjeda eksekusi.

Kolom Nama merekam informasi berikut ini:

  • Modul sumber yang berisi baris kode yang dipanggil ke tingkat berikutnya.

  • Baris kode yang memanggil modul berikutnya pada tumpukan.

  • Jika panggilan masuk ke prosedur atau fungsi tersimpan yang mengambil parameter, nama, jenis data, dan nilai semua parameter juga dicantumkan.

Ekspresi di jendela Lokal, Watch, dan QuickWatch dievaluasi untuk bingkai tumpukan saat ini. Secara default, bingkai tumpukan saat ini adalah bingkai atas dalam tumpukan, di mana debugger menjeda eksekusi. Saat Anda menentukan bingkai tumpukan lain sebagai bingkai saat ini, ekspresi di jendela Lokal, Pengawasan, dan QuickWatch dievaluasi kembali untuk bingkai tumpukan baru. Anda dapat mengubah bingkai tumpukan saat ini dengan mengklik dua kali bingkai atau mengklik bingkai dan memilih Beralih Ke Bingkai. Pada saat itu, ekspresi di jendela Lokal, Watch, dan QuickWatch dievaluasi ulang untuk bingkai baru. Setiap kali bingkai tumpukan saat ini bukan bingkai atas dalam tumpukan, panah hijau pada margin kiri bingkai tumpukan mengidentifikasi bingkai tumpukan saat ini.

Saat Anda mengklik kanan bingkai tumpukan dan memilih Buka Kode Sumber, kode untuk bingkai tersebut ditampilkan di jendela Editor Kueri. Namun, bingkai tersebut tidak dibuat sebagai bingkai saat ini, dan konten jendela Lokal, Watch, dan QuickWatch tidak diubah.

Informasi Sistem dan Hasil Transact-SQL

Debugger mencantumkan status dan pesan peristiwanya di jendela Output . Ini termasuk informasi seperti ketika debugger dilampirkan ke proses lain atau saat utas debugger berakhir.

Saat dalam mode debug, tab Hasil dan Pesan masih aktif di Editor Kueri. Tab Hasil terus menampilkan tataan hasil dari pernyataan Transact-SQL yang dijalankan selama sesi penelusuran kesalahan. Tab Pesan terus menampilkan pesan sistem, seperti Baris xx yang Terpengaruh dan output pernyataan PRINT dan RAISERROR.

Lihat juga

Jendela Lokal
Jendela Pengawas
Jendela Titik Henti
Jendela Tumpukan Panggilan
Jendela Utas
Jendela output
Debugger Transact-SQL