print
进行通常的shot弹枪调试。但是,当我开发更大的IDAPython脚本时,我需要一种调试它的方法。 我已经搜索并发现可以使用WingIDE调试IDAPython,但是我想找到另一个不需要WingIDE的对象。还有另一种调试IDAPython脚本的方法吗?
#1 楼
更新:这似乎已经过时了。您可以使用适用于Visual Studio的Python工具调试IDAPython脚本。它是完全免费的,并且非常易于使用。
有关此信息,请参阅本教程。
评论
本教程是错误或过时的。我对Visual Studio 2019和IDA 7.2重复了这些步骤,但无法正常工作。当Visual Studio开始附加到IDA时,它将报告错误。错误文本非常有用;)它是“发生一般错误” ...
– Vitalii
19年8月7日,11:10
谢谢。编辑答案以反映出来。
–TMR232
19年8月7日在12:34
那enable_attach(secret =“部分是错误的。需要像ptvsd.enable_attach(address =('localhost',5678))这样的东西:reverseengineering.stackexchange.com/questions/25102/…
–Trass3r
10月6日13:18
#2 楼
你可以这样做。去年夏天,我与Hexrays和WingIDE的家伙一起工作,并开始了这项工作。实际上它在文档中!http://wingware.com/doc/howtos/idapython
它动摇了。
Riley
#3 楼
据我所知,无法在IDA中调试python。但是,有一些python工具可以用来调试自己的代码。围绕内置的python调试工具开发自己的python IDE /调试器实用工具。从python编译并运行自己的python代码。更基本的方法是使用python
compile
内置函数将python代码编译为字节码,然后通过eval
或exec
(也是内置函数)执行该代码。 compile
返回一个AST
(抽象语法树)对象,您可以进一步对其进行操作/研究。使用python调试器(来自python)
如果您想要更高级的调试功能,python可以自己构建名为
pdb
的python调试器模块。您只需告诉pdb
要执行什么python代码,它就会产生类似于gdb
的调试器接口,命令行调试器可让您设置条件断点,操作和分析python代码以及使用大多数常用的调试工具。 br /> 使用python调试框架
python调试器基于python
bdb
(基本调试器)构建,它是实现调试功能的类,可以在IDA的python命令行中使用。如果要使用bdb
,则必须围绕这些实用程序创建自己的工具和UI。编辑:
我现在才看到WingIDE。由于OP并未使用WingIDE确切说明问题所在,因此我希望至少其中一种方法具有相关性。
评论
我想问题是它并不便宜。
–cb88
2013年6月6日22:36
@ cb88:45美元与约500美元的IDA费用?。听起来有点奇怪,但我想可能是原因。
– NirIzr
2013年6月6日23:48
评论
我想我是老式的,我用'print'