Wyrażenia w języku Visual Basic
Oceniający zarządzanych wyrażenia akceptuje większość wyrażeń w Visual Basic.W natychmiastowe okna, oceniający wyrażenie obsługuje tylko instrukcje jednowierszowy.
W poniższych sekcjach oferują określonych informacji i omówić niektóre typy wyrażenie, które nie są obsługiwane lub częściowo obsługiwane:
Casts
Dynamic Objects
Function Evaluation
Identifiers and Types
Import Aliases
Object Variables Containing Intrinsic Types
Operators
PropertyEvaluation
Strings
TypeOf Operator
Unsupported Keywords
Variable Declarations
WebMethods
Visual Basicnie obsługuje autoexpand zasady wyświetlania zawartości typu danych w formie znaczące.Aby uzyskać więcej informacji, zobacz Wyświetlanie elementów niestandardowy typ danych.
Poświaty
Proste poświaty pracy w debugerze:
A = CStr(B)
Obiekty dynamiczne
Wyrażenie oceniający może służyć do zmiennych, które są statycznie wpisywane jako dynamiczny.On również ocenić obiektów implementujących interfejs IDynamicObject.Kiedy obiekty, że że implementować interfejs IDynamicObject są oceniane w Watch okna, dynamiczny widok, węzeł jest dodawany.Węzeł dynamiczny widok pokazuje członków obiektu, ale nie zezwala na edytowanie wartości składników.
Następujące funkcje obiekty dynamiczne nie są obsługiwane:
Operatory mieszanek +=,-=, % = / =, a * =
Wiele prezentacji, w tym numeryczne poświaty i poświaty argument typu
Wywołania metody z więcej niż dwóch argumentów
Właściwości pobierające z więcej niż dwóch argumentów
Ustawiające właściwość z argumentami
Przypisywanie do indeksowania
Operatory logiczne & & i ||
Ocena funkcji
Debuger obsługuje oceny funkcji, w tym funkcji zastąpionej.W związku z tym można wprowadzić jedną z następujących wyrażeń i debuger będzie wywoływać poprawną wersję funkcji zastąpionej:
myFunction (param1)
myFunction (param1, param2)
Funkcji w oknie debuger wywołuje i wykonuje kod dla tej funkcji.Jeśli funkcja ma efekty uboczne, takich jak przydzielanie pamięci lub zmiany wartości zmiennej globalnej, funkcji w oknie Debuger zmieni stan programu, który może dać nieoczekiwane wyniki.
Po ustawieniu punkt przerwania na funkcji zastąpionej lokalizacji punkt przerwania zależy sposób określania funkcji.Określa się tylko nazwę funkcji, debuger określi jeden punkt przerwania na każdy przeciążenie nazwę tej funkcji.Jeśli zostanie określony podpis pełną nazwę funkcji i argument pełnej listy, debuger ustawia jeden punkt przerwania na przeciążenie określony.
Identyfikatory i typów
Wszelkie widoczne identyfikatora można użyć, debuger wyrażeń w bieżącym zakresie.Jeśli debuger jest zatrzymywane w funkcji Magh, na przykład, można użyć większości identyfikatory widoczne w Magh, włącznie z nazwami zmiennych i nazwy funkcji.Lokalne nie są obsługiwane.Można ustawić wartość zmiennej wszelkie widoczne w bieżącym zakresie.
Debuger może poprawnie wyświetlać dowolnej zmiennej typu pierwotne, jak i wewnętrzne.W przypadku zmiennych typu klasy debugera poprawnie wyświetlana jest wartość typu większości uzyskane na podstawie.Jeśli obiekt leo typu Lion, z typu pochodnego Cat, można ocenić leo.Clawlength i uzyskać prawidłową wartość dla obiektu typu Lion.
Aliasy importu
Debugger systemu Windows nie można używać aliasów importu.
Zmienne obiektu zawierającego typów wewnętrznych
Obiekt zmiennych, które zawierają wewnętrzne typów zmiennych, takich jak liczba całkowita, są wyświetlane i edytować w sposób, który może pojawić się być sprzeczne z intuicją.Na przykład załóżmy, że kod źródłowy zawiera zmienną obiektu, jak to:
Dim obj As Object = 5
Watch okno pokazuje wartość zmiennej obj jako:
5 {Integer}
Aby zmienić wartość tej zmiennej 6, należy wpisać:
6
Nie można wprowadzić:
6 {Integer}
Po zakończeniu edycji wartości, można zauważyć, że debuger dodaje {Integer} dla Ciebie.
Operatory
Debuger ocenia poprawnie większość operatorów, w tym:
Arithmetical operators: ( expr1+ expr2, expr1- expr2, expr1* expr2, expr1/ expr2, expr1\expr2, expr1^expr2 , expr1Modexpr2 ).
Assignment operators: ( var1= expr2, var1^= expr2, var1*= expr2, var1/= expr2, var1\= expr2, var1+= expr2, var1-= expr2, var1&= expr2).
Comparison operators: (expr2< expr2, expr2<= expr2, expr1> expr2, expr1>= expr2, expr1= expr2, expr1<> expr2).
Concatenation operators: (expr1& expr2, expr1+ expr2).
Logical operators: (expr1And expr2, expr1Or expr2, expr1XOr expr2, expr1AndAlso expr2, expr1OrElse expr2, Notexpr1).
Unary operators: ( - expr1, Not expr1, GetType (type) ).
Ocena właściwości
Debuger może służyć do właściwości w dowolnym oknie zmiennej.Jednak oceny właściwości w oknie Debuger może mieć efekty uboczne, takich jak zmienianie wartości zmiennych, które wpływają na wyniki programu.Do ochrony przed spowodowanych przypadkowym oceny skutków ubocznych, można wyłączyć oceny właściwości Ogólne, debugowanie, opcje okno dialogowe.
Ciągi znaków
W Visual Basic, można użyć Length operatora na ciąg znaków:
mystring.Length
- lub -
"hello world".Length
TypeOf Operator
W Visual Basic, można użyć TypeOf operator debugger systemu Windows:
TypeOf wyrażenieIs Typ
Na przykład,
TypeOf Me Is Integer
Wyświetla wartość false.
Jeśli korzystasz z TypeOf, musi ona część wyrażenia, która używa Is.Jeśli korzystasz z TypeOf bez Is, otrzymasz następujący komunikat o błędzie:
Is required
Nieobsługiwane słowa kluczowe
Następujące Visual Basic słowa kluczowe nie są obsługiwane w wyrażeniach okna debugera:
AddressOf
End
Error
Exit
Goto
On Error
Return
Resume
Select/Case
Stop
SyncLock
Throw
Try/Catch/Finally
With
Ponadto, nie nazw lub moduł poziom słowa kluczowe, takie jak End Sub lub Module, są obsługiwane.
Deklaracje zmiennych
Nie można zadeklarować jawne nowych zmiennych w debugerze systemu windows.
Jednakże można przypisać do zmiennej niejawny w natychmiastowe okna.Zmienne niejawne są zakresu do debugera i nie są dostępne poza debugera.Na przykład, instrukcja o = 5 niejawnie spowoduje utworzenie nowej zmiennej o i przypisać wartość 5 do niego.Takie niejawne zmienne są typu Object , chyba że typ można wywnioskować przez debugera.
Elementów WebMethod
Nie można wywoływać elementów WebMethod z debugger systemu windows.