Each variable of a target application has some location where it is stored. Usually, the global and static variables have a fixed memory location while the local variables which exist only inside a function body are either stored in the stack frame of the corresponding function or in a general-purpose register.
With disabled compiler optimizations, each variable has only one single Location Description. If the single location description is also a simple location (like a fixed address, a general-purpose register, or a stack-frame offset) the resolved location is shown in the column "address" of the window sYmbol.Browse. In all other cases, "locdesc" is displayed in that column.
So, you see "locdesc" in the following cases:
- There is more than one location for a variable. This can happen with enabled compiler optimizations. If you execute the command Var.INFO < varname > (or right mouse click the varialble then select other > View Info), you can see the various locations of the variable together with a program address range. (When the program counter is inside that program address range, the related location is valid for the variable.)
- At least one of the location descriptions can't be resolved to an address, a general-purpose register, or a stack-frame offset.
Add a comment