You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, thanks for your plugin; it helped me. I had two small issues with using it, both of which I fixed (with one line of code apiece).
The plugin advertises Python 2.x support. In the current plugin.py, you put import asyncio to apparently get around some issue with tornado. This is not available on Python 2.x (I know, I need to update). I simply commented out this line. You might want to guard it by a version check for 3.0 or above, similar to what you do elsewhere throughout that file. (Edit: I see that PR #13 already addresses this.)
Secondly, in socket_handler.py, I experienced the issue where debugpy attempted to spawn the current process -- that is, the IDA executable -- when listening for connections. I had debug output like:
I+00021.467: debugpy.listen() spawning adapter: [
"C:\\Program Files\\IDA Pro 7.6\\ida64.exe",
"C:\\Users\\Dev\\AppData\\Roaming\\Python\\Python27\\site-packages\\debugpy\\adapter",
That first line is supposed to be the path to the Python interpreter, e.g., settings.PYTHON. After reading through debugpy, I can see that it consults sys.executable to obtain the path to the process that should be spawned. Presumably, this is why you modify this variable in your setup_patches function. However, the debugpy module gets loaded before setup_patches is called, which means that this technique does not work.
It turns out that you can instruct debugpy directly as to which executable to spawn. In socket_handler.py, I added one line of code before the call to listen:
debugpy.configure({"python": settings.PYTHON})
After both patches -- and installing the official Python extension for VSCode, as well as learning about the command pallette -- everything worked for me.
The text was updated successfully, but these errors were encountered:
Hi, thanks for your plugin; it helped me. I had two small issues with using it, both of which I fixed (with one line of code apiece).
The plugin advertises Python 2.x support. In the current plugin.py, you put
import asyncio
to apparently get around some issue with tornado. This is not available on Python 2.x (I know, I need to update). I simply commented out this line. You might want to guard it by a version check for 3.0 or above, similar to what you do elsewhere throughout that file. (Edit: I see that PR #13 already addresses this.)Secondly, in socket_handler.py, I experienced the issue where debugpy attempted to spawn the current process -- that is, the IDA executable -- when listening for connections. I had debug output like:
That first line is supposed to be the path to the Python interpreter, e.g.,
settings.PYTHON
. After reading through debugpy, I can see that it consultssys.executable
to obtain the path to the process that should be spawned. Presumably, this is why you modify this variable in yoursetup_patches
function. However, the debugpy module gets loaded beforesetup_patches
is called, which means that this technique does not work.It turns out that you can instruct debugpy directly as to which executable to spawn. In socket_handler.py, I added one line of code before the call to
listen
:After both patches -- and installing the official Python extension for VSCode, as well as learning about the command pallette -- everything worked for me.
The text was updated successfully, but these errors were encountered: