class Program { static void Main(string[] args) { Test t = new Test(); for (int x =0 ;x < 10 ;x++) { if (x%3 == 0) { t.C++; } //Breakpoint here on condition t.C has changed } } } public class Test { public int C { get; set; } }But that's not really the same as setting a global breakpoint when t.C changes - I'm checking at a specific location.....