我正在使用C ++ SDK构建一个IDA Pro插件(不是脚本)。除了缺少适当的API文档而增加的挫败感外,我找不到调试插件的好方法。

我尝试将消息打印到IDA Pro的输出窗口。

...
msg("Everything OK up to point 1\n");
...
msg("Everything OK up to point 2\n");
...


但是,只要我的插件遇到错误状态,IDA Pro就会崩溃,然后我才有机会阅读插件在输出窗口中打印的消息。

在寻找解决方案时,我偶然发现了可用于调试IDAPython的Wingware Python IDE。但是,缺点是它不是免费的,并且我不是在python中开发插件。但是,这不是方便的调试。没有更好的方法来调试使用C ++ SDK构建的IDA Pro插件吗?

评论

这几乎不是RE。您可以像调试其他任何DLL一样调试插件。

我在这里提出问题的原因是:(1)RE有很多IDA专家和问题,(2)我不知道.plx与DLL或.so是等效的。

#1 楼

大多数现代IDE允许您指定调试时要启动的可执行文件,您应该指定ida可执行文件。否则,请尝试附加到正在运行的IDA进程。

当在插件的run()函数中放置断点时,IDE将在运行时停止,并且您可以单步执行等操作。

此外,如果启用“打破异常”功能,IDE可能会找出插件中是否存在异常,并为您加载正确的源文件。