Bagikan melalui


? (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

?? (Evaluasi Ekspresi C++)

.formats (Tampilkan Format Angka)

Nomor dan Operator MASM

Nomor dan Operator C++

Ekspresi MASM vs. Ekspresi C++

Contoh Ekspresi Campuran