tôi có vấn đề với từng bước gỡ rối của một ứng dụng .NET đa luồng trong Visual Studio 2008.Gợi ý để gỡ lỗi một ứng dụng đa luồng
Với mỗi bước đường, Visual Studio càng lúc càng chậm (phải mất nhiều và nhiều thời gian hơn để chuyển sang dòng tiếp theo) và thường bị treo sau một vài dòng (tôi nhận được mẹo "Visual Studio đang bận") và tôi cần phải ngừng gỡ lỗi. Tôi nghi ngờ vấn đề là do thực tế là ứng dụng có một số máy khách TCP/IP được kết nối, có nghĩa là mỗi khi tôi tạo điểm ngắt, bộ đệm mạng của chúng sẽ được lấp đầy cho đến khi tôi tiếp tục ứng dụng của mình. Bất cứ khi nào tôi sử dụng F10
để chuyển sang dòng mã tiếp theo, Visual Studio ngay lập tức đánh thức tất cả các luồng khác để chúng xử lý dữ liệu đầu vào.
Có ai có kinh nghiệm về các vấn đề như vậy và các đề xuất về cách tránh chúng không?
Có thể nhật ký tốt sẽ tốt hơn không? Hoặc thử gỡ lỗi với điều kiện ... – acoolaum
Tôi sử dụng ghi nhật ký (log4net) và tôi thường sử dụng các kiểm tra đơn vị để kiểm tra ứng dụng. Nhưng bây giờ thì tôi cần tạo một điểm dừng ở đâu đó. Breakpoint * có thể * có điều kiện (nếu đó là những gì bạn có nghĩa là), nhưng điều đó không thay đổi thực tế là tôi khó có thể thực hiện hai dòng tiếp theo mà không cần VS treo. Cho đến nay, tôi sẽ mất bình tĩnh và thêm một loạt các bản sửa lỗi vào nhật ký trong suốt phương pháp, và sau đó làm việc từ đó. Nhưng nó không có ý nghĩa để không thể sử dụng một trình sửa lỗi đúng cách. – Groo