Hi,
using CW 10.2 build 120413.
I believe I've found a bug in the expressions window that has cost me a couple days of work.
In my c++ application, I am using a custom class that I will call classX. If I add classX to the expressions window, I can expand the view and see all the class members and their values. However, many of the class members were not showing the values that I woudl expect.
I picked a couple members from classX and compared the memory locations to the memory locations in the Variables window, and they have different addresses! It is offset by 10-20 words.
The base address of the class is the same in both the Expression and Variable windows, so I start going down the list to see where the memory is going wrong.
I hit a section of Enum values, Enum1, Enum2, Enum3, and THEY ALL POINT TO THE SAME MEMORY LOCATION! The variable immediately following the enums then starts to advance again.
Base address0x100
Enum10x101
Enum20x101<----- THESE ARE NOT ADVANCING
Enum30x101
Int40x102
Int50x103
This is causing the entire class structure to get offset whenever there is an Enum value. I tried reproducing the problem with another struct/class but no luck. The class is rather large so I'm wondering if it's maybe a size issue??
Also, if I view the class in the Variables window, everything is correct so this is definitely a codewarrior problem.