vimspector/python3/vimspector
Ben Jackson d52eb3a6e9 Fix thread state and PC for starting node app
The problem is the sequence of events sent by the debug adapter.
Vimspector requests threads:

* When the initialisation exchange completes (requests all threads)
* Whenever a thread event is received
* whenever a stopped event is received.

If any of those happens while any other request is in progress, we cache
the request and handle it later. The latest request is processed when
the response to the outstanding request is received.

The problem is if the event is a stopped event, it is the handling of
the threads request that actually sets the thread state internally to
stopped. In a sequence where the first event is a stopped event, we end
up discarding the stopped event. like:

1. Stopped event (thread 1 = stopped) (request threads)
2. Initialisation complete (cache request)
3. threads response received (discard response and process cached request)
4. response received (but forgotten about the stopped event).

The solution is to always process the thread response, even if we send
the cached request. To avoid flicker, we don't draw the screen, or
expand any threads/stacks in the case where we're sending a cached
request.
2021-01-08 11:35:01 +00:00
..
vendor Support c-style comments in JSON 2020-03-21 15:16:07 +00:00
__init__.py Talk to a job from python 2018-05-16 02:31:23 +01:00
breakpoints.py Fix clearing temp breakpoints - ensure that the isngs are undisplayed 2020-11-22 13:25:10 +00:00
code.py Allow setting the current thread, use a sign to highlight the line with the current thread 2020-11-22 14:13:14 +00:00
debug_adapter_connection.py Update netcoredbg 2020-11-09 21:57:47 +00:00
debug_session.py Fix docker example for python 2020-12-22 15:45:26 +00:00
developer.py Use any python for debugpy 2020-07-31 22:19:10 +01:00
gadgets.py bump debugpy gadget to version 1.2.1 2021-01-02 15:46:53 -05:00
install.py Upgrade gadgets when they change 2020-07-24 17:12:07 +01:00
installer.py Allow a gadget to specify a custom extension path 2020-12-24 14:55:40 -05:00
output.py Work around neovim WinBar rendering bug 2020-11-19 23:29:13 +00:00
settings.py Allow setting the current thread, use a sign to highlight the line with the current thread 2020-11-22 14:13:14 +00:00
signs.py Add SetLineBreakpoint and ClaerLineBreakpoint APIs 2020-10-17 22:40:08 +01:00
stack_trace.py Fix thread state and PC for starting node app 2021-01-08 11:35:01 +00:00
terminal.py Update mono debug; even though it doesn't work 2020-11-16 21:17:22 +00:00
utils.py Work around neovim WinBar rendering bug 2020-11-19 23:29:13 +00:00
variables.py Print failure when watch expression errors 2020-12-02 15:26:30 +00:00