Allow clients to debug code from command line, like pdb or epdb
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con debugpy/main.py y server/cli.py, y luego sigue la ruta indicada a través de server/api.py y los archivos pydevd incluidos como vendor. Reproduce el fallo de OutputEvent/command y determina si se admite la depuración desde la línea de comandos y en el shell interactivo. Se considerará terminado cuando un flujo de trabajo acordado desde la línea de comandos funcione sin este fallo y su uso esté documentado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hi there,
in my company many don't use VSCode. For this reason our main guidelines to debug are to use pdb or epdb. (https://pypi.org/project/epdb/)
However, in an effort to have just one library that works for all use cases, I'd like to have debugpy to work from command line too.
I have tried this:
python -m debugpy --connect 5678 <path of the file with debugpy.listen()>
Traceback (most recent call last):
File "/root/.cache/pypoetry/virtualenvs/viralize-adserver-9TtSrW0h-py3.8/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py", line 252, in _on_run
self.process_net_command_json(self.py_db, json_contents)
File "/root/.cache/pypoetry/virtualenvs/viralize-adserver-9TtSrW0h-py3.8/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py", line 171, in process_net_command_json
method_name = 'on_%s_request' % (request.command.lower(),)
AttributeError: 'OutputEvent' object has no attribute 'command'
^CTraceback (most recent call last):
File "/usr/local/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/root/.cache/pypoetry/virtualenvs/viralize-adserver-9TtSrW0h-py3.8/lib/python3.8/site-packages/debugpy/__main__.py", line 39, in <module>
cli.main()
File "/root/.cache/pypoetry/virtualenvs/viralize-adserver-9TtSrW0h-py3.8/lib/python3.8/site-packages/debugpy/server/cli.py", line 430, in main
run()
File "/root/.cache/pypoetry/virtualenvs/viralize-adserver-9TtSrW0h-py3.8/lib/python3.8/site-packages/debugpy/server/cli.py", line 268, in run_file
start_debugging(target)
File "/root/.cache/pypoetry/virtualenvs/viralize-adserver-9TtSrW0h-py3.8/lib/python3.8/site-packages/debugpy/server/cli.py", line 258, in start_debugging
debugpy.connect(options.address, access_token=options.adapter_access_token)
File "/root/.cache/pypoetry/virtualenvs/viralize-adserver-9TtSrW0h-py3.8/lib/python3.8/site-packages/debugpy/public_api.py", line 31, in wrapper
return wrapped(*args, **kwargs)
File "/root/.cache/pypoetry/virtualenvs/viralize-adserver-9TtSrW0h-py3.8/lib/python3.8/site-packages/debugpy/server/api.py", line 141, in debug
return func(address, settrace_kwargs, **kwargs)
File "/root/.cache/pypoetry/virtualenvs/viralize-adserver-9TtSrW0h-py3.8/lib/python3.8/site-packages/debugpy/server/api.py", line 297, in connect
_settrace(host=host, port=port, client_access_token=access_token, **settrace_kwargs)
File "/root/.cache/pypoetry/virtualenvs/viralize-adserver-9TtSrW0h-py3.8/lib/python3.8/site-packages/debugpy/server/api.py", line 45, in _settrace
return pydevd.settrace(*args, **kwargs)
File "/root/.cache/pypoetry/virtualenvs/viralize-adserver-9TtSrW0h-py3.8/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd.py", line 2821, in settrace
_locked_settrace(
File "/root/.cache/pypoetry/virtualenvs/viralize-adserver-9TtSrW0h-py3.8/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd.py", line 2929, in _locked_settrace
py_db.wait_for_ready_to_run()
File "/root/.cache/pypoetry/virtualenvs/viralize-adserver-9TtSrW0h-py3.8/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd.py", line 838, in wait_for_ready_to_run
self._py_db_command_thread_event.wait(0.1)
File "/usr/local/lib/python3.8/threading.py", line 558, in wait
signaled = self._cond.wait(timeout)
File "/usr/local/lib/python3.8/threading.py", line 306, in wait
gotit = waiter.acquire(True, timeout)
doesn't stop in debug.
I've also tried to use debugpy in python shell:
>>> import debugpy
>>> debugpy.connect(5678)
Traceback (most recent call last):
File "/root/.cache/pypoetry/virtualenvs/viralize-adserver-9TtSrW0h-py3.8/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py", line 252, in _on_run
self.process_net_command_json(self.py_db, json_contents)
File "/root/.cache/pypoetry/virtualenvs/viralize-adserver-9TtSrW0h-py3.8/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py", line 171, in process_net_command_json
method_name = 'on_%s_request' % (request.command.lower(),)
AttributeError: 'OutputEvent' object has no attribute 'command'
What is supposed to be this "command"?
Also, am I doing something that is intended to be used like this, or what? I think no, because there is no such reference on the web.
- Lenguaje dominante
- Python
- Estrellas
- 2.5k
- Forks
- 202
- Merge medio
- 5 d 1 h
- PR fusionados (30 d)
- 1
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/debugpy
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Document "rules"-option Abiertodocumentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Adapter bootstrap fails with ConnectionRefusedError on WSL2 VirtioProxy or hostAddressLoopback Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
Todos los issues de microsoft/debugpy
Issues similares
-
[Bug] reef-hermes tells me to resume with hermes --resume, which does not work from my shell Abiertoarea: harness bug status: needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Human-Agent-Society/reef#625 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
learningequality/kolibri#15351 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Name consistency Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
eellak/triplestore#65 · 1 comentario ·