Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Hata ayıklayıcı motoru, hedefin yazmaçlarını incelemek ve değiştirmek için kullanılabilir.
Hedefte kullanılabilen yazmaçlar, işlemci mimarisine bağlıdır. x86 işlemci için yazmaçların açıklaması için bkz. İşlemci Mimarisi. İşlemci için mevcut yazmaçların tam açıklaması için ilgili işlemcinin belgelerine bakın.
Yazmaç Kümesi
GetNumberRegisters yöntemi, hedef üzerindeki yazmaç sayısını bulmak için kullanılabilir.
Her yazmaç, indeksi tarafından isimlendirilir. İlk yazmaç dizini sıfır, son yazmaç dizini ise bir eksi kayıt sayısıdır. Adı bilinen bir kaydın dizinini bulmak için GetIndexByName kullanın.
GetDescription yöntemi, yazmaç hakkında bilgileri döndürür. Bu, yazmaç adı, barındırabileceği değerlerin türü ve bir alt yazmaç olup olmadığını içerir.
Alt kayıt, başka bir yazmaç içinde yer alan bir kayıttır. Alt kayıt değiştiğinde, onu içeren kayıt da değişir. Örneğin, x86 işlemcide ax alt kaydı, 32 bit eax yazmaç değerinin düşük 16 biti ile aynıdır.
Aşağıdaki yöntemler kullanılarak değerleri bulunabilecek üç özel kayıt vardır. Bu kayıtların değerlerinin yorumlanması platforma bağlıdır.
Geçerli yönergenin konumu GetInstructionOffset ve GetInstructionOffset2 ile bulunabilir.
Geçerli işlemci yığını yuvasının konumu GetStackOffset ve GetStackOffset2 ile bulunabilir.
Geçerli işlevin yığın çerçevesinin konumu GetFrameOffset ve GetFrameOffset2 ile bulunabilir.
Yazmaçlarla Çalışma
Bir yazmaç değeri GetValue yöntemi kullanılarak okunabilir. GetValues ve GetValues2 kullanılarak birden çok yazmaç okunabilir.
SetValue yöntemi kullanılarak bir değer bir yazmaç üzerine yazılabilir. SetValues ve SetValues2 kullanılarak birden çok yazmaç yazılabilir.
Bir yazmaca bir değer yazarken, sağlanan değerin yazmaç türünden farklı bir türü varsa, değer yazmaç türüne dönüştürülür. Bu dönüştürme, CoerceValue yöntemi tarafından gerçekleştirilenle aynıdır. Bu dönüştürme, yazmaç türü sağlanan değeri tutamazsa veri kaybına neden olabilir.
Pseudo-Registers
Sahte yazmaçlar , belirli değerleri barındıran hata ayıklayıcı altyapısı tarafından tutulan değişkenlerdir, örneğin , $teb değeri geçerli iş parçacığının İş Parçacığı Ortam Bloğunun (TEB) adresi olan sahte yazmacın adıdır. Daha fazla bilgi ve sahte yazmaçların listesi için bkz. Pseudo-Register Sözdizimi.
Her sahte yazmaç bir indekse sahiptir. Dizin sıfır ile sahte yazmaç sayısı arasındaki bir sayıdır ( GetNumberPseudoRegisters tarafından döndürülür) eksi bir. Adına göre bir sahte kaydın dizinini bulmak için GetPseudoIndexByName komutunu kullanın. Sahte yazmaçların değerleri GetPseudoValues kullanılarak okunabilir ve değerler SetPseudoValues kullanılarak sahte kayıtlara yazılabilir. Türü de dahil olmak üzere bir sahte yazmaç açıklaması için GetPseudoDescription kullanın.
Not Sahte yazmaçların tümü tüm hata ayıklama oturumlarında veya belirli bir oturumun her anında kullanılamaz.
Yazmaçları Görüntüleme
OutputRegisters ve OutputRegisters2 yöntemleri hedefin kayıtlarını biçimlendirip çıkış olarak istemcilere gönderir.
Etkinlikler
Hedefin yazmaçlarının değerleri her değiştiğinde, motor, Bayraklar parametresi DEBUG_CDS_REGISTERS olarak ayarlanmış şekilde IDebugEventCallbacks::ChangeDebuggeeState geri çağırma yöntemini çağırır.