Hi,
The contents of the Live Watch window is derived from the DWARF debugging symbols inside the ELF file produced by the compiler. It could be that for some data layouts the array size is recorded in an unsupported way, or is reported to be 1.
The easiest way to track the root cause would be to create a new project from scratch, copy the minimal repro code there, verify that the problem still persists, and then attach:
- The source file or the code snippet
- The exact ELF file used for debugging (typically ProjectName.elf or ProjectName without extension)
You can also have a quick peek into the debugging symbols by running arm-none-eabi-objdump.exe -g <ELF file> (objdump is a part of the GCC for ARM toolchain and will also work with Keil executables). If the array definition does not mention the size, or the size is 1, VisualGDB would not have sufficient information to display the entire array.