Hiện tại, người dùng VS 2008, ngoại trừ phiên bản Express đã có thể xem và debug các phần sau đây:
– Các lớp cơ sở (System, System.CodeDom, System.Collections, System.ComponentModel, System.Diagnostics, System.Drawing, System.Globalization, System.IO, System.Net, System.Reflection, System.Runtime, System.Security, System.Text, System.Threading…)
– ASP.NET (System.Web, System.Web.Extensions)
– Windows Forms (System.Windows.Forms)
– Windows Presentation Foundation (System.Windows)
– ADO.NET and XML (System.Data and System.Xml)
Microsoft cũng đang đưa thêm các gói thư viện khác như LINQ, WCF và Workflow.
Các bước cấu hình
1. Cài đặt
Visual Studio 2008 QFE. Bản cập nhật này cho phép bạn tải về các file mã nguồn của .NET Framework.
Trong trường cài đặt bị lỗi, hãy thử bỏ đĩa DVD cài đặt Visual Studio 2008 vào ổ rồi chạy lại file cập nhật.
2. Bật Visual Studio 2008, vào phần Tools > Options > Debugging > General, nếu đang chạy dưới profile Visual Basic, bạn sẽ phải đánh dấu vào ô Show All Settings ở góc dưới bên trái hộp thoại Options.
– Chọn ô Enable Source Server Support
– Bỏ chọn ô Enable Just My Code
3. Tiếp tục vào phần Symbols và đặt các giá trị như sau:
– Đặt symbol file location là http://referencesource.microsoft.com/symbols
– Đặt thư mục chứa file cache, thư mục này phải có thể đọc/ghi bởi người dùng
– Đánh dấu vào ô Search the above locations only when symbols are loaded manually
Ok, vậy là xong, bây giờ chúng ta sẽ thử dùng xem sao
Tạo một project dạng Windows Form bằng VB (hoặc C#, ASP.NET hay WPF), tạo một form đơn giản như sau:
Nhấp đúp vào nút Button1 để thêm event handler, và bạn thêm vào giống như sau:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Button1.Text = "Hello .NET source code" End Sub
Đặt breakpoint(nhấn F9) trong hàm:
Nhấn F5 để debug chương trình, nhấn vào Button1 để chạy hàm sự kiện, khi chương trình tạm dừng tại breakpoint, mở cửa sổ Call Stack, bạn sẽ thấy danh sách các thư viện đã được nạp, bấm phải chuột vào một dòng bắt đầu với System.Windows.Forms.dll! và chọn Load Symbols để bắt đầu tải mã nguồn.
Quá trình tải mã nguồn có thể nhanh hoặc chậm tùy thuộc vào thư viện bạn đang tải, với System.Windows.Forms thì nó có dung lượng khoảng 10MB. Khi đang tải bạn sẽ nhìn thấy dòng sau trên status bar:
Trong quá trình tải, bạn sẽ nhìn thấy cửa sổ license, bấm vào Accept để tiếp tục:
Sau khi quá trình download hoàn tất, bạn sẽ có thể bắt đầu với việc tham khảo và debug vào mã nguồn của .NET Framework.
Danh sách các DLL đã có thể debug mã nguồn
Mscorlib.DLL
System.DLL
System.Data.DLL
System.Drawing.DLL
System.Web.DLL
System.Web.Extensions.DLL
System.Windows.Forms.DLL
System.XML.DLL
WPF (UIAutomation*.dll, System.Windows.DLL, System.Printing.DLL, System.Speech.DLL, WindowsBase.DLL, WindowsFormsIntegration.DLL, Presentation*.dll, some others)
Microsoft.VisualBasic.DLL