2010-07-14 28 views
7

Khi tôi bắt đầu gỡ lỗi ứng dụng web của tôi hoặc từ Bắt đầu với gỡ lỗi (F5) hoặc gắn vào quá trình nhân viên ASP.NET nó sẽ tải các hội từ ứng dụng rất chậm mà tôi có thể đọc tên chúng khi chúng cuộn qua thanh trạng thái của VS2010.VS2010 Gỡ lỗi mục nhập rất chậm

Khi tôi bắt đầu gỡ lỗi, tôi thấy rằng MSVSMON.exe sử dụng 50% CPU và khóa ở mức 50% làm đầy đầy đủ lõi đầy đủ. Cũng thấy rằng điều này được mô tả như Visual Studio Remote Debugging Monitor, tôi đang bối rối nếu điều này thậm chí nên được sử dụng kể từ khi tôi đang gỡ lỗi tất cả mọi thứ địa phương để máy tính của tôi.

Tôi đang chạy môi trường của mình hầu như được kết nối với RDP nếu điều đó có thể liên quan đến vấn đề này.

Máy

Host: Server 2008 Enterprise R2 DualCore Xeon 2.53GHz

ảo Instance: Win7 Enterprise 6GB ram phân bổ đầy đủ bộ xử lý

Điều này có vẻ bình thường không? MSVSMON có nên chạy ngay cả khi tôi đang gỡ lỗi cục bộ không?

+0

Tôi không gặp sự cố về hiệu suất với gỡ lỗi, cục bộ hoặc từ xa, web hoặc quy trình bình thường. VS đang chạy trên x32 cho tôi với các máy từ xa chạy x64. –

Trả lời

19

Menu.Debug.DeleteAllBreakpoints

Làm việc cho tôi.

+0

Tôi không biết tại sao nhưng điều này cũng làm việc cho tôi.Từ gỡ lỗi đến trang web đã hoàn thành đã đi từ 20 giây đến 3 giây. Nhưng tôi muốn biết tại sao! Tôi chỉ có một vài điểm ngắt trong cùng một dự án (không bao giờ bị đánh). – Sire

+0

Có chắc chắn nhất là một lỗi trong VS2010 về điều này và phá vỡ điểm mà nó mất hoặc một cái gì đó. –

+2

Nếu bạn thêm breakpoint theo tên (break to function) trình gỡ lỗi cần quét tất cả các ký hiệu cho mỗi dll được nạp để kiểm tra xem có bất cứ điều gì khớp với tên đã cho hay không. mất tất cả thời gian, không phải lỗi. –

4

Có, msvsmon.exe sẽ được sử dụng khi bạn gỡ lỗi chương trình 64 bit. Vì Visual Studio hoàn toàn 32 bit, nên cần có trình gỡ rối từ xa để kết nối phân chia.

Không có lý do gì để giả định rằng sự chậm lại là do nó là trình gỡ lỗi từ xa. Làm việc một cách mạnh mẽ để tìm và tải các tệp .pdb có khả năng. Hoặc vô tình có tùy chọn trộn chế độ hỗn hợp được bật để trình gỡ lỗi cũng thấy tất cả các tải DLL không được quản lý và tìm các biểu tượng cho chúng. Đây chỉ là những dự đoán của khóa học.

3

Tìm kiếm ký hiệu thường rất chậm khi bắt đầu gỡ lỗi, đặc biệt nếu bạn có một trong các tùy chọn biểu tượng từ xa được định cấu hình và không đặt 'bỏ qua' trên các tệp DLL khác nhau sẽ không có biểu tượng trên máy chủ MS.

Đây có thể không chỉ là những thứ như thành phần bên thứ 3 của mã của bạn, mà còn gắn các tệp DLL được chèn vào, ví dụ như trình điều khiển đồ họa, vì vậy cần chú ý đến những gì đang cố tải.

Chạy Fiddler (http://www.fiddler2.com/fiddler2/) trong khi bắt đầu gỡ lỗi sẽ cho bạn thấy nếu các biểu tượng đang được tìm nạp từ xa.

Thậm chí nếu VS không được thiết lập một cách rõ ràng (Trong công cụ-> Tùy chọn-debug) cho biểu tượng từ xa lấy, nó sẽ vẫn làm theo các biến môi trường _NT_SYMBOL_PATH - kiểm tra xem đó là thiết lập, và những gì nó trỏ tới.

3

Tôi đã có cùng một vấn đề này, mặc dù giải pháp này đã không làm điều đó cho tôi. Cuối cùng, tôi phải vào Tools-> Options-> Debugging-> Symbols và bỏ chọn các vị trí tập tin Symbol (.pdb) cũng như nhấn vào nút Empty Symbol Cache. Sau đó, gỡ lỗi là đẹp hơn nhiều.

+1

Điểm rất hợp lệ, đây không phải là kịch bản chính xác mà tôi mô tả ở đâu tôi thấy nó tải hội đồng MY ở tốc độ 1 mỗi giây hoặc lâu hơn, nhưng nếu bạn thấy nó tải các assembly bạn không sở hữu, sẽ giảm đáng kể mục nhập gỡ lỗi. Khả năng gỡ lỗi vào mã .NET với mã nguồn biểu tượng là tuyệt vời nhưng chỉ nên bật tính năng tuyệt vời cho các nhu cầu cụ thể sau đó tắt ngay lập tức. –

0

Đối với tôi vấn đề là tôi đã cài đặt chương trình PUP (có khả năng không mong muốn) đang làm chậm quá trình khác. Sau một vài lần MSVSMON đã cho thấy hành vi này, tôi đã nhận thức được rằng quá trình Cltmng.exe (từ Tìm kiếm Bảo vệ bằng ống dẫn) đã lấy một số lượng CPU bất thường là tốt, loại bỏ nó giải quyết được vấn đề.

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