Allow clients to debug code from command line, like pdb or epdb
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu với debugpy/main.py và server/cli.py, sau đó lần theo đường dẫn được báo cáo qua server/api.py và các tệp pydevd được vendored. Tái hiện lỗi OutputEvent/command và xác định liệu việc gỡ lỗi qua dòng lệnh và trong interactive shell có được hỗ trợ hay không. Công việc được xem là hoàn tất khi một quy trình làm việc qua dòng lệnh đã thống nhất hoạt động mà không gặp lỗi này và cách sử dụng của nó được ghi lại.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 2.5k
- Fork
- 202
- Merge trung bình
- 5 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 1
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của microsoft/debugpy
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Document "rules"-option Đang mởdocumentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
-
Adapter bootstrap fails with ConnectionRefusedError on WSL2 VirtioProxy or hostAddressLoopback Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
Tất cả issue của microsoft/debugpy
Issue tương tự
-
agent-ready documentation needs-triage
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 88/100
-
documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 91/100
-
workflow-status page template still says reusable workflows are "triggered only by workflow_call:" Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
-
Add https://search.jeremyh.xyz/ Đang mởinstance instance add
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
searxng/searx-instances#939 · 1 bình luận ·
-
area-deployment area-integrations triage:bot-seen
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 86/100