Skip to content

Commit 31165bf

Browse files
committed
update documentation on reloading plugins
1 parent 0a7cb3d commit 31165bf

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

docs/guide/plugins.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,15 @@ The second and more powerful (but more complicated) mechanism is to leverage the
137137

138138
It's useful to be able to reload your plugin during testing. On the Commercial edition of Binary Ninja, this is easily accomplished with a stand-alone headless install using `import binaryninja` after [installing the API]. (install_api.py is included in every install in the installation folder)
139139

140-
For the Personal edition, we recommend simply commenting out the `register_` function normally used to register the plugin via whatever mechanism it uses and instead simply using the built-in Python console along with the python `reload` function to load new changes and test them by directly calling functions in the module. This work-around unfortunately is not supported for Binary View or Architecture plugins which unfortunately do require a restart to test if not running on Commercial.
140+
For other plugins, we recommend the following workflow from the scripting console which enables easy iteration and testing:
141+
142+
```python
143+
import pluginname
144+
import importlib
145+
importlib.reload(pluginname);pluginname.callbackmethod(bv)
146+
```
147+
148+
Then just `[UP] [ENTER]` to trigger the reload when the plugin has changed.
141149

142150
[PluginManager API]: https://api.binary.ninja/binaryninja.pluginmanager-module.html
143151
[example]: https://github.com/Vector35/binaryninja-api/tree/dev/python/examples

0 commit comments

Comments
 (0)