Bagikan melalui


gn, gN (Go dengan Pengecualian Tidak Ditangani)

Perintah gn dan gN melanjutkan eksekusi utas yang diberikan tanpa menandai pengecualian sebagai telah ditangani. Ini memungkinkan handler pengecualian aplikasi untuk menangani pengecualian.

Sintaks Mode Pengguna

[~Thread] gn[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 
[~Thread] gN[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

Sintaks Mode Kernel

gn[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 
gN[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

Parameter

Benang
(Mode pengguna saja) Menentukan utas yang akan dijalankan. Utas ini harus dihentikan oleh pengecualian. Untuk detail sintaks, lihat Sintaks utas.

sebuah
Menyebabkan titik henti apa pun yang dibuat oleh perintah ini menjadi titik henti prosesor (seperti yang dibuat oleh ba) daripada titik henti perangkat lunak (seperti yang dibuat oleh bp dan bm). Jika BreakAddress tidak ditentukan, tidak ada titik henti yang dibuat dan bendera tidak berpengaruh.

StartAddress
Menentukan alamat di mana eksekusi harus dimulai. Jika ini tidak ditentukan, debugger meneruskan eksekusi ke alamat tempat pengecualian terjadi. Untuk detail sintaks selengkapnya, lihat Sintaks Alamat dan Rentang Alamat.

BreakAddress
Menentukan alamat untuk titik henti. Jika BreakAddress ditentukan, itu harus menentukan alamat instruksi (yaitu, alamat harus berisi byte pertama dari instruksi). Hingga sepuluh alamat jeda, dalam urutan apa pun, dapat ditentukan pada satu waktu. Jika BreakAddress tidak dapat diselesaikan, breakpoint disimpan sebagai titik henti yang belum terselesaikan. Untuk detail sintaks selengkapnya, lihat Sintaks Alamat dan Rentang Alamat.

BreakCommands
Menentukan satu atau beberapa perintah yang akan dijalankan secara otomatis saat titik henti yang ditentukan oleh BreakAddress tertembak. Parameter BreakCommands harus didahului oleh titik koma. Jika beberapa nilai BreakAddress ditentukan, BreakCommands berlaku untuk semuanya.

Perhatikan Parameter BreakCommands hanya tersedia saat Anda menyematkan perintah ini dalam string perintah yang digunakan oleh perintah lain -- misalnya, dalam perintah titik henti lain atau dalam kecuali atau pengaturan peristiwa. Pada baris perintah, titik koma akan mengakhiri perintah, dan perintah tambahan apa pun yang tercantum setelah titik koma akan dijalankan segera setelah perintah gn atau gN selesai.

Lingkungan

Item Deskripsi
Mode mode pengguna, mode kernel
Target penelusuran kesalahan langsung saja
Platform all

Informasi Tambahan

Untuk metode lain menerbitkan perintah ini dan gambaran umum perintah terkait, lihat Mengontrol Target.

Keterangan

Jika debugger tidak dihentikan pada titik henti, gn dan gN bereaksi identik. Jika debugger dihentikan pada titik henti, gn tidak akan berfungsi; Anda harus memanfaatkan "N" untuk menjalankan perintah ini. Ini adalah tindakan pencegahan keamanan, karena jarang bijaksana untuk melanjutkan titik henti yang tidak tertangani.

Jika Anda menggunakan parameter BreakAddress untuk mengatur titik henti, titik henti baru ini hanya akan dipicu oleh utas saat ini. Utas lain yang menjalankan kode di lokasi tersebut tidak akan dihentikan.

Jika Utas ditentukan, maka perintah gn dijalankan dengan utas yang ditentukan tidak dibekukan dan semua lainnya dibekukan. Misalnya, jika perintah ~123gn, ~#gn, atau ~*gn ditentukan, utas yang ditentukan tidak dibekukan dan yang lainnya dibekukan.