Hi suhas
What are the values that you see for these variables?
Also, when you step in assembler mode, can you verify the values seen in the processor's registers?
Finally, beware that if there are a maximum number of break points set in FLASH the debugger may have problems stepping in such routines. I have found that when I try to step over a function with a loop in it the debugger may taken many seconds to return - in which case pausing will result in the code still being in such a loop. I believe what is happening is that the debugger needs to set temporary break points in FLASH and to do this needs to 'borrow' other break points. This means that it has to effectively step through code - changing break points each time rather than actually allowing it to run though it. This can give the impression that the debugger hangs in a routine. The best way to avoid this is to ensure that a minimum of break points are set in FLASH so that the debugger has enough for its own use (it probably has to set more than one to step in some cases, not knowing in exactly which way program flow will go).
Regards
Mark