Aracılığıyla paylaş


Visual Studio hata ayıklayıcısında sahte değişkenler

Sahte değişken, belirli bilgileri bir değişken penceresinde veya QuickWatch iletişim kutusunda görüntülemek için kullanılan terimlerdir. Normal bir değişken girdiğiniz gibi sahte değişken girebilirsiniz. Ancak, sahte değişkenler aslında değişken değildir ve programınızdaki değişken adlarına karşılık gelmezler.

Example

Yerel bir kod uygulaması yazdığınızı ve uygulamanızda ayrılan handle sayısını görmek istediğinizi varsayalım. İzleme penceresinde, Ad sütununa aşağıdaki sahte değişken değerini girebilir ve ardından return tuşuna basarak değerlendirebilirsiniz:

$handles

Yerel kodda, aşağıdaki tabloda gösterilen sahte değişkenleri kullanabilirsiniz:

Sahte değişken İşlev
$err SetLastError işleviyle ayarlanan son hata değerini görüntüler. Görüntülenen değer, GetLastError işlevi tarafından döndürülenleri temsil eder.

Bu değerin kod çözülen biçimini görmek için kullanın $err,hr . Örneğin, son hata 3 ise, $err,hrERROR_PATH_NOT_FOUND : The system cannot find the path specified. olarak gösterilir.
$handles Uygulamanızda ayrılan tanıtıcı sayısını görüntüler.
$vframe Geçerli yığın çerçevesinin adresini görüntüler.
$tid Geçerli iş parçacığının ID'sini görüntüler.
$env Dize görüntüleyicisinde ortam bloğunu görüntüler.
$cmdline Programı başlatan komut satırı dizesini görüntüler.
$pid İşlem kimliğini görüntüler.
$ Registername

veya

@ Registername
registername kaydının içeriğini görüntüler.

Normalde, kayıt içeriğini yalnızca kayıt adını girerek görüntüleyebilirsiniz. Bu söz dizimini kullanmanız gereken tek zaman, yazmaç adının bir değişken adını aşırı yüklemesidir. Yazmaç ismi geçerli kapsamdaki bir değişken ismiyle aynıysa, hata ayıklayıcı bu ismi değişken ismi olarak yorumlar. İşte bu durumda $registername veya @registername kullanışlı olur.
$clk Saati saat döngülerinde görüntüler.
$user Uygulamayı çalıştıran hesabın hesap bilgilerini içeren bir yapı görüntüler. Güvenlik nedeniyle parola bilgileri görüntülenmez.
$exceptionstack Geçerli Windows Çalışma Zamanı özel durumunun yığın izlemesini görüntüler. $ exceptionstack yalnızca UWP uygulamalarında çalışır. $ exceptionstack C++ ve SEH özel durumları için desteklenmez
$returnvalue Bir yöntemin dönüş değerini görüntüler.

C# dilinde, aşağıdaki tabloda gösterilen sahte değişkenlerini kullanabilirsiniz:

Sahte değişken İşlev
$exception Son özel durumla ilgili bilgileri görüntüler. Özel durum oluşmadıysa, değerlendirmede $exception bir hata iletisi görüntülenir.

Özel Durum Yardımcısı devre dışı bırakıldığında, $exception bir özel durum oluştuğunda otomatik olarak Yereller penceresine eklenir.
$user Uygulamayı çalıştıran hesabın hesap bilgilerini içeren bir yapı görüntüler. Güvenlik nedeniyle parola bilgileri görüntülenmez.
$returnvalue .NET yönteminin dönüş değerini görüntüler.
$threadSmallObjectHeapBytes Geçerli iş parçacığı tarafından küçük nesne yığınında ayrılan toplam bayt sayısını görüntüler. (.NET 6+)
$threadUserOldHeapBytes Geçerli iş parçacığı tarafından kullanıcı eski yığınında ayrılan baytların toplam sayısını görüntüler. User Old Heap = Large Object Heap + Pinned Object Heap (.NET 6+)

Visual Basic'te, aşağıdaki tabloda gösterilen sahte değişkenlerini kullanabilirsiniz:

Sahte değişken İşlev
$exception Son özel durumla ilgili bilgileri görüntüler. Özel durum oluşmadıysa, değerlendirmede $exception bir hata iletisi görüntülenir.
$delete veya $$delete Anlık penceresinde oluşturulan örtük değişkeni siler. Söz dizimi $delete, veya$delete,.
$objectids veya $listobjectids Tüm etkin Nesne Kimliklerini belirtilen ifadenin alt öğeleri olarak görüntüler. Söz dizimi $objectid, veya$listobjectids,.
$ N# Nesne Kimliği N'ye eşit olan nesneyi görüntüler.
$dynamic Özel Dinamik Görünüm düğümünü, IDynamicMetaObjectProvider uygulayan bir nesne için görüntüler. Arayüz. Söz dizimi $dynamic,. Bu özellik yalnızca .NET Framework sürüm 4 veya üzerini kullanan kodlar için geçerlidir.