อัปเดต 22 กุมภาพันธ์ 2556 : รายการ Microsoft Connect ได้รับทราบจาก Alok Shriram (Program Manager, Base Class Libraries, .NET Framework) ว่าปัญหาควรได้รับการแก้ไขแล้ว รายการเชื่อมต่อถูกทำเครื่องหมายว่าแก้ไขแล้ว (คงที่) :
ปัญหานี้ควรได้รับการแก้ไขแล้ว เราเผยแพร่การอัปเดตแหล่งอ้างอิง โปรดแจ้งให้เราทราบในกรณีที่ปัญหาของคุณยังไม่ได้รับการแก้ไข
ปีครึ่ง
ลิงค์โบนัส
คำถามเดิม
ฉันจะเปิดใช้งาน. NET Framework ซอร์สก้าวใน Visual Studio 2010 ได้อย่างไร
หมายเหตุ : คำถามนี้เป็นคำถามที่ใหญ่กว่าทั้งหมด:
- .NET 2.0 WinForm: รองรับ DPI และการเปลี่ยนแปลงแบบอักษรเริ่มต้น
- ตัวควบคุม WinForms ไม่ปรับขนาดระหว่าง ScaleControl
- VS2010: วิธีเปิดใช้งาน "Enable .NET Framework ซอร์สสเต็ปปิ้ง"?
- Visual Studio 2010 Professional: จะเข้าถึงหน้าต่าง Modules ได้อย่างไร?
- Visual Studio 2010: คุณสมบัติการตั้งค่าเสียหลังจากกำหนดเป้าหมายโครงการใหม่เป็น. NET Framework 3.5
Visual Studio 2010 มาพร้อมกับคุณสมบัติใหม่:
- เครื่องมือตัวเลือกการดีบักทั่วไปเปิดใช้งานสเต็ปซอร์ส. NET Framework
ทำตามคำแนะนำบนเพจ MSDN วิธีการ: ดีบัก. NET Framework Source :
เพื่อเปิดใช้งานการดีบักซอร์สของ. NET Framework
ในการเครื่องมือเมนูคลิกตัวเลือก
ในกล่องโต้ตอบตัวเลือกให้คลิกประเภทการดีบัก
ในกล่องทั่วไปให้เลือกกล่องกาเครื่องหมายต่อไปนี้:
- เปิดใช้งานการก้าวซอร์สของ. NET Framework
- เปิดใช้งานการสนับสนุนเซิร์ฟเวอร์ต้นทาง
ฉันทำนี่:
หมายเหตุ : คุณจะสังเกตว่าหน้า MSDN บันทึกไว้และอย่างที่ฉันสังเกตเห็นว่าการตรวจสอบEnable .NET Framework source Stepจะยกเลิกการเลือกโดยอัตโนมัติ ** Enable Just My Code (Managed only) ฉันยังเปิดใช้งานข้อความวินิจฉัยของการสนับสนุนเซิร์ฟเวอร์ต้นทาง
การเปิดใช้งานตัวเลือกเหล่านั้นจะตั้งค่าตำแหน่งดาวน์โหลดแคชสัญลักษณ์ให้ฉันโดยอัตโนมัติ:
หมายเหตุ : รายการMicrosoft Symbol Serverมีอยู่แล้ว (และไม่สามารถลบออกได้)
หน้า MSDN แจ้งว่าให้โหลดสัญลักษณ์:
ในการโหลดสัญลักษณ์ Framework โดยใช้หน้าต่างโมดูล
ในหน้าต่างโมดูลให้คลิกขวาที่โมดูลที่ไม่ได้โหลดสัญลักษณ์ คุณสามารถบอกได้ว่ามีการโหลดสัญลักษณ์หรือไม่โดยดูที่คอลัมน์Symbols Status
ชี้ไปที่โหลดสัญลักษณ์จากและคลิกMicrosoft Symbol Serversเพื่อดาวน์โหลดสัญลักษณ์จากเซิร์ฟเวอร์สัญลักษณ์สาธารณะของ Microsoft หรือ Symbol Path เพื่อโหลดจากไดเร็กทอรีที่คุณเก็บสัญลักษณ์ไว้ก่อนหน้านี้
ฉันลองสิ่งนี้:
จากนั้นสัญลักษณ์ทั้งหมดจะถูกโหลด:
ฉันนั่งอยู่บนเบรกพอยต์ซึ่งกำลังจะเรียกเข้าสู่. NET framework code:
protected override void ScaleControl(SizeF factor, BoundsSpecified specified)
{
base.ScaleControl(factor, specified);
การกดF11ทำให้ดีบักเกอร์ข้ามไปยังบรรทัดถัดไป:
protected override void ScaleControl(SizeF factor, BoundsSpecified specified)
{
base.ScaleControl(factor, specified);
//Record the running scale factor used
this.scaleFactor = new SizeF(
this.scaleFactor.Width * factor.Width,
this.scaleFactor.Height * factor.Height);
ฉันจะเปิดใช้งานซอร์ส. NET Framework ที่ก้าวใน Visual Studio 2010 ได้อย่างไร
ฉันนั่งอยู่ที่จุดพักในรหัสของฉัน ฉันลองดับเบิลคลิกที่ฟังก์ชั่นที่อยู่ถัดไปใน call stack ฉันหวังว่าจะอนุญาตให้ฉันข้ามไปที่รหัส. NET:
ยกเว้นว่าจะใช้ไม่ได้: Visual Studio บอกฉันว่าไม่มีแหล่งที่มา:
ฉันจะเปิดใช้งานซอร์ส. NET Framework ที่ก้าวใน Visual Studio 2010 ได้อย่างไร
หากฉันเปลี่ยนไปใช้มุมมองการถอดชิ้นส่วนก่อนที่จะพยายามเข้าสู่รหัส. NET ( Debug -> Windows -> Disassembly ) ฉันจะเห็นcall
รหัสใน. NET:
และเมื่อฉันทำฉันจบลงด้วยการดีบักการถอดชิ้นส่วนSystem.Windows.Forms.ScaleControl
:
ซึ่งไม่เหมือนกับหรือมีประโยชน์เท่ากับความสามารถในการก้าวเข้าสู่ซอร์ส. NET Framework
ฉันจะเปิดใช้งานซอร์ส. NET Framework ที่ก้าวใน Visual Studio 2010 ได้อย่างไร
เส้นทางแคชสัญลักษณ์ที่กำหนดค่าบนคอมพิวเตอร์ของฉันมีไฟล์แคชสัญลักษณ์:
ดังนั้นจึงดาวน์โหลดpdb
ไฟล์สัญลักษณ์ แต่ปฏิเสธที่จะใช้
ฉันจะเปิดใช้งานซอร์ส. NET Framework ที่ก้าวใน Visual Studio 2010 ได้อย่างไร
Leppie แนะนำให้ฉันตรวจสอบDebug
บันทึก (โดยเปิดหน้าต่างบันทึกการแก้ไขข้อบกพร่องมิฉะนั้นจะไม่บันทึกอะไรเลย):
Step into: Stepping over method without symbols 'System.Windows.Forms.Form.ScaleControl'
ก่อนหน้านี้ในบันทึกฉันเห็นมันกำลังโหลดสัญลักษณ์สำหรับSystem.Windows.Forms.dll
:
Loaded 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll', Symbols loaded.
มันคือการค้นหาสัญลักษณ์ของฉัน แต่อ้างว่ามันไม่พบ
ฉันจะเปิดใช้งานซอร์ส. NET Framework ที่ก้าวใน Visual Studio 2010 ได้อย่างไร
ผู้ชายจาก Microsoft อิตาลีแนะนำให้ปิดต้องการไฟล์ต้นฉบับเพื่อให้ตรงกับเวอร์ชันดั้งเดิม :
นั่นไม่ได้แก้ไข
ฉันจะเปิดใช้งานซอร์ส. NET Framework ที่ก้าวใน Visual Studio 2010 ได้อย่างไร
มันได้รับการแนะนำว่ามีข้อผิดพลาดกับเซิร์ฟเวอร์แหล่งที่มาของ Microsoft สำหรับ.NET Framework 4.0 ตามคำแนะนำนั้นฉันเปลี่ยนโครงการเป็นเป้าหมาย. NET Framework 3.5 :
นั่นไม่ได้แก้ไข
ฉันจะเปิดใช้งานซอร์ส. NET Framework ที่ก้าวใน Visual Studio 2010 ได้อย่างไร
มีบางคนสงสัยว่าบุคคลอื่นที่ประสบปัญหาเดียวกันกำลังใช้โปรแกรมดีบั๊กรุ่น 64 บิตหรือไม่ ตอนนี้ไม่มี Visual Studio เวอร์ชัน 64 บิต แต่ฉันลองเปลี่ยนโปรเจ็กต์จากAnyCPUเป็นx86 (กำลัง JITed เป็น x64) ในกรณีที่ Microsoft ไม่รองรับโปรเซสเซอร์ 64 บิต:
นั่นไม่ได้แก้ไข:
Step into: Stepping over method without symbols 'System.Windows.Forms.Form.ScaleControl'
ฉันจะเปิดใช้งานซอร์ส. NET Framework ที่ก้าวใน Visual Studio 2010 ได้อย่างไร
ดูสิ่งนี้ด้วย
- การกำหนดค่า Visual Studio เพื่อดีบักซอร์สโค้ด. NET Framework
- ไม่สามารถดีบักรหัสกรอบงาน. NET ใน VS2010
- .NET เฟรมเวิร์กซอร์สก้าวไม่ทำงานแม้จะตั้งค่าตัวเลือก
- การตั้งค่า Visual Studio 2010 เพื่อเข้าสู่ซอร์สโค้ดของ Microsoft .NET
- Visual Studio 2008 SP1 .NET Framework ซอร์สดีบัก
- ไม่มีหน้าต่าง Debug> Modules ใน Visual Studio 2008 เวอร์ชัน 9.0.21022.8 RTM