Bagikan melalui


Informasi debugger Transact-SQL

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.

Jendela debugger

Dalam mode debugger, debugger membuka jendela di samping jendela Editor Kueri. Debugger menampilkan informasinya di jendela terpilih. Setiap jendela debugger memiliki tab yang dapat Anda pilih untuk mengontrol kumpulan informasi mana yang ditampilkan di jendela. Tab Tumpukan Panggilan, Titik Henti, Pengaturan Pengecualian, dan Output terkandung dalam satu jendela. Tab Watch1, Watch2, Watch3, dan Watch4 terdapat dalam satu jendela. Jendela Utas dan Lokal ditampilkan secara terpisah.

Catatan

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

Secara default, tidak semua tab atau jendela ini aktif. Untuk membuka jendela tertentu, pada menu Debug , pilih Windows, lalu pilih jendela yang ingin Anda lihat.

Ekspresi T-SQL

Ekspresi adalah klausul Transact-SQL yang mengevaluasi ke satu nilai skalar, seperti variabel atau parameter. Jendela debugger dapat menampilkan nilai data yang saat ini ditetapkan ke ekspresi di 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 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. Contohnya 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.

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

Untuk menambahkan ekspresi ke jendela Watch , masukkan nama ekspresi di kolom Nama baris kosong di jendela Watch . Anda juga dapat memilih QuickWatch dari menu Debug , masukkan ekspresi, lalu pilih Tambahkan 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 visualisasi data teks, XML, dan HTML. Visualizer diwakili oleh tip data kaca pembesar di ujung kanan kolom Nilai . Anda dapat menggunakan visualizer untuk melihat 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. Untuk informasi selengkapnya, lihat Melangkah Melalui Kode Transact-SQL.

Tumpukan panggilan

Jendela Call Stack menampilkan lokasi eksekusi saat ini, dan informasi tentang bagaimana eksekusi diteruskan dari jendela editor asli melalui modul Transact-SQL (fungsi, prosedur tersimpan, atau pemicu) untuk mencapai lokasi eksekusi saat ini. Setiap baris di jendela Call Stack 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 urutan 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 dijeda eksekusi.

Kolom Nama merekam informasi berikut:

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

  • Baris kode yang memanggil modul berikutnya pada tumpukan.

  • Nama, jenis data, dan nilai semua parameter dicantumkan jika panggilan masuk ke prosedur atau fungsi tersimpan yang mengambil parameter.

Ekspresi di jendela Lokal dan Watch, dan QuickWatch dievaluasi untuk bingkai tumpukan saat ini. Secara default, bingkai tumpukan saat ini adalah bingkai atas dalam tumpukan, di mana debugger dijeda eksekusi. Saat Anda menentukan bingkai tumpukan lain sebagai bingkai saat ini, ekspresi di jendela Lokal, Watch, dan QuickWatch dievaluasi ulang untuk bingkai tumpukan baru. Anda dapat mengubah bingkai tumpukan saat ini dengan mengeklik dua kali bingkai atau mengklik bingkai dan memilih Beralih Ke Bingkai. Pada saat itu, ekspresi di jendela Locals, Watch, dan QuickWatch dievaluasi ulang untuk bingkai baru. Setiap kali bingkai tumpukan saat ini bukan bingkai atas dalam tumpukan, panah hijau di 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 Locals, Watch, dan QuickWatch tidak diubah.

Informasi sistem dan hasil T-SQL

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

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