Udostępnij za pośrednictwem


Uzyskiwanie dostępu do zmiennych lokalnych

Zmienne lokalne, takie jak zmienne globalne, są przechowywane w plikach symboli. Podobnie jak w przypadku zmiennych globalnych debuger interpretuje ich nazwy jako adresy. Można je odczytywać i zapisywać w taki sam sposób, jak zmienne globalne. Jeśli jednak musisz zaznaczyć w poleceniu, że symbol jest lokalny, poprzedź symbol znakiem dolara ( $ ) i wykrzyknikiem ( ! ), jak w $!var.

Programy Visual Studio i WinDbg udostępniają elementy interfejsu użytkownika, których można używać (oprócz poleceń) do wyświetlania i edytowania zmiennych lokalnych. Aby uzyskać więcej informacji, zobacz Wyświetlanie i edytowanie zmiennych lokalnych w usłudze WinDbg (wersja klasyczna).

Można również użyć następujących metod do wyświetlania, zmieniania i używania zmiennych lokalnych:

Istnieje jednak jedna podstawowa różnica między zmiennymi lokalnymi i globalnymi. Podczas wykonywania aplikacji znaczenie zmiennych lokalnych zależy od lokalizacji licznika programu, ponieważ zakres takich zmiennych rozciąga się tylko na funkcję, w której są zdefiniowane.

Debuger interpretuje zmienne lokalne zgodnie z kontekstem lokalnym. Domyślnie ten kontekst odpowiada lokalizacji licznika programu. Jednak debuger może zmienić kontekst. Aby uzyskać więcej informacji na temat kontekstu lokalnego, zobacz Kontekst lokalny.

Po zmianie kontekstu lokalnego okno Ustawienia lokalne zostanie natychmiast zaktualizowane, aby odzwierciedlić nową kolekcję zmiennych lokalnych. Polecenie dv pokazuje również nowe zmienne. Wszystkie te nazwy zmiennych są następnie poprawnie interpretowane przez opisane wcześniej polecenia pamięci. Następnie możesz odczytywać lub zapisywać te zmienne.