commit | 01713eefab65079d0aa9e4c956e7822bd5067a01 | [log] [tgz] |
---|---|---|
author | Brett Wilson <brettw@google.com> | Fri Aug 16 20:25:17 2019 +0000 |
committer | CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> | Fri Aug 16 20:25:17 2019 +0000 |
tree | ff9f560c876886714452d2caa27f3cc3362d5298 | |
parent | a149e23b254d7f71b32be6828fcf9f67ebc3a6e5 [diff] |
[debugger] Resolve extern variables Implements reading extern global variables and static structure members defined externally. This requires converting the extern value declaration to a real variable to get its location, and then evaluating that. This requires a new member is added to Value that reflects the DW_AT_external DWARF tag. Symbol reading is updated accordingly. This function is added to EvalContext::GetVariableValue() which handles the global extern variable case. This function is changed to take a Valur and not a Variable so both Variables and static DataMembers can be passed to it. A special code path is added to resolving structure members that detects extern static members and resolve the variable using the above function. Array symbols are updated to allow unknown array sizes. These can be encountered when dealing with extern data. There is not much to do with this type, but we can at least represent it without errors. Documentation is added to array_type.h on this case. Skips printing static data members when printing structs. This decision is documented in format.cc. We can reevaluate and add in the future if desired. Change-Id: I65a7dda98664f8fccb1e943cfb9420fcdf885654
Pink + Purple == Fuchsia (a new operating system)
Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.
Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.
See Getting Started.
See fuchsia.dev.