| Details |
Message |
|
Read-Only
Author Ashley Duncan
Posted 28-May-2012 00:17 GMT
Toolset C166
|
 uVision Watch List Bug
Ashley Duncan
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!!!
|
|
|
Read-Only
Author Ashley Duncan
Posted 31-May-2012 05:45 GMT
Toolset C166
|
 RE: uVision Watch List Bug
Ashley Duncan
I have made a discovery... It seems that the watch list has no
problem remembering global things like registers R0, R1 etc. and
public variables. It does not seem to work for any not public
variables. Note that this is an entirely assembly language
project.
Any ideas why it wont remember the names of local variables. Maybe
it purges the names of symbols it cant find at the start of
debugging? When you type in a random name you know doesn't exist into
the watch list, it allows it but shows the value as ????? That random
named item is also gone next time you start debugging...
Any ideas please...
|
|
|
Read-Only
Author erik malund
Posted 31-May-2012 14:44 GMT
Toolset C166
|
 'remembering' local variables
erik malund
is, probably, deliberately excluded because of the habit many have
which is to have e.g. 'index' as a local variable in several
different routines. Thus when you come in again the debugger must ask
itself "which darn routine did this refer to?".
Erik
|
|
|
Read-Only
Author Hans-Bernhard Broeker
Posted 31-May-2012 19:55 GMT
Toolset C166
|
 RE: uVision Watch List Bug
Hans-Bernhard Broeker
Note that this is an entirely assembly language
project.
Hmm... that's not making much sense --- assembly language doesn't
even really have variables, much less local ones. Which begs the
question: what were you showing in that watch window,
actually?
|
|
|
Read-Only
Author Ashley Duncan
Posted 31-May-2012 21:38 GMT
Toolset C166
|
 RE: uVision Watch List Bug
Ashley Duncan
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!
|
|
|
Read-Only
Author erik malund
Posted 1-Jun-2012 14:47 GMT
Toolset C166
|
 static?
erik malund
If you add not public (local) variable to the watchlist while
stepping through code in a different file it shows ??????? for the
value
static?
static ... .... with file scope works fine here
Erik
|
|
|
Read-Only
Author Ashley Duncan
Posted 5-Jun-2012 00:10 GMT
Toolset C166
|
 RE: static?
Ashley Duncan
static is not a A166 keyword right??? I still haven't found a
workaround for this but have also noticed that the same symbols that
get lost out of the watch list also get lost out of the logic
analyser and are not available for use in the command line.
|
|
|
Read-Only
Author erik malund
Posted 5-Jun-2012 15:05 GMT
Toolset C166
|
 AH, just caught it
erik malund
maybe one of them is remembered next time I start a debug
session
Keil is miserable in this respect, if you see a variable in
the whatch list next time you start a debug session consider
yourself lucky
Erik
|
|
|
Read-Only
Author Ashley Duncan
Posted 5-Jun-2012 21:40 GMT
Toolset C166
|
 RE: AH, just caught it
Ashley Duncan
Haha, good to know I'm not the only one. Do you know if it is any
better in later versions? We are considering upgrading but don't
really have a lot of reasons to justify the cost yet!
|
|