Unhandled C++ Exception

Hi,

I messed up something in my plugin. I get a

When I run IDA Pro from VS to debug, setting IDA_NOEH=1 allowed me to capture the exception when it was thrown.

Is there another env var I need to set or is this a bug that the IDA_NOEH=1 doesn’t work any more?

Avi

Hm, how exactly do you invoke the plugin?

I start the IDA Pro from within Visual Studio:

yes, but how exactly do you trigger your plugin which throws the exception? If it happens when it’s loaded by IDA, this isn’t caught.

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.

Avi.

Changing the enabling “All C++ exceptions not in the list” settings works!

Thanks.

Avi.

I was able to find why it ran into an exception.

Added a try/catch…

Thanks!