diff options
| author | Orlando Cazalet-Hyams <orlando.hyams@sony.com> | 2025-08-27 17:03:29 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-27 17:03:29 +0100 |
| commit | ab459c47d354614dcdc3d6f5045c22e5eb4a0b3f (patch) | |
| tree | eab4a62ffed66f02c1ebe1c352a5348d48b1bccb /cross-project-tests | |
| parent | 8a5a7829a373cb0be352b2fe7fa292de032564a7 (diff) | |
[Dexter] add get_pc (#152719)
Diffstat (limited to 'cross-project-tests')
| -rw-r--r-- | cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerBase.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerBase.py b/cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerBase.py index dd5cc5d3f023..f8bee4ecb423 100644 --- a/cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerBase.py +++ b/cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerBase.py @@ -233,6 +233,17 @@ class DebuggerBase(object, metaclass=abc.ABCMeta): def evaluate_expression(self, expression, frame_idx=0) -> ValueIR: pass + def get_pc(self, frame_idx: int = 0) -> str: + """Get the current PC in frame at frame_idx depth. + frame_idx 0 is the current function. + """ + r = self.evaluate_expression("$pc", frame_idx) + if not r.could_evaluate or r.is_optimized_away or r.is_irretrievable: + raise DebuggerException( + "evaluating '$pc' failed - possibly unsupported by the debugger" + ) + return r.value + def _external_to_debug_path(self, path): if not self.options.debugger_use_relative_paths: return path |
