Files
hansken-extraction-plugin-s…/0.8.3/_sources/dev/concepts/all_in_one_debugging.md.txt
remco-nfi d8316d6c15 0.8.3
2024-09-20 08:49:35 +02:00

34 lines
1.8 KiB
Plaintext

# Debugging locally with Hansken All in One (AIO)
.. note:: this feature is available from Hansken 46.4.0
.. warning:: `DeferredExtractionPlugin` are currently NOT supported
It is also possible to debug an Extraction Plugin with a locally running Hansken AIO. This requires a few steps:
1. Start your plugin in your IDE (default port 8999)
![1_debug_start_plugin_in_ide.png](1_debug_start_plugin_in_ide.png)
2. Set some breakpoint(s)
![2_debug_set_breakpoints.png](2_debug_set_breakpoints.png)
3. Prepare an extraction in the AIO **with advanced** options
![3_debug_prepare_extraction.png](3_debug_prepare_extraction.png)
4. Enable the `DebugExtractionPluginTool` for this extraction
![4_debug_enable_debug_tool.png](4_debug_enable_debug_tool.png)
5. Start extraction, and happy debugging!
### Tips/notes:
- You can only debug 1 plugin at a time
- .. note:: If you are debugging `MyPlugin`, and it is also visible in the tools list, then you need to **disable** it, and **only enable** the `DebugExtractionPluginTool`
- Test your plugin with a small image. Otherwise, it might take long before you reach your breakpoint.
- Be careful when using this debugger with `APPEND` extractions:
- Similar to other tools/plugins, the `DebugExtractionPluginTool` will only run once per trace
- So if you need to re-run your debug session, then we advise you to re-extract `(INDEX)` your project instead
- Hansken runs multiple instances of every Tool, so the same breakpoint can be hit multiple times concurrently by
different instances
- limiting the number of plugin threads/workers can minimize this
- see [Specifying system resources (Python)](../python/snippets.md#Specifying system resources)
- Only restart your plugin before starting an extraction. Restarting your plugin **during** an extraction can
produce
**undefined behaviour**.