-
Notifications
You must be signed in to change notification settings - Fork 6.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Breakpoints window can become unusable in Debugger #7497
Comments
While trying to reproduce I encountered another error that prevents me from enabling/disabling any breakpoints in the window
Traceback (most recent call last):
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\hooks.py", line 156, in _func
return func(*args, **kwargs)
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\hooks.py", line 190, in on_state_changed
return on_stop(args)
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\hooks.py", line 386, in on_stop
state.record("Stopped")
~~~~~~~~~~~~^^^^^^^^^^^
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\hooks.py", line 102, in record
commands.put_breakpoints()
~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\util.py", line 290, in _func
return func(*args, **kwargs)
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\commands.py", line 1137, in put_breakpoints
put_single_breakpoint(bp, ibobj, nproc, ikeys)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\util.py", line 290, in _func
return func(*args, **kwargs)
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\commands.py", line 1073, in put_single_breakp
oint
prot = {4: 'HW_EXECUTE', 2: 'READ', 1: 'WRITE'}[prot]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
KeyError: 3
0:000> I don't think I have enough power to push that further :D |
It happens when this breakpoints is added with address 000000 (why is it added? ) You try to clear it And there's the error. Error caused by front end
Traceback (most recent call last):
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\methods.py", line 169, in find_bpt_by_number
bp = dbg()._control.GetBreakpointById(breaknum)
File "C:\ghidra\ghidra_11.3\Contrib\PYTHON\venv_windbg\Lib\site-packages\pybag\dbgeng\idebugcontrol.py", line 383, in GetBreakpo
intById
exception.check_err(hr)
~~~~~~~~~~~~~~~~~~~^^^^
File "C:\ghidra\ghidra_11.3\Contrib\PYTHON\venv_windbg\Lib\site-packages\pybag\dbgeng\exception.py", line 60, in check_err
raise err
pybag.dbgeng.exception.E_NOINTERFACE_Error: The object searched for was not found
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-rmi-trace\pypkg\src\ghidratrace\client.py", line 65, in _handle_invoke_method
result = self.client._handle_invoke_method(request)
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-rmi-trace\pypkg\src\ghidratrace\client.py", line 1146, in _handle_invoke_metho
d
return method.callback(**kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\util.py", line 292, in _func
return self.run(func, *args, **kwargs)
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\util.py", line 261, in run
return future.result(0.5)
~~~~~~~~~~~~~^^^^^
File "C:\users\buk\appdata\local\programs\python\python313\Lib\concurrent\futures\_base.py", line 456, in result
return self.__get_result()
~~~~~~~~~~~~~~~~~^^
File "C:\users\buk\appdata\local\programs\python\python313\Lib\concurrent\futures\_base.py", line 401, in __get_result
raise self._exception
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\util.py", line 119, in run
result = self.fn(*self.args, **self.kwargs)
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\methods.py", line 543, in delete_breakpoint
bpt = find_bpt_by_obj(breakpoint)
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\methods.py", line 184, in find_bpt_by_obj
return find_bpt_by_pattern(PROC_BREAKBPT_PATTERN, object, "a BreakpointSpec")
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\methods.py", line 180, in find_bpt_by_pattern
return find_bpt_by_number(breaknum)
File "C:\ghidra\ghidra_11.3\Ghidra\Debug\Debugger-agent-dbgeng\pypkg\src\ghidradbg\methods.py", line 172, in find_bpt_by_number
raise KeyError(f"Breakpoints[{breaknum}] does not exist")
KeyError: 'Breakpoints[1] does not exist' |
May have a lead on this or at least on a related issue - ticket in. |
Describe the bug
Environment (please complete the following information):
The text was updated successfully, but these errors were encountered: