[PATCH] D111447: [Dexter] Add DexDeclareAddress command and address function

Orlando Cazalet-Hyams via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 12 08:14:22 PST 2021


Orlando accepted this revision.
Orlando added a comment.
This revision is now accepted and ready to land.

I've looked at the two changes since my SGTM comment, which I'll now happily upgrade to a LGTM.

The regression tests look great! Most of them have `REQUIRES: system-linux`. I assume this is because they rely on the conditional controller, and dbgeng wrapper doesn't support it. Is that right? If so, I wonder if there's anything stopping them working on `system-darwin`. Perhaps these should instead be `XFAIL: system-windows` instead?

I enjoy the small refactor, and the improved verbose output looks good. Thanks!



================
Comment at: cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectWatchBase.py:31
+    def resolved_value(self, resolutions):
+        if not self.name in resolutions or resolutions[self.name] is None:
+            return None
----------------
StephenTozer wrote:
> Aforementioned minor fix is here: the addition of `resolutions[self.name] is None` is needed to catch an address which is validly declared but does not have a resolved value (which should be because the line it was declared for was never stepped on). This results in a 'missing value' result for the variable that references it.
SGTM


================
Comment at: cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectWatchBase.py:34
+            return None
+        # Technically we should fill(8) if we're debugging on a 32bit architecture?
+        return format_address(resolutions[self.name] + self.offset)
----------------
nit: this comment needs updating after the latest change


================
Comment at: cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp:6-9
+//
+//      Note: Currently "misordered result" is the only penalty that does not
+//      display the address properly; if it is implemented, this test should be
+//      updated.
----------------
I don't think it should block the feature either way but I'm curious about why this is? 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111447/new/

https://reviews.llvm.org/D111447



More information about the llvm-commits mailing list