Installs menu items Set breakpoint
and Delete breakpoint
for setting and deleting breakpoints in GDB or LLDB from Binary Ninja via the Voltron API.
Right clicking on an instruction in the binary view and selecting Set breakpoint
will set a new breakpoint in the debugger:
The Voltron breakpoints view will update to show the new breakpoint:
And a comment will be added in Binary Ninja to indicate that there is a breakpoint set at this address:
Right clicking on an instruction in the binary view where a breakpoint has been set and selecting Delete breakpoint
will remove the breakpoint in the debugger:
And the comment will be removed:
Note: this plugin requires the current version of Voltron from GitHub. It won't work with v0.1.6 from PyPI.
Installs menu items Sync with Voltron
and Stop syncing with Voltron
for synchronising the currently selected instruction with the instruction pointer in a debugger using Voltron. It also synchronises breakpoints, and marks any instructions that have breakpoints set in the debugger with a comment.
Right clicking anywhere in the binary view and selecting Sync with Voltron
will start the Voltron client in a background thread within Binary Ninja to watch Voltron for updates:
If you set a breakpoint in your inferior (here using the test inferior included with Voltron loaded in both Binary Ninja and LLDB, with a breakpoint set at main
in LLDB) and run it, when the debugger stops at the breakpoint the address at which the breakpoint is set will be selected in Binary Ninja:
If you then step the debugger, the next instruction will be selected in Binary Ninja:
Setting a breakpoint using the voltron_breakpoint.py
plugin included here will also work:
Then when the debugger is issued the continue
command and stops at the new breakpoint:
The Binary Ninja selection will again be updated:
You can stop synchronising the display with Voltron with the Stop syncing with Voltron
menu item: