2010-10-24 23 views
5

Khi tôi bước vào nguồn .NET (bước nguồn .NET được kích hoạt trong Tùy chọn gỡ lỗi và Mã của tôi bị tắt), vì một số lý do trong ô tô và Xem các cửa sổ trong VS2010, tôi không thể xem các tham số trong các chức năng của khung công tác .NET trong khung đồng hồ hoặc ô tô. Tuy nhiên, tôi có thể thấy các biến cục bộ. Tại sao điều này?Không thể thấy thông số trong khi bước qua nguồn .NET 4.0 trong C#/VS2010

Cập nhật: Đây là bản dựng lỗi 64 bit (x64) không có tối ưu hóa. Không có lỗi, tôi chỉ không thể "xem" các thông số trong các chức năng như:

// Enumerable.cs 

public class Lookup<TKey, TElement> : IEnumerable<IGrouping<TKey, TElement>>, ILookup<TKey, TElement>{ 
... 
    internal static Lookup<TKey, TElement> Create<TSource>(IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer) { 

Cập nhật 2: Có vẻ như rằng theo mặc định, chỉ việc phát hành xây dựng các khuôn khổ .NET 4.0 được cài đặt. Bạn vẫn có thể bước vào nó, nhưng bạn có thể không thấy một số tham số chức năng và biến cục bộ (và thiết lập các điểm ngắt trên một số dòng). Những gì tôi đoán tôi thực sự muốn là sử dụng một xây dựng Debug của khuôn khổ .NET 4.0 để tôi có thể xem tất cả các params, người dân địa phương và đặt breakpoints trên tất cả các dòng. Làm thế nào để tôi đi về cài đặt này, nếu tôi có VS2010 Premium đã được cài đặt?

+0

Bạn gặp phải lỗi gì? – SLaks

Trả lời

5

You probably need to disable optimizations.

Chỉnh sửa bởi Michael Goldshteyn - của câu hỏi tác giả:

Dưới đây là toàn bộ hướng dẫn từ URL đó:

  1. Biến môi trường sau đây phải được đặt trước VS2010 được bắt đầu:

    bộ COMPLUS_ZapDisable = 1

  2. Quá trình lưu trữ VS phải được tắt:

    Để tắt quá trình lưu trữ trong VS2010

    1.Mở một dự án trong Visual Studio.
    2. Trên menu Dự án, bấm Thuộc tính.
    3.Nhấp vào tab Gỡ lỗi.
    4.Xóa hộp kiểm Bật quy trình lưu trữ Visual Studio.

+1

Chỉ để rõ ràng hơn, bạn chỉ cần vô hiệu hóa quy trình lưu trữ VS cho Dự án khởi động trong giải pháp của bạn. –

+0

Bạn phải làm cả hai để có thể bước vào (tất cả các cấp) mã nguồn .NET Framework. –

+0

Tôi biết - Tôi chỉ có nghĩa là bạn không cần phải vô hiệu hóa quá trình lưu trữ VS cho tất cả các dự án trong giải pháp của bạn. :) –

0

Bạn có thể đang gỡ lỗi bản dựng - hãy kiểm tra xem bạn có đang chạy bản dựng gỡ lỗi không. (những gì bạn có thể 'xem' có vẻ khá thay đổi trong bản phát hành)

0

Bạn có cần bỏ đặt COMPLUS nếu bạn muốn bật lại gỡ lỗi được tối ưu hóa. Điều này có được thông báo không? Bạn có thiết lập lại như sau

set COMPLUS_ZapDisable=0 
+0

Đây có phải là câu trả lời hoặc câu hỏi tiếp theo không? –

0

Từ http://reflectorblog.red-gate.com/2012/03/debugging-debugging-experience/

Tạo một tập tin trong thư mục thực thi của bạn có tên YourAppName.ini, nơi YourAppName được thay thế bằng tên của tên tập tin của assembly của bạn. Vì vậy, nếu bạn có SampleApp.exe, bạn sẽ tạo SampleApp.ini.

Nội dung của file ini này nên chứa

[.NET Framework Debugging Control] 
GenerateTrackingInfo=1 
AllowOptimize=0 

Lưu file và bắt đầu gỡ rối. Bạn có thể không cần phải vô hiệu hóa quá trình VS Studio Hosting khi thực hiện việc này.Vô hiệu hóa quá trình lưu trữ, như những người khác đã gợi ý, gây ra sự cố gián đoạn khi sử dụng Cửa sổ ngay lập tức, một phần không thể thiếu trong trải nghiệm gỡ lỗi.

Gỡ lỗi vui vẻ!

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