Wyrażenie jest fragmentem kodu wartościowanym w celu otrzymania wyniku.Kontekst dla wyrażenia zależy od konkretnego modelu debugowania. Niektóre wyrażenia muszą być wartościowane w określonym miejscu kodu, aby można się było odwoływać do ich zmiennych. Interfejs IExpression definiuje podstawowy interfejs na potrzeby wyrażeń debugowania.
Menedżer wyrażeń (IExpressionManager) śledzi wszystkie wyrażenia w obszarze roboczym. Wyzwala również zdarzenia przesyłane do odpowiednich funkcji nasłuchiwania, gdy wyrażenia są dodawane, usuwane lub zmieniane.
Wyrażenia mogą być używane do implementowania "inspektorów" lub "zeszytów testowych", które umożliwiają użytkownikom wartościowanie fragmentów kodu. Środowisko JDT używa wyrażeń do implementowania wyrażenia generowanego, gdy użytkownik kontroluje kod źródłowy.
Wyrażenie podglądu zmiennych to wyrażenie, które jest wielokrotnie wartościowane podczas wykonywania programu. Interfejs IWatchExpression definiuje wyspecjalizowany typ interfejsu IExpression, który aktualizuje wartość wyrażenia po pojawieniu się nowego kontekstu debugowania. Wyrażeń podglądu zmiennych używa się do implementowania "list kontrolnych", które wyświetlają wartość wyrażenia zmieniającą się podczas wykonywania programu.