eset / ipyida

IPython console integration for IDA Pro

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

spyder-kernels support

mbevilacqua opened this issue · comments

This is great but it would be even greater if it supported using a spyder-kernels Python kernel too in order to be able to benefit from Spyder's variable explorer while debugging.
Would that be doable? any pointers for me to try to dig into it and see how much of a hassle it would be to get it working?

I'm not a Spyder user myself so I installed it to give it a try. I was able to connect to the console and use the embed editor, with online help and debugging.

For the console, use the %connection_info command in IPyIDA console to get the kernel connection file. You should see

...
or, if you are local, you can connect with just:
    $> jupyter <app> --existing kernel-61061.json
...

Copy the kernel-*.json and paste it in Consoles → Connect to an existing kernel. Click Ok and a new IPython console should open, importing idaapi and other modules should work.

To get code completion and online help in the editor, add {IDA_PATH}/python/3/ to the PYTHONPATH using Tools → PYTHONPATH manager.

Screen Shot 2022-09-12 at 10 52 59 AM

Hi Marc, maybe I wasn't clear enough. I'm actually using spyder against ipyida as you describe already and it works great. My question was specifically in relation to the possibility of using spyder-kernels Python kernel in ipyida. The spyder python kernels are instrumented to enable the Variable Explorer component (seen in your screenshot above in a tab) in Spyder to explore complex python variables easily and quickly like on any modern IDE.

Ah! I see, spyder-kernels is a thing :) It seems like an Jupyter kernel supporting additional messages. I'll see how feasible this is.