Commit graph

1570 commits

Author SHA1 Message Date
Pavel Minaev
45e529905d Gracefully handle missing /dev/tty when setting up process group for the debuggee. 2020-08-19 14:50:44 -07:00
Pavel Minaev
17ff9c8df9 Restrict pytest-xdist version number to support Python 2.7. 2020-08-19 14:50:44 -07:00
Pavel Minaev
5087603ea3 Fix #370: Terminal Keyboard Inputs not being accepted
Make the debuggee process group the foreground group in its session.

Add a test for input(), and improve existing stdin test to cover more cases.
2020-08-19 14:50:44 -07:00
Pavel Minaev
57ec4c4f65 Fix #125: Stop Debugging in a "noDebug" session doesn't kill subprocesses
On Windows, run the debuggee in a separate Win32 job, and terminate the job when launcher exits.

On POSIX, run the debuggee in a separate process group (PGID), and kill the entire group when launcher exits.

Improve process tree autokill tests to actually check whether the child process has exited.
2020-08-11 09:41:51 -07:00
Pavel Minaev
2c524faacd Fix #305: Add "pythonArgs" config property for interpreter arguments
Expose "pythonArgs" to clients.

Make "python" usable in tests in lieu of "pythonPath", and make the runners use it.

Add tests for all combinations of "python"/"pythonPath" and "pythonArgs".
2020-08-03 11:45:55 -07:00
Fabio Zadrozny
09142fb34d Fix issue with frame eval mode and multiple breakpoints in generator. Fixes #348 2020-08-01 13:50:37 -03:00
Pavel Minaev
32ec4ba31b
Fix type of PROCESS_SPAWN_TIMEOUT and PROCESS_EXIT_TIMEOUT 2020-07-27 17:38:48 -07:00
Fabio Zadrozny
ad3ade8e84 Show user traceback for errors raised in the debug console. Fixes #328 2020-07-24 08:24:44 -03:00
Fabio Zadrozny
499bbb2a1e Don't patch stdin on debugpy. Fixes #296 2020-07-23 08:28:14 -03:00
Fabio Zadrozny
1bef8e5ffb Improve dealing with blocking evaluate requests. Fixes #157 2020-07-18 14:57:02 -03:00
Pavel Minaev
4069c670bd Fix #314: Occasional missing response to "configurationDone"
Actually handle missing response to "configurationDone".

Fix comment for handling missing responses to "launch" and "attach".
2020-07-16 16:00:43 -07:00
Pavel Minaev
440587b261 Fix #314: Occasional missing response to "configurationDone"
Don't treat missing response as error, but gracefully finalize the debug session instead.
2020-07-01 15:34:06 -07:00
Fabio Zadrozny
be4c063719 Revert "Sync from pydevd: improve attach to pid (patches by Søren L. Hansen)"
This reverts commit b8e66cbffc.
2020-06-29 10:09:03 -07:00
Pavel Minaev
4331cf54c0
Increase Azure pipelines timeout to 30 minutes. 2020-06-26 13:37:39 -07:00
Pavel Minaev
93982f9ad4 Reformat everything with a newer version of Black. 2020-06-26 13:37:31 -07:00
Pavel Minaev
4c323506b1
Add cached optimized bytecode (*.pyo) to "files.exclude" 2020-06-26 11:27:30 -07:00
Pavel Minaev
2896e92d49 Fix #303: Error message if subprocess exits before attach to it completes
When "subProcessId" is specified, but there's no matching subprocess, pretend that attach succeeded, but immediately terminate the session afterward.
2020-06-26 11:04:04 -07:00
Pavel Minaev
445c050932 Fix #239: Timed out waiting for debugger to spawn
Make timeouts for process spawning and exiting configurable, and increase the default value for spawning.
2020-06-26 10:53:39 -07:00
Pavel Minaev
e8bd6c1b5d Fix #304: Breakpoints not working with QThread/PySide2
Expose pydevd.enable_qt_support() in debugpy.server via debugpy.configure(qt=...) and --configure-qt ...

Expose the same in debugpy.adapter via "qt" debug configuration property.

Default to "auto" for all of the above, and also provide "none" to disable Qt monkey-patching entirely.
2020-06-25 06:25:23 -07:00
Fabio Zadrozny
b8e66cbffc Sync from pydevd: improve attach to pid (patches by Søren L. Hansen) 2020-06-25 08:23:21 -03:00
Pavel Minaev
9ba20c40af
Disable test_attach_pid_client on Windows and macOS per #311 2020-06-24 08:56:18 -07:00
Fabio Zadrozny
e01ad19cf8 Don't report caught exceptions for user unhandled exceptions. Fixes #281 2020-06-18 08:10:21 -03:00
Justin Hutchings
13e531b792 Add CodeQL security scanning 2020-06-12 22:18:42 -07:00
Karthik Nadig
9b079b5305
Merge pull request #290 from karthiknadig/update-flask
Update to use latest flask in tests
2020-06-12 22:18:24 -07:00
Karthik Nadig
984bf59ce0 Update to use latest flask in tests 2020-06-12 13:14:51 -07:00
Pavel Minaev
5cf77b6308 Disable "User Uncaught Exceptions" UX. 2020-06-09 14:17:50 -07:00
Fabio Zadrozny
fad8ae6577 If no patching is required for subprocess, return original arguments. Fixes #263 2020-06-04 09:31:54 -03:00
Fabio Zadrozny
f55bea745f Add userUnhandled to exceptionBreakpointFilters in pydevd / make default False. Fixes #275 2020-06-03 20:30:59 -07:00
Fabio Zadrozny
958af7e2f7 Don't crash if running under CPython debug build. Fixes #152 2020-06-02 12:46:52 -07:00
Fabio Zadrozny
63c0faee41 Handle userUnhandled exception breakpoints. Fixes #111 2020-06-02 12:46:37 -07:00
Karthik Nadig
1fb970643b
Increase timeout to 20 minutes 2020-05-29 12:45:44 -07:00
Fabio Zadrozny
e9fd4ac8e6 Prevent a step in from stopping into the same location in a return from a skipped function. Fixes #224 2020-05-27 07:31:16 -03:00
Fabio Zadrozny
04b9f01e20 Don't duplicate memory when getting the contents of bytes/str. Fixes #242 2020-05-27 07:30:47 -03:00
Fabio Zadrozny
4715925a00 Accept pyside 2 for qt monkey patching. 2020-05-16 07:28:42 -03:00
Fabio Zadrozny
f752952581 Pass presentationHint='locals' to 'Locals' scope. Fixes #236 2020-05-14 08:22:35 -03:00
Fabio Zadrozny
7841d251bb Return empty type for DAPGrouper instances. Fixes #237 2020-05-14 08:21:41 -03:00
Pavel Minaev
6481979e55
Update bug template. 2020-05-13 16:35:55 -07:00
Fabio Zadrozny
cc1d3f69d1 Fix flake8 issue. 2020-05-13 15:18:36 -03:00
Fabio Zadrozny
451e102606 Test to check that rules are properly reapplied on attach. Fixes #226 2020-05-13 15:18:36 -03:00
Pavel Minaev
73665b9af9 Parse and apply "python" / "pythonPath" in the adapter rather than in the launcher.
Fix errors with missing "args".

Add test for "pythonPath".
2020-05-08 17:10:34 -07:00
Pavel Minaev
65b8b38b32 Rename "debugLauncherHost" to "debugAdapterHost", to more accurately reflect its meaning.
Fix launcher to propagate "debugAdapterHost" to debug server.

Add more logging to launcher.
2020-05-08 17:10:34 -07:00
Pavel Minaev
1a44e70206 Fix #156: Add a flag for the old way of handling args from a launch config
Add new property "argsExpansion", which defaults to "shell", but can be explicitly set to "none" to request no expansion.

Propagate "args" to launcher via CLI or JSON, depending on the value of "argsExpansion".

Move the logic to compute process name back to the adapter, alongside other processing of "launch" targets.
2020-05-07 12:31:40 -07:00
Karthik Nadig
7a332142ce
Merge pull request #225 from karthiknadig/config
Update workspace config
2020-05-07 12:25:49 -07:00
Fabio Zadrozny
64bb0f3fc5 Consider filenames starting with '<' library code by default. Fixes #209 2020-05-07 15:56:39 -03:00
Fabio Zadrozny
f5bd826ab7 Only handle django and jinja2 exceptions if handling caught exceptions. Fixes #128 2020-05-07 08:47:32 -03:00
Karthik Nadig
16b5e89457 Update workspace config 2020-05-05 11:33:59 -07:00
Pavel Minaev
3f137dbf67 Fix #146: Custom launcher port for adapter
Add "debugLauncherHost" debug configuration property specifying the interface on which the debug adapter is waiting for incoming connections from the launcher.
2020-04-28 13:44:21 -07:00
Fabio Zadrozny
257d00e9dd Don't show return value when not needed in step into my code. Fixes #106 2020-04-24 09:57:42 -03:00
Pavel Minaev
50bf46cf9d Add test for "args" shell expansion. 2020-04-22 13:55:01 -07:00
Pavel Minaev
65168dd784 Fix #86: Shell expansion is not working in "args"
Propagate "args" to the launcher via command line rather than debug configuration JSON.

Parse "cwd" in the adapter, and apply it when spawning the launcher.
2020-04-22 13:55:01 -07:00