diff options
author | Enrico Granata <granata.enrico@gmail.com> | 2011-08-11 17:08:01 +0000 |
---|---|---|
committer | Enrico Granata <granata.enrico@gmail.com> | 2011-08-11 17:08:01 +0000 |
commit | 8c9d35603eb45eb50d7deaa2bf2fa629f3dfb74b (patch) | |
tree | ef94da4b55ccb6672bbc084954b80817883c5af5 /lldb/source/Core/Debugger.cpp | |
parent | efdd183f5292b108015e2279f28e259869e7185e (diff) | |
download | bcm5719-llvm-8c9d35603eb45eb50d7deaa2bf2fa629f3dfb74b.tar.gz bcm5719-llvm-8c9d35603eb45eb50d7deaa2bf2fa629f3dfb74b.zip |
Fixed an issue where a pointer's address was being logged instead of its value
Access to synthetic children by name:
if your object has a synthetic child named foo you can now type
frame variable object.foo (or ->foo if you have a pointer)
and that will print the value of the synthetic child
(if your object has an actual child named foo, the actual child prevails!)
this behavior should also work in summaries, and you should be able to use
${var.foo} and ${svar.foo} interchangeably
(but using svar.foo will mask an actual child named foo)
llvm-svn: 137314
Diffstat (limited to 'lldb/source/Core/Debugger.cpp')
-rw-r--r-- | lldb/source/Core/Debugger.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp index 8d13293640e..08cbb1c4755 100644 --- a/lldb/source/Core/Debugger.cpp +++ b/lldb/source/Core/Debugger.cpp @@ -795,7 +795,7 @@ ScanBracketedRange(const char* var_name_begin, *index_lower = ::strtoul (*open_bracket_position+1, &end, 0); *index_higher = *index_lower; if (log) - log->Printf("[%d] detected, high index is same",index_lower); + log->Printf("[%d] detected, high index is same", *index_lower); } else if (*close_bracket_position && *close_bracket_position < var_name_end) { @@ -803,7 +803,7 @@ ScanBracketedRange(const char* var_name_begin, *index_lower = ::strtoul (*open_bracket_position+1, &end, 0); *index_higher = ::strtoul (*separator_position+1, &end, 0); if (log) - log->Printf("[%d-%d] detected",index_lower,index_higher); + log->Printf("[%d-%d] detected", *index_lower, *index_higher); } else { @@ -1044,7 +1044,7 @@ Debugger::FormatPrompt ValueObject::ExpressionPathAftermath what_next = (do_deref_pointer ? ValueObject::eDereference : ValueObject::eNothing); ValueObject::GetValueForExpressionPathOptions options; - options.DontCheckDotVsArrowSyntax().DoAllowBitfieldSyntax().DoAllowFragileIVar(); + options.DontCheckDotVsArrowSyntax().DoAllowBitfieldSyntax().DoAllowFragileIVar().DoAllowSyntheticChildren(); ValueObject::ValueObjectRepresentationStyle val_obj_display = ValueObject::eDisplaySummary; ValueObject* target = NULL; lldb::Format custom_format = eFormatInvalid; |