[Lldb-commits] [PATCH] Fix a comment for ValueObject::GetValueDidChange after r231526

Greg Clayton clayborg at gmail.com
Tue Mar 10 13:44:34 PDT 2015

A better comment might be:

"Values that persist between stops, like local variables in a function in a specific stack frame, can say if the value has changed. A SBValue must have been previously asked to retrieve its value via GetValue(), GetSummary(), GetValueAsSigned(), GetValueAsUnsigned(), or GetLocation() before it can answer if a value has changed on subsequent stops or after expression evaluation. Any SBValue that returns NULL from SBValue::GetValue() is considered to not have a value. Aggregate values like structs, unions, classes, and arrays fall into this category. The SBValue objects for these values and will never return "true" for a call to GetValueDidChange() as the code would need to compute all child values and ask if any child values have changed in order to correctly return the result. This can be very expensive to calculate and could cause IDEs with variable views displaying many variables to incur performance problems if the variables are not expanded in the GUI. If this functionality is desired, the current SBValue API can be used to iterate across all children and ask each child SBValue if each one has changed."



More information about the lldb-commits mailing list