I think you are observing a global variable and therefore it stops in all the functions where this variable is being modified , which is a logical and expected behavior . If you want to break only inside this function when it ichanges, do not set a breakpoint for i. Instead, set a breakpoint for the desired function. When this breakpoint is deleted, now set the clock to iso that you know exactly what the next breakpoint will be pressed when it iis changed in the desired function (ignoring possible recursions and the like)
, , , .