I'm building an IDA Pro plugin (not a script) using the C++ SDK. On top of the frustration added by the lack of a proper API documentation, I cannot find a good way to debug my plugin.
I've tried printing messages to the output window of IDA Pro.
...
msg("Everything OK up to point 1\n");
...
msg("Everything OK up to point 2\n");
...
However, whenever my plugin hits an error state, IDA Pro crashes before I get a chance to read the messages that my plug-in printed in the output window.
While searching for a solution I stumbled upon the Wingware Python IDE which can be used to debug IDAPython. The drawbacks however are that it is not free and I am not developing the plugin in python.
One obvious thing to try is writing to a text file instead of writing to the IDA output window. However, that is not handy debugging. Isn't there a better way to debug an IDA Pro plugin built with C++ SDK?