Here is the startup code. The IDA_NOEH=1 used to work. But I’ve no idea whether that is the problem or not.
plugin_t PLUGIN =
{
IDP_INTERFACE_VERSION,
PLUGIN_PROC,//|PLUGIN_FIX, // plugin flags
// we want the plugin to load as soon as possible
// immediately after the processor module
// be a menu item in the Edit submenu
init, // initialize
term, // terminate. this pointer may be NULL.
nullptr, // invoke plugin
“BaanVM (bshell) disassembler for byte codes (3GL Objects)”, // long comment about the plugin
// it could appear in the status line
// or as a hint
“”, // multiline help about the plugin
"BaanVM OIP", // the preferred short name of the plugin
"Alt+P" // the preferred hotkey to run the plugin
Sorry, I must have been unclear because I still don’t have answer to my question. Is the exception thrown by init(), or some action handler (e.g. hotkey)?
What’s the last version of IDA that managed to catch this exception?
If you prefer, you can send a stripped-down version of the plugin to support for investigation.
In the meantime I’d suggest adding the exception’s class to the list of “break when thrown” in VS debugger’s “Exception settings” (or enabling “All C++ exceptions not in the list”).
I start the UI part of my plugin using a command I defined in IDC.
This will start my UI. From the UI there is a button which does some processing and there it fails.
I’ll check the VS exception flags and let you know.
The setup to test is a bit complex so if and when I create a repro, I’ll let you know.
And maybe I’ll add a try/catch so it doesn’t kill of my IDA.
I believe the last time it worked it was with a 8.4 version or even lower.