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şken değişkenler değişken değildir ve programınızdaki değişken adlarına karşılık gelir.

Örnek

Yerel bir kod uygulaması yazdığınızı ve uygulamanızda ayrılan tanıtıcı 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 $err,hr ise ERROR_PATH_NOT_FOUND : The system cannot find the path specified.
$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 iş parçacığı kimliğini 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 öğesinin 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ç adı geçerli kapsamdaki bir değişken adıyla aynıysa, hata ayıklayıcı adı değişken adı 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 toplam bayt 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 değişken veya$delete, değişkendir $delete, .
$objectids veya $listobjectids Tüm etkin Nesne Kimliklerini belirtilen ifadenin alt öğeleri olarak görüntüler. Söz dizimi ifade veya$listobjectids, ifadedir $objectid, .
$N # Nesne Kimliği N'ye eşit olan nesneyi görüntüler.
$dynamic uygulamasını uygulayan bir nesne için özel Dinamik Görünüm düğümünü IDynamicMetaObjectProvidergörüntüler. Arayüz. Söz dizimi nesnedir $dynamic, . Bu özellik yalnızca .NET Framework sürüm 4 veya üzerini kullanan kodlar için geçerlidir.