Commit graph

1383 commits

Author SHA1 Message Date
Fabio Zadrozny
0149646a4d Consider relative paths as library paths. Fixes #1946 Fixes #2027
This commit also makes sure that unhandled exceptions raised
in libraries are shown if some frame from its stack is in user
code (when justMyCode:true).
2020-01-10 07:02:00 -03:00
Pavel Minaev
a66e624fb4 Remove static/instance overloading for Message.cant_handle and Message.isn't_valid - doesn't work on all Python versions. 2020-01-09 15:28:00 -08:00
Pavel Minaev
5bd0e043b7 Fix #2008: Module 'ptvsd.common.log' has no attribute 'log_stderr'
Use log.stderr.levels instead.
2020-01-09 15:28:00 -08:00
Fabio Zadrozny
9c40387d03 Add symbols for the shipped binaries. Fixes #2032 (#2033) 2020-01-09 12:06:19 -08:00
Karthik Nadig
be9023847b
Add inject exe to the signing project. (#2031) 2020-01-09 11:38:24 -08:00
Pavel Minaev
9cdd098fc4
Fix logging PID mismatch between the launcher and the server 2020-01-07 17:06:20 -08:00
Fabio Zadrozny
6be0e232ea Don't show empty string when hovering over bogus word. Fixes #2011 2020-01-07 08:01:11 -03:00
Fabio Zadrozny
5f008dca37 Exception in watch view should not be structured. Fixes #2014 (#2019) 2020-01-03 12:28:50 -08:00
Fabio Zadrozny
d1f4abb216 Don't skip stepping if breakpoint with logpoint or hit count is skipped. Fixes #1898 (#2015) 2020-01-03 12:28:26 -08:00
Fabio Zadrozny
17d3056d6d Accept new style properties for debugger options. Fixes #2001 (#2005)
* Accept new style properties for debugger options. Fixes #2001

* Don't pass redirectOutput to pydevd in launch.

* Also accept 'jinja' to enable flask debugging.
2019-12-24 19:44:50 -08:00
Pavel Minaev
a8ffe4a5a9 Fix #2004: Adapter process is not fully detached from parent server (#2007)
Close stdin, stdout, and stderr in the adapter.

Double-fork() and setsid() on Unix to daemonize properly.

Use CREATE_NEW_PROCESS_GROUP and CREATE_NO_WINDOW on Win32 to daemonize properly.

Propagate socket errors from adapter to server for enable_attach().
2019-12-23 12:01:44 -08:00
Fabio Zadrozny
d9ef3ddd2d Fix SyntaxError on inputhookglut.py 2019-12-19 08:39:33 -03:00
Fabio Zadrozny
b64c597f42 Handle any exceptions from dir(). Fixes #1999 2019-12-19 08:39:06 -03:00
Fabio Zadrozny
e40e7e6d92 Show function return value when returning in step in and step over. Fixes #1078 2019-12-18 13:48:25 -03:00
Fabio Zadrozny
a50e2602de Support for step in with asyncio coroutines. Fixes #1627 2019-12-16 15:40:55 -08:00
Pavel Minaev
161c4b5f28 Don't run codecov Tox environments on Travis. 2019-12-16 14:58:55 -08:00
Pavel Minaev
e1476dcf06 Fix #1896: Using Ctrl+C causes launcher to print traceback
Ignore SIGINT in ptvsd.launcher.
2019-12-16 14:58:55 -08:00
Pavel Minaev
d2964f2e9c Disable test_systemexit on macOS due to #1988 2019-12-13 18:37:56 -08:00
Pavel Minaev
0076925d17 Improve test logging on session exit. 2019-12-13 18:37:56 -08:00
Pavel Minaev
5b32fa1923 Fix adapter without server connections not exiting if IDE connects and then immediately disconnects. 2019-12-13 18:37:56 -08:00
Pavel Minaev
0a9a4ab5a7 Only run Python 2.7 and 3.8 on Travis to speed up CI. 2019-12-13 18:37:56 -08:00
Pavel Minaev
eb50bc29df Disable attach tests on macOS + Python 3.6 due to #1967
Gracefully handle server abruptly disconnecting from adapter for the initial connection.

Fix test_exclude_rules to wait until debuggee terminates.
2019-12-13 18:37:56 -08:00
Pavel Minaev
a654c9834f Fix #1983: Attach to process: Support pid sent as a string from the extension
Allow "processId" in "attach" request to be a string, if it can be parsed as int.
2019-12-13 18:37:56 -08:00
Pavel Minaev
ffbf0e16d1 Clean up launch.json 2019-12-13 18:37:56 -08:00
Pavel Minaev
3b71a1257a Fix ptvsd telemetry event check in tests. 2019-12-13 12:29:34 -08:00
Pavel Minaev
32c0a8ac79 Fix #1978: ptvsd broken on Python 2 if python-future is installed
Re-order imports, such that Python 2 with python-future  is not misinterpreted as Python 3.
2019-12-13 12:29:34 -08:00
Pavel Minaev
34d9fd4bcf
Rename "ptvsd.adapter" telemetry output event back to "ptvsd" 2019-12-11 22:51:16 -08:00
Pavel Minaev
986c83f698 Fix #1976: Subprocesses use globally installed pydevd if present
Force subprocesses to load pydevd from the same path as the parent process.
2019-12-11 20:42:01 -08:00
Pavel Minaev
0d37f2f271 Rename ide_access_token -> client_access_token in pydevd, for consistency with terminology used in DAP. 2019-12-11 20:42:01 -08:00
Pavel Minaev
e9a5b68054 Simplify options handling. 2019-12-11 20:42:01 -08:00
Pavel Minaev
0d79c16f80 Fix #1711: adapter: access tokens
Generate server access token in enable_attach(), propagate it to the adapter, and have the adapter authenticate to the server via "pydevdAuthorize".

Generate client access token in adapter when not spawned by server, and propagate it to pydevd.

Fix pydevd to correctly propagate access tokens for subprocesses that are not forked.
2019-12-11 20:42:01 -08:00
Pavel Minaev
f51c96450c Flush tee'd output when redirecting. 2019-12-10 16:15:55 -08:00
Pavel Minaev
036812aef2 Re-pin Flask - still necessary. 2019-12-08 14:13:58 -08:00
Pavel Minaev
7687590f7f Remove unused dependencies and unnecessary version pins. 2019-12-08 14:13:58 -08:00
Pavel Minaev
a3acba68d5 Tweak test log formatting to match adapter logs, and reset session ID between tests. 2019-12-08 14:13:58 -08:00
Pavel Minaev
b23031b773 Disable "redirectOutput" in tests by default. 2019-12-08 14:13:58 -08:00
Pavel Minaev
c545ccb5f8 Fix and re-enable test_reattach. 2019-12-04 09:32:59 -08:00
Fabio Zadrozny
4df532c601 Debugger should not stop on GeneratorExit and StopIteration exceptions. Fixes #1959 2019-12-04 07:39:17 -08:00
Fabio Zadrozny
299dfa75f2 Support for step over and step return with asyncio coroutines. Fixes #1627 2019-12-04 08:03:17 -03:00
Pavel Minaev
346b97bf69 Fix #1938: Debuggee output is UTF-8 regardless of locale
Fix #1954: "redirectOutput" property is not respected

If "redirectOutput" is specified, always capture output as UTF-8, and encode it according to locale and Python settings.

Change the default for "redirectOutput" to be false when "console" is not set to "internalConsole", to minimize differences in behavior when running under debugger for most common scenarios.

Refactor ptvsd.launcher package to minimize circular dependencies between modules.
2019-11-27 20:35:58 -08:00
Fabio Zadrozny
5d674c49e5 Properly exit ReaderThread on socket shutdown. Fixes #1942 2019-11-26 11:18:49 -08:00
Pavel Minaev
d8d0eba519 Fix #1950: Nonsensical error message for type errors in launch.json
Use fmt() instead of format() for validation error text.
2019-11-25 16:16:23 -08:00
Fabio Zadrozny
dc950078c1 Fix TypeError on Python 2.7.5. Fixes #1941 2019-11-25 12:01:49 -08:00
Pavel Minaev
ad36606014 Fix #1944: Debugging fails with timeout when using conda run
Do not validate PID of the debuggee when debug server connects while handling "launch".

Restrict "launch" to the first session with no server connections.
2019-11-21 19:30:48 -08:00
Pavel Minaev
bd50356993 Fix #1930: "launch" doesn't work with venv on Windows and Python 3.7+
For "launch", match processes on parent PID as a fallback for PID, to accommodate launcher stubs like py.exe.
2019-11-21 15:21:22 -08:00
Fabio Zadrozny
6ae5b80382 Monkey-patch os.posix_spawn. Fixes #1934 2019-11-21 12:02:21 -08:00
Pavel Minaev
7d160fc0f8 Fix and re-enable Django multiproc test. 2019-11-20 16:15:02 -08:00
Pavel Minaev
270afb8095 Fix #1900: Ensure that the ptvsd_attach event sets the right name for child processes 2019-11-19 12:59:54 -08:00
Pavel Minaev
64e1a63db4 Adjust test timeout for CI. 2019-11-19 12:05:57 -08:00
Pavel Minaev
4fb41ca083 Disable attach_to_pid tests on MacOS + Python 2.7 (#1916) 2019-11-19 12:05:57 -08:00