Typowe funkcje modułu szacującego wyrażenie
W tym temacie opisano różnych funkcji oceniającego wyrażenie, które są wspólne dla debugera, różnicowania tylko przez język.
Niejawne zmiennych
W języku Visual Basic i C#, można utworzyć niejawna zmiennych za pomocą wyrażenia oceniającego.Te zmienne niejawna nigdy nie wykracza poza zakresem i mogą być traktowane jako inne zmienne.
W C# można utworzyć niejawna zmiennej oświadczając w wyrażeniu oceniającego.Na przykład, można wprowadzić następujący kod C# w natychmiastowe okna:
int b = 100;
Podczas wykonywania tego kodu w natychmiastowe , Zmienna niejawna nowe okno w zmiennych lokalnych okno z przodu nazwę zmiennej, w tym przypadku znak $b.
W języku Visual Basic nie można zadeklarować niejawna zmiennych w oceniającego wyrażenie.Jednak użycie zmiennej nielegalnej oceniającego wyrażenia języka Visual Basic, niejawna zmienna jest tworzony automatycznie.W języku Visual Basic niejawna zmienne nie są wymienione w zmiennych lokalnych okna.
Punkty przerwania
Użycie okienka bezpośredniego do oceny metody języka Visual Basic lub języka C# lub funkcja, która zawiera punkt przerwania, że punkt przerwania jest hit i nowej ramki pojawi się na Stos.Oto przykład C#:
class Program
{
static void Main(string[] args)
{
// Breakpoint here:
int a = 20;
}
}
Jeśli, ustaw punkt przerwania, gdzie wskazuje komentarz skompilować i wykonać program, naciskając klawisz F5, będzie hit punkt przerwania w zwykły sposób.Jeśli teraz ocenić metody Main wpisując Program.Main(null) do natychmiastowe okna, punkt przerwania zostanie hit po raz drugi i będzie istnieć wpis dla metody Stos.
Oceny w oknie czujki
W celu uniknięcia możliwości niepożądane efekty uboczne, wywołanie funkcji lub metody nie jest automatycznie obliczana każdym, że kroki debugera.Ikona pozwala zamiast ręcznie aktualizować wynik.Pojawia się w wartość kolumny.Umożliwia to oceny wywołanie ręcznie.Aby uzyskać więcej informacji, zobacz Efekty uboczne i wyrażenia.
Tożsamość obiektu
Ta funkcja nie jest dostępna dla Visual Basic.
Niektóre aplikacje tworzą wiele wystąpień klasy.W tych aplikacjach jest często przydatne identyfikatorem umożliwiającym rozróżnienie danej instancji klasy.To może być przydatne, na przykład, jeśli określone wystąpienie klasy nie zachowuje się zgodnie z oczekiwaniami lub określone wystąpienie zostało wstawione więcej niż raz do kolekcji, która powinna zawierać tylko go raz.
Tożsamość obiektu macierzystego
Podczas debugowania kodu niezarządzanego można jednoznacznie zidentyfikować obiekt przy użyciu jego adresu.Jest to ważne z dwóch powodów:
Obiekt można śledzić tylko przy użyciu jego adresu.Obejmuje to możliwość korzystania z adresu w celu:
Umożliwia wyświetlanie wartości obiektu pod tym adresem.
Sprawdź, czy równości.Często można adres dla obiektu w taki sam sposób jak samej zmiennej obiektu.
Można użyć adresu obiektu wystąpienia, ustawić punkt przerwania na metodzie w tym określone wystąpienie.
Załóżmy, że obiekt jest wystąpieniem klasy CMyType, z adresem 0xcccccccc.Przerwania funkcji można określić na metodzie aMethod tej instancji w następujący sposób:
((CMyType *) 0xcccccccc)->aMethod
Tożsamość obiektu zarządzanego
Z kodu zarządzanego nie można użyć adresu obiektu do jego identyfikacji.Zamiast tego użyj znany jako identyfikator obiektu generowane przez common language runtime (CLR) debugowania usługi i skojarzone z obiektem typu integer.Numer ten jest dodatnią liczbą całkowitą, generowane przez środowisko CLR debugowania usługi.Wartość Identyfikatora obiektu nie ma żadnego znaczenia w celu unikatowej identyfikacji obiektu z wyjątkiem.
Uchwyty są wyświetlane jako o zmiennej długości, dziesiętnej liczby całkowite ze znakiem numeru (#) dołączane po liczbie, bez jakichkolwiek zer, takich jak 5#.Uchwyty są wyświetlane w wartość kolumny w debugerze różnych danych w systemie windows.
Aby utworzyć identyfikator obiektu dla zmiennej, kliknij prawym przyciskiem myszy na zmiennej i wybierz Wprowadzić identyfikator obiektu.Debuger wyświetli liczbę Funt (#) znak dołączane po, takich jak 123#.Aby usunąć identyfikator obiektu, kliknij prawym przyciskiem myszy na zmiennej i wybierz Usunąć identyfikator obiektu.
Po wybraniu punktu przerwania, można wpisać zmiennej uchwyt do Watch okna.Debuger wyświetla wartości Identyfikatora obiektu i można rozwinąć i sprawdzić, podobnie jak inne zmienne.
Identyfikator obiektu można użyć, aby ustawić punkt przerwania na metodzie określone wystąpienie.Załóżmy, że obiekt jest wystąpieniem klasy CMyType, a instancja ma identyfikator obiektu 5#.Klasa CMyType zawiera metodę aMethod.Funkcja punkt przerwania można ustawić na metody aMethod instancji 5# w następujący sposób:
((CMyType) 5#).aMethod
Identyfikator obiektu można również użyć w stanie przerwania.Poniższy przykład pokazuje, jak sprawdzić identyfikator obiektu w warunku.
this == 5#
Informacje dotyczące sposobu określania warunek przerwania zobacz Jak: Określ warunek przerwania.
Zobacz też
Koncepcje
Wyświetlanie danych w oknie Debuger