Visual Studio Hata Ayıklayıcısında Bağlam İşleci (C++)

Bir kesme noktası konumunu, değişken adını veya ifadeyi nitelemek için C++ dilinde bağlam işlecini kullanabilirsiniz. Bağlam işleci, dış kapsamdan yerel bir adla gizlenen bir ad belirtmek için kullanışlıdır.

Sözdizimi

Bağlam belirtmenin iki yolu vardır:

  1. {,,[module] } ifadesi

    Küme ayraçları iki virgül ve modülün (yürütülebilir veya DLL) adını veya tam yolunu içermelidir.

    Örneğin, işlevinde SomeFunction EXAMPLE.dllbir kesme noktası ayarlamak için:

    {,,EXAMPLE.dll}SomeFunction
    
  2. modülü!Ifa -de

    EXAMPLE.dll!SomeFunction
    
  • modülü bir modülün adıdır. Aynı ada sahip modüller arasında ayrım yapmak için tam yol kullanabilirsiniz.

    Modül yolu virgül, eklenmiş boşluk veya ayraç içeriyorsa, bağlam ayrıştırıcısının dizeyi düzgün tanıyabilmesi için yolun çevresinde tırnak işaretleri kullanmanız gerekir. Tek tırnak işaretleri Bir Windows dosya adının parçası olarak kabul edilir, bu nedenle çift tırnak işaretleri kullanmanız gerekir. Örneğin,

    {,,"a long, long, library name.dll"} g_Var
    
  • ifadesi , modüldeki işlev adı, değişken adı veya işaretçi adresi gibi geçerli bir hedefe çözümlenen geçerli bir C++ ifadesidir.

    İfade değerlendiricisi bir ifadede bir simgeyle karşılaştığında, simgeyi aşağıdaki sırayla arar:

  1. Sözcük temelli kapsam dışa doğru, geçerli bloktan başlayarak, küme ayraçları içine alınmış bir dizi deyim ve kapsayan blokla dışa doğru devam eder. Geçerli blok geçerli konumu, yönerge işaretçisi adresini içeren koddur.

  2. İşlev kapsamı. Geçerli işlev.

  3. Geçerli konum bir C++ üye işlevinin içindeyse sınıf kapsamı. Sınıf kapsamı tüm temel sınıfları içerir. İfade değerlendirici normal hakimiyeti kurallarını kullanır.

  4. Geçerli modüldeki genel simgeler.

  5. Geçerli programdaki ortak simgeler.