Tôi gặp sự cố gỡ lỗi đa luồng khá nghiêm trọng. Tôi có một số loại vấn đề thời gian khi tương tác với một thiết bị nối tiếp, và tôi cần phải theo dõi nó. Tôi có ba chủ đề:Gỡ lỗi luồng trong C# và vs2008
- Chủ đề chính cho cập nhật giao diện người dùng. Người dùng có thể thay đổi một tham số của thiết bị hoặc nhiều thông số cùng một lúc bằng cách chọn giá trị đặt trước.
- Chuỗi kiểm tra trạng thái truy vấn để đảm bảo rằng thiết bị vẫn được đính kèm. Nếu người dùng tắt thiết bị hoặc chính thiết bị được tương tác một cách thú vị, các thay đổi trạng thái cần được phản ánh trong giao diện người dùng.
- Chủ đề đọc cổng nối tiếp mà thiết bị phản hồi.
Vấn đề của tôi thực sự liên quan đến việc gỡ lỗi tình huống này. Dường như mọi dòng đơn tôi có trong mỗi luồng phải có điểm ngắt để được sửa lỗi; nếu tôi phá vỡ trong một chủ đề, trình gỡ lỗi sẽ không bước qua chuỗi đó. Tôi hiểu rằng các chủ đề khác sẽ tiếp tục cập nhật, nhưng không nên các chủ đề tôi đang thực hiện như bình thường trong trình gỡ lỗi, tức là, đi từ một dòng để tiếp theo? Sau đó, tôi có thể sử dụng tab 'chủ đề' để chuyển đổi giữa các chuỗi.
Tôi đề cập đến rằng tôi đang ở trong WPF bởi vì tôi không biết liệu điều đó có thay đổi hoàn cảnh hay không; có lẽ nó không, có lẽ nó không. Chuỗi kiểm tra trạng thái là một phần của điều khiển giao diện người dùng, vì trạng thái chỉ cần được kiểm tra trong khi giao diện người dùng đang hoạt động. Điều khiển đó nằm trong một thư viện riêng biệt với ứng dụng chính.
Loại bỏ các tham chiếu WPF gây ra nó không thực sự liên quan đến WPF - chỉ gỡ lỗi MT chung. –
Thật không may, tôi đã nhận thấy rằng vs2008 đã bắt đầu hành động rất, rất wonkily (đây chỉ là một vấn đề hành vi, những người khác phải làm với kiểm soát nguồn và cài đặt xây dựng khác nhau) đã xảy ra kể từ khi dự án di chuyển đến WPF. Do đó sự bao gồm, chỉ trong trường hợp. – mmr