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
#42 The resolution of this issue may not be applicable in every scenario and not all GDB targets support it, while my use case can be solved using -gdb-set target-async on I still feel there should be a method for interrupting execution that works on all platforms.
Describe the solution you'd like
A method that works consistently in all environments with most GDB implementations.
Also the GdbController constructor should have an argument that controls how the process is going to be started with regards to the child process' group.
However the issue is that the Signal is also received by Python itself, which in my case causes Pytest to end abruptly in a KeyboardInterrupt exception.
This problem can be fixed by changing the signal handler, or the better way is to assign a new group to the child process, on Unix it's os.setgpid(pid, gid) and on Windows subprocess.Popen(command, ..., creationflags=subprocess.CREATE_NEW_PROCESS_GROUP).
Environment:
OS: Windows 10
pygdbmi version: 0.10.0.0
The text was updated successfully, but these errors were encountered:
We are also facing this issue tried above all suggestions but nothing is working for Ctrl-c event.
tried win32com also win32api.GenerateConsoleCtrlEvent(win32con.CTRL_C_EVENT, gdb_pid) but not working.
Is your feature request related to a problem? Please describe.
#26 This method has since been removed.
#42 The resolution of this issue may not be applicable in every scenario and not all GDB targets support it, while my use case can be solved using
-gdb-set target-async on
I still feel there should be a method for interrupting execution that works on all platforms.Describe the solution you'd like
A method that works consistently in all environments with most GDB implementations.
Also the GdbController constructor should have an argument that controls how the process is going to be started with regards to the child process' group.
Describe alternatives you've considered
Currently this line works, sort of:
self.gdbmi.gdb_process.send_signal(signal.CTRL_C_EVENT)
However the issue is that the Signal is also received by Python itself, which in my case causes Pytest to end abruptly in a KeyboardInterrupt exception.
This problem can be fixed by changing the signal handler, or the better way is to assign a new group to the child process, on Unix it's
os.setgpid(pid, gid)
and on Windowssubprocess.Popen(command, ..., creationflags=subprocess.CREATE_NEW_PROCESS_GROUP)
.Environment:
The text was updated successfully, but these errors were encountered: