sx, sxd, sxe, sxi, sxn, sxr, sx- (Atur Pengecualian)

Perintah sx mengontrol tindakan yang diambil debugger ketika pengecualian terjadi dalam aplikasi yang sedang di-debug, atau ketika peristiwa tertentu terjadi.

sx

sx{e|d|i|n} [-c "Cmd1"] [-c2 "Cmd2"] [-h] {Exception|Event|*}

sx- [-c "Cmd1"] [-c2 "Cmd2"] {Exception|Event|*}

sxr

Parameter

-c "Cmd1"
Menentukan perintah yang dijalankan jika pengecualian atau peristiwa terjadi. Perintah ini dijalankan ketika kesempatan pertama untuk menangani pengecualian ini terjadi, terlepas dari apakah pengecualian ini masuk ke debugger. Anda harus mengapit string Cmd1 dalam tanda kutip. String ini dapat menyertakan beberapa perintah jika Anda memisahkannya dengan titik koma. Ruang antara -c dan string perintah yang dikutip bersifat opsional.

-c2"Cmd2"
Menentukan perintah yang dijalankan jika pengecualian atau peristiwa terjadi dan tidak ditangani pada kesempatan pertama. Perintah ini dijalankan ketika kesempatan kedua untuk menangani pengecualian ini terjadi, terlepas dari apakah pengecualian ini masuk ke debugger. Anda harus mengapit string Cmd2 dalam tanda kutip. String ini dapat menyertakan beberapa perintah jika Anda memisahkannya dengan titik koma. Ruang antara -c2 dan string perintah yang dikutip bersifat opsional.

-jam
Mengubah status penanganan peristiwa yang ditentukan alih-alih status jedanya. Jika Event adalah cc, hc, bpec, atau ssec, Anda tidak perlu menggunakan opsi -h .

Pengecualian
Menentukan nomor pengecualian tempat perintah bertindak di radix saat ini.

Kejadian
Menentukan peristiwa di mana perintah bertindak. Peristiwa ini diidentifikasi dengan singkatan. Untuk daftar peristiwa, lihat Mengontrol pengecualian dan peristiwa.

*
Memengaruhi semua pengecualian yang tidak dinamai secara eksplisit untuk sx. Untuk daftar pengecualian bernama secara eksplisit, lihat Mengontrol pengecualian dan peristiwa.

Lingkungan

   
Mode Mode pengguna, mode kernel
Target Penelusuran kesalahan langsung saja
Platform Semua

Informasi Tambahan

Untuk informasi selengkapnya tentang status pemutusan dan status penanganan, deskripsi semua kode peristiwa, daftar status default untuk semua peristiwa, dan metode lain untuk mengontrol status ini, lihat Mengontrol pengecualian dan peristiwa.

Keterangan

Perintah sx menampilkan daftar pengecualian untuk proses saat ini dan daftar semua peristiwa non-pengecualian dan menampilkan perilaku default debugger untuk setiap pengecualian dan peristiwa.

Perintah sxe, sxd, sxn, dan sxi mengontrol pengaturan debugger untuk setiap pengecualian dan peristiwa.

Perintah sxr mengatur ulang semua pengecualian dan status filter peristiwa ke pengaturan default. Misalnya, perintah dibersihkan dan dihentikan, dan opsi lanjutkan diatur ulang ke pengaturan defaultnya.

Perintah sx- tidak mengubah status penanganan atau status pemutusan pengecualian atau peristiwa yang ditentukan. Perintah ini dapat digunakan jika Anda ingin mengubah perintah kesempatan pertama atau perintah kesempatan kedua yang terkait dengan peristiwa tertentu, tetapi tidak ingin mengubah apa pun.

Jika Anda menyertakan opsi -h (atau jika perintah cc, hc, bpec, atau ssec ditentukan), perintah sxe, sxd, sxn, dan sxi mengontrol status penanganan pengecualian atau peristiwa. Dalam semua kasus lain, perintah ini mengontrol status pemutusan pengecualian atau peristiwa.

Saat Anda mengatur status jeda, perintah ini memiliki efek berikut:

Perintah Nama status Deskripsi
sxe Istirahat
(Diaktifkan)
Ketika pengecualian ini terjadi, target segera masuk ke debugger sebelum penangan kesalahan lainnya diaktifkan. Penanganan semacam ini disebut penanganan kesempatan pertama .
sxd Kesempatan kedua istirahat
(Dinonaktifkan)
Debugger tidak rusak untuk pengecualian kesempatan pertama dari jenis ini (meskipun pesan ditampilkan). Jika penangan kesalahan lain tidak mengatasi pengecualian ini, eksekusi akan berhenti dan target masuk ke debugger. Penanganan semacam ini disebut penanganan kesempatan kedua .
sxn Output
(Beri tahu)
Ketika pengecualian ini terjadi, aplikasi target tidak masuk ke debugger sama sekali. Namun, pesan ditampilkan yang memberi tahu pengguna tentang pengecualian ini.
sxi Abaikan Ketika pengecualian ini terjadi, aplikasi target tidak masuk ke debugger sama sekali, dan tidak ada pesan yang ditampilkan.

Saat Anda mengatur status penanganan, perintah ini memiliki efek berikut:

Perintah Nama status Deskripsi
sxe Ditangani Peristiwa dianggap ditangani saat eksekusi dilanjutkan.
sxd,sxn,sxi Tidak Ditangani Kejadian ini dianggap tidak ditangani saat eksekusi dilanjutkan.

Anda dapat menggunakan opsi -h bersama dengan pengecualian, bukan peristiwa. Gunakan opsi ini dengan ch, bpe, atau sse untuk mengatur status penanganan untuk hc, bpec, atau ssec, masing-masing. Jika Anda menggunakan opsi -h dengan peristiwa lain, itu tidak berpengaruh.

Gunakan opsi -c atau -c2 dengan hc, bpec, atau ssec untuk mengaitkan perintah yang ditentukan dengan ch, bpe, atau sse.

Dalam contoh berikut, perintah sxe digunakan untuk mengatur status pemutusan peristiwa pelanggaran akses untuk istirahat pada kesempatan pertama, dan untuk mengatur perintah kesempatan pertama yang akan dijalankan pada saat itu ke r eax. Kemudian perintah sx- digunakan untuk mengubah perintah kesempatan pertama ke r ebx, tanpa mengubah status penanganan. Terakhir, sebagian output sx ditampilkan, menunjukkan pengaturan saat ini untuk peristiwa pelanggaran akses:

0:000> sxe -c "r eax" av

0:000> sx- -c "r ebx" av

0:000> sx
 av - Access violation - break - not handled
       Command: "r ebx"
  . . .  

Lihat juga