Cirn09 / idavscode

Debug IDAPython in VSCode
MIT License
19 stars 4 forks source link

能否附加到 ida? #4

Open RainbowXie opened 8 months ago

RainbowXie commented 8 months ago

调试 ida 插件的时候,必须得 attach 上,不能用 launch。这个插件能否实现?

Cirn09 commented 8 months ago

可以,但是可能得等很久我才有空去实现。

我之前调试插件时用了两种方法,第一种是不需要启动时加载的插件,直接 idavscode launch 就可以调;另一种是必须启动时注册的,可以在插件代码里加上如下代码开一个调试 socket,然后 vscode remote attach(用 idavscode 执行一段代码也会打开一个调试 socket)。时间有点久远,第二种方式中 vscode 打开代码的路径应该是需要在 ida 插件路径里。


import debugpy
debugpy.listen(("localhost", 5678))
...
RainbowXie commented 8 months ago

vscode remote attach 这个是在哪设置呢?没搜到有这个属性,直接用 idavscode 运行插件那一页的代码也不行。 我是在插件的代码最前面放的上面代码。是没对吗?

Cirn09 commented 8 months ago

是 vscode Python 插件提供的 Remote Attach:add configuration... -> Python Debugger -> Remote Attach


        {
            "name": "Python Debugger: Remote Attach",
            "type": "debugpy",
            "request": "attach",
            "connect": {
                "host": "localhost",
                "port": 5678
            },
            "pathMappings": [
                {
                    "localRoot": "${workspaceFolder}",
                    "remoteRoot": "."
                }
            ]
        },
RainbowXie commented 8 months ago

还是不行。主要我是注册的那种插件,写到注册的内容外面,执行 listen 之后调试就结束了;写到注册的内容里面,根本执行不到。🤣