This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

uVision Watch List Bug

Hi there,

I have a little annoyance that I would love to find a work around for. When I start a debug session using the simulator, the watch list does not always have all the variables I added to it in there. It seems the last ones added are sometimes lost. Sometimes if I add the same variable three or four times in the list, maybe one of them is remembered next time I start a debug session. It is pretty frustrating having to add your variables back every time.

I am using an older version of uVision (V3.21) so this may have been resolved years ago. But, if anybody has seen this problem or has a work around I would appreciate some help. Does anyone know where the watch list items are stored, maybe the file is gammy. This problem seems to have got worse over the last year as it only occasionally forgot variables, now it always does!!!

Parents
  • I guess I probably used the term "local" too loosely. By local I mean file scope (not function scope as in C). You can declare variables eg SomeVar dsb 1. They have a memory location and a type. You can also make them public or global allowing them to be used in other files (by putting extern SomeVar:byte) in the other file.

    It seems that any variable (symbol) made public (or perhaps declared extern) is remembered by the watch list. Any that are only used inside a single file are not.

    If you add not public (local) variable to the watchlist while stepping through code in a different file it shows ??????? for the value. Once you step into code in the same file as the variable the watch list value becomes valid. It then keeps working perfectly once you go back to stepping through code in a different file. I guess once it has picked up its memory location it is then OK.

    Got to admit this is a huge pain in the bum! I don't want to make all my variables public just for the sake of the IDE!

Reply
  • I guess I probably used the term "local" too loosely. By local I mean file scope (not function scope as in C). You can declare variables eg SomeVar dsb 1. They have a memory location and a type. You can also make them public or global allowing them to be used in other files (by putting extern SomeVar:byte) in the other file.

    It seems that any variable (symbol) made public (or perhaps declared extern) is remembered by the watch list. Any that are only used inside a single file are not.

    If you add not public (local) variable to the watchlist while stepping through code in a different file it shows ??????? for the value. Once you step into code in the same file as the variable the watch list value becomes valid. It then keeps working perfectly once you go back to stepping through code in a different file. I guess once it has picked up its memory location it is then OK.

    Got to admit this is a huge pain in the bum! I don't want to make all my variables public just for the sake of the IDE!

Children