2012-01-04 33 views
7

Khi tôi bước qua mã và nhận được một câu lệnh linq, quy trình bước và các dòng được đánh giá (và thứ tự của chúng) không giống như mã được viết. Tôi biết điều này là để làm với các lệnh như năng suất, vvBước qua các lời khuyên của câu lệnh LINQ

Câu hỏi của tôi là:

  1. gì tôi cần phải học để hiểu tại sao mã được sửa lỗi trong cách thức mà nó là (với tuyên bố LINQ)?
  2. Kỹ thuật bước nào có trong báo cáo LINQ?

Ồ, và tôi sử dụng Visual Studio 2010 Ultimate.

Trả lời

2

Theo MSDN

Any query that compiles to an expression tree produces code that is beyond the control of the debugger.

Vì vậy, bạn sẽ không thể để gỡ lỗi đầy đủ các truy vấn LINQ qua Visual Studio Debugger.

Nhưng

có rất ít công cụ có thể giúp ví dụ Linq Pad

This page cũng mô tả một số kỹ thuật có thể được sử dụng để gỡ lỗi báo cáo LINQ

This is another bài viết chi tiết về gỡ lỗi LINQ

0

Tôi không biết bất kỳ phương pháp gỡ lỗi nào khác được tạo ra IL code được tạo, sau đó sử dụng Sos, trên tệp nhị phân của bạn. Bạn có thể làm tất cả mọi thứ (nếu không nhiều hơn) sau đó bạn có thể làm trong VS debugging tools (có thể là một công cụ gỡ lỗi đa luồng là tốt hơn để làm trong VS). Nhưng một lần nữa, xem xét mã LINQ không phải là mã bạn thấy trong tệp mã của bạn, nhưng IL code được tạo vào thời gian biên dịch, tôi sẽ nói rằng, theo tôi, đây là cách duy nhất có thể thực hiện StepInto/Over/Out trên mã như vậy.

Các vấn đề liên quan