Bug:Debug didn't work in Qthread
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 25/100
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện báo cáo với các ví dụ main.py và sub_thread.py được cung cấp, đặt một điểm dừng trong WorkerThread.run. Sau đó, kiểm tra việc xử lý thread của trình gỡ lỗi và mọi bài kiểm thử hiện có cho việc hỗ trợ PySide6 hoặc QThread. Công việc được xem là hoàn tất khi điểm dừng trong worker thread được chạm tới trong một phiên gỡ lỗi VS Code.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description:
When I use Qt for Pyside6, I open a Qthread sub thread in the main thread and add a breakpoint inside the sub thread, but Python debugger does not enter the sub thread,it just didn't work
Origin Code:
main.py:
import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QTextEdit, QVBoxLayout, QWidget
from PySide6.QtCore import Qt
from worker_thread import WorkerThread
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("QThread Debug Test")
self.setGeometry(100, 100, 400, 300)
# 创建中央部件和布局
central_widget = QWidget()
self.setCentralWidget(central_widget)
layout = QVBoxLayout(central_widget)
# 创建按钮
self.start_button = QPushButton("Start Thread")
self.start_button.clicked.connect(self.start_thread)
layout.addWidget(self.start_button)
# 创建文本显示区域
self.text_edit = QTextEdit()
self.text_edit.setReadOnly(True)
layout.addWidget(self.text_edit)
# 创建工作线程
self.worker_thread = None
def start_thread(self):
if self.worker_thread is None or not self.worker_thread.isRunning():
self.worker_thread = WorkerThread()
self.worker_thread.message_signal.connect(self.update_text)
self.worker_thread.start()
self.text_edit.append("Thread started...")
def update_text(self, message):
self.text_edit.append(message)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
sub_thread.py:
from PySide6.QtCore import QThread, Signal
import time
class WorkerThread(QThread):
message_signal = Signal(str)
def __init__(self):
super().__init__()
self.running = True
def run(self):
count = 0
while self.running and count < 10:
count += 1
self.message_signal.emit(f"Count: {count}")
time.sleep(1) # 模拟耗时操作
self.message_signal.emit("Thread finished!")
def stop(self):
self.running = False
Where is the sub-thread?
Where is the breakpoint?
What's the Performance?
Set the breakpoint and push the button,then you'll find that Python Debugger didn't work in the workthread(sub-thread)!
- Ngôn ngữ chính
- TypeScript
- Star
- 181
- Fork
- 126
- Merge trung bình
- 8 giờ 49 phút
- 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/vscode-python-debugger
-
triage-needed
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
microsoft/vscode-python-debugger#1110 ·
-
triage-needed
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 88/100
microsoft/vscode-python-debugger#1024 · 1 bình luận ·
-
triage-needed
microsoft/vscode-python-debugger#1111 · 1 reaction · 1 người được giao ·
-
triage-needed
microsoft/vscode-python-debugger#1104 · 1 reaction · 1 người được giao ·
-
triage-needed
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 58/100
microsoft/vscode-python-debugger#1095 · 1 bình luận · 1 reaction ·
Tất cả issue của microsoft/vscode-python-debugger
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
bcgov/bc-wallet-mobile#4761 · 1 bình luận ·
-
external-issue to-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
-
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
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
refactor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100