[debuginfo-tests] c8e6cde - [Dexter] Avoid infinite loop in dbgeng driver

Jeremy Morse via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 4 06:57:29 PST 2021


Author: Jeremy Morse
Date: 2021-02-04T14:57:04Z
New Revision: c8e6cde95c8c14941b87f33962e89873d0638c7e

URL: https://github.com/llvm/llvm-project/commit/c8e6cde95c8c14941b87f33962e89873d0638c7e
DIFF: https://github.com/llvm/llvm-project/commit/c8e6cde95c8c14941b87f33962e89873d0638c7e.diff

LOG: [Dexter] Avoid infinite loop in dbgeng driver

This method of the dbgeng debugger driver used to just "pass", as setting
dbgeng free running still leads to numerous errors. This wasn't a problem
in the past because, as it turns out, nothing called the go method.
However, a recent refactor uses it.

Rather than launch dbgeng free running, instead have it single step one
step forwards. This is slow, but it makes progress, where previously we
weren't.

Differential Revision: https://reviews.llvm.org/D91737

Added: 
    

Modified: 
    debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py

Removed: 
    


################################################################################
diff  --git a/debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py b/debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py
index 69e4b3b1267a..5105b4afa706 100644
--- a/debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py
+++ b/debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py
@@ -103,8 +103,11 @@ def step(self):
         self.step_info = res
 
     def go(self):
-        # We never go -- we always single step.
-        pass
+        # FIXME: running freely doesn't seem to reliably stop when back in a
+        # relevant source file -- this is likely to be a problem when setting
+        # breakpoints. Until that's fixed, single step instead of running
+        # freely. This isn't very efficient, but at least makes progress.
+        self.step()
 
     def _get_step_info(self, watches, step_index):
         frames = self.step_info


        


More information about the llvm-commits mailing list