forked from platformio/platformio-core
Fixed an issue with silent hanging when a custom debug server is not found // Resolve #3756
This commit is contained in:
@@ -16,6 +16,7 @@ PlatformIO Core 5
|
|||||||
- Boosted `PlatformIO Debugging <https://docs.platformio.org/page/plus/debugging.html>`__ performance thanks to migrating the codebase to the pure Python 3 Asynchronous I/O stack
|
- Boosted `PlatformIO Debugging <https://docs.platformio.org/page/plus/debugging.html>`__ performance thanks to migrating the codebase to the pure Python 3 Asynchronous I/O stack
|
||||||
- Support debugging on Windows using Windows CMD/CLI (`pio debug <https://docs.platformio.org/page/core/userguide/cmd_debug.html>`__) (`issue #3793 <https://github.com/platformio/platformio-core/issues/3793>`_)
|
- Support debugging on Windows using Windows CMD/CLI (`pio debug <https://docs.platformio.org/page/core/userguide/cmd_debug.html>`__) (`issue #3793 <https://github.com/platformio/platformio-core/issues/3793>`_)
|
||||||
- Configure a custom pattern to determine when debugging server is started with a new `debug_server_ready_pattern <https://docs.platformio.org/page/projectconf/section_env_debug.html#debug-server-ready-pattern>`__ option
|
- Configure a custom pattern to determine when debugging server is started with a new `debug_server_ready_pattern <https://docs.platformio.org/page/projectconf/section_env_debug.html#debug-server-ready-pattern>`__ option
|
||||||
|
- Fixed an issue with silent hanging when a custom debug server is not found (`issue #3756 <https://github.com/platformio/platformio-core/issues/3756>`_)
|
||||||
|
|
||||||
5.1.1 (2021-03-17)
|
5.1.1 (2021-03-17)
|
||||||
~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
@@ -155,11 +155,13 @@ def cli(ctx, project_dir, project_conf, environment, verbose, interface, __unpro
|
|||||||
asyncio.set_event_loop(loop)
|
asyncio.set_event_loop(loop)
|
||||||
client = GDBClientProcess(project_dir, debug_config)
|
client = GDBClientProcess(project_dir, debug_config)
|
||||||
coro = client.run(__unprocessed)
|
coro = client.run(__unprocessed)
|
||||||
loop.run_until_complete(coro)
|
try:
|
||||||
del client
|
loop.run_until_complete(coro)
|
||||||
if IS_WINDOWS:
|
if IS_WINDOWS:
|
||||||
# an issue with asyncio executor and STIDIN, it cannot be closed gracefully
|
# an issue with asyncio executor and STIDIN, it cannot be closed gracefully
|
||||||
proc.force_exit()
|
proc.force_exit()
|
||||||
loop.close()
|
finally:
|
||||||
|
del client
|
||||||
|
loop.close()
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
@@ -51,10 +51,9 @@ class DebugServerProcess(DebugBaseProcess):
|
|||||||
server_executable = where_is_program(server_executable)
|
server_executable = where_is_program(server_executable)
|
||||||
if not os.path.isfile(server_executable):
|
if not os.path.isfile(server_executable):
|
||||||
raise DebugInvalidOptionsError(
|
raise DebugInvalidOptionsError(
|
||||||
"\nCould not launch Debug Server '%s'. Please check that it "
|
"Could not launch Debug Server '%s'. Please check that it "
|
||||||
"is installed and is included in a system PATH\n\n"
|
"is installed and is included in a system PATH\n"
|
||||||
"See documentation:\n"
|
"See https://docs.platformio.org/page/plus/debugging.html"
|
||||||
"https://docs.platformio.org/page/plus/debugging.html\n"
|
|
||||||
% server_executable
|
% server_executable
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user