? (Evaluasi Ekspresi)
Perintah tanda tanya (?
) mengevaluasi dan menampilkan nilai ekspresi.
Tanda tanya dengan sendirinya (?) menampilkan bantuan perintah. ?
Perintah ekspresi mengevaluasi ekspresi yang diberikan.
? Expression
Parameter
Ekspresi
Menentukan ekspresi yang akan dievaluasi.
Lingkungan
Item | Deskripsi |
---|---|
Mode | Mode pengguna, mode kernel |
Target | Live, crash dump |
Platform | Semua |
Keterangan
Input dan output ?
perintah bergantung pada apakah Anda menggunakan sintaks ekspresi MASM atau sintaks ekspresi C++. Untuk informasi selengkapnya tentang jenis sintaks ekspresi ini, lihat Mengevaluasi Ekspresi dan Sintaks Ekspresi Numerik.
Jika Anda menggunakan sintaks MASM, input dan output bergantung pada radix saat ini. Untuk mengubah radix, gunakan perintah n (Atur Basis Angka).
Perintah ?
mengevaluasi simbol dalam ekspresi dalam konteks utas dan proses saat ini.
Beberapa string mungkin berisi escape, seperti \n
, , \"
\r
, dan \b
, yang dimaksudkan untuk dibaca secara harfiah, daripada ditafsirkan oleh evaluator. Jika escape dalam string ditafsirkan oleh evaluator, kesalahan dalam evaluasi dapat terjadi. Contohnya:
0:000> as AliasName c:\dir\name.txt
0:000> al
Alias Value
------- -------
AliasName c:\dir\name.txt
0:001> ? $spat( "c:\dir\name.txt", "*name*" )
Evaluate expression: 0 = 00000000
0:001> ? $spat( "${AliasName}", "*name*" )
Evaluate expression: 0 = 00000000
0:001> ? $spat( "c:\dir\", "*filename*" )
Syntax error at '( "c:\dir\", "*filename*" )
Dalam dua contoh pertama, meskipun string cocok dengan pola, evaluator mengembalikan nilai FALSE. Pada yang ketiga, evaluator tidak dapat membuat perbandingan karena string berakhir dengan garis miring terbelakang ( \
), sehingga \"
diterjemahkan oleh evaluator.
Untuk mendapatkan evaluator untuk menginterpretasikan string secara harfiah, Anda harus menggunakan sintaks.@"String"
Contoh kode berikut menunjukkan hasil yang benar:
0:000> ? $spat( @"c:\dir\name.txt", "*name*" )
Evaluate expression: 1 = 00000000`00000001
0:000> ? $spat( @"${AliasName}", "*name*" )
Evaluate expression: 1 = 00000000`00000001
0:001> ? $spat( @"c:\dir\", "*filename*" )
Evaluate expression: 0 = 00000000
Dalam contoh sebelumnya, $spat
operator MASM memeriksa string pertama untuk menentukan apakah cocok (tidak peka huruf besar/kecil) pola string kedua. Untuk informasi selengkapnya tentang operator MASM, lihat topik Nomor dan Operator MASM .
Lihat juga
.formats (Tampilkan Format Angka)
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk