Skip to content

Commit

Permalink
Tools: gdbgui is not supported on Python 3.11
Browse files Browse the repository at this point in the history
Closes #10116
  • Loading branch information
dobairoland committed Feb 28, 2023
1 parent ab0ae87 commit 9e9cbd5
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
9 changes: 6 additions & 3 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,16 @@ pyparsing>=2.0.3,<2.4.0
pyelftools>=0.22
idf-component-manager~=1.0

gdbgui==0.13.2.0
gdbgui==0.13.2.0; python_version < "3.11"
# 0.13.2.1 supports Python 3.6+ only
# Windows is not supported since 0.14.0.0. See https://github.com/cs01/gdbgui/issues/348
pygdbmi<=0.9.0.2
pygdbmi<=0.9.0.2; python_version < "3.11"
# The pygdbmi required max version 0.9.0.2 since 0.9.0.3 is not compatible with latest gdbgui (>=0.13.2.0)
# A compatible Socket.IO should be used. See https://github.com/miguelgrinberg/python-socketio/issues/578
python-socketio<5
python-socketio<5; python_version < "3.11"

# gdbgui is not supported on Python 3.11. See https://github.com/cs01/gdbgui/issues/447
pygdbmi<=0.9.0.2; python_version > "3.10"

# esptool requirements (see components/esptool_py/esptool/setup.py)
reedsolo>=1.5.3,<=1.5.4
Expand Down
6 changes: 5 additions & 1 deletion tools/idf_py_actions/debug_ext.py
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,11 @@ def gdbui(action, ctx, args, gdbgui_port, gdbinit, require_openocd):
process = subprocess.Popen(args, stdout=gdbgui_out, stderr=subprocess.STDOUT, bufsize=1, env=env)
except Exception as e:
print(e)
raise FatalError("Error starting gdbgui. Please make sure gdbgui can be started", ctx)
if sys.version_info[:2] >= (3, 11):
raise SystemExit('Unfortunately, gdbgui is supported only with Python 3.10 or older. '
'See: https://github.com/espressif/esp-idf/issues/10116. '
'Please use "idf.py gdb" or debug in Eclipse/Vscode instead.')
raise FatalError('Error starting gdbgui. Please make sure gdbgui can be started', ctx)

processes["gdbgui"] = process
processes["gdbgui_outfile"] = gdbgui_out
Expand Down

0 comments on commit 9e9cbd5

Please sign in to comment.