diff --git a/decomp2dbg/__init__.py b/decomp2dbg/__init__.py index 8701bb8..0307cd7 100644 --- a/decomp2dbg/__init__.py +++ b/decomp2dbg/__init__.py @@ -1,4 +1,4 @@ -__version__ = "3.9.4" +__version__ = "3.9.5" try: from .clients.client import DecompilerClient diff --git a/decompilers/d2d_angr/server.py b/decompilers/d2d_angr/server.py index 33747f0..dc2026f 100644 --- a/decompilers/d2d_angr/server.py +++ b/decompilers/d2d_angr/server.py @@ -80,7 +80,12 @@ def decompile(self, addr: int): func_addr = self._instance.cfg.get_any_node(addr, anyaddr=True).function_address func = self._instance.kb.functions[func_addr] decomp = self._decompile_function(func) - pos = decomp.map_addr_to_pos.get_nearest_pos(addr) + try: + pos = decomp.map_addr_to_pos.get_nearest_pos(addr) + except Exception as e: + print(f"Failed to get nearest pos: {e} for {hex(addr)}, skipping decomp") + return resp + size = len(decomp.text) line_end = decomp.text.find("\n", pos) line_start = size - decomp.text[::-1].find("\n", size - line_end)