การปรับปรุงสำหรับการดีบัก Visual Studio 2008 SP1 และจุดสั่งหยุด

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 957912 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

บทนำ

Microsoft ได้นำออกใช้การปรับปรุงสำหรับคอมโพเนนต์การดีบักเกอร์ Microsoft Visual Studio 2008 SP1 ปรับปรุงเหล่านี้แก้ปัญหาที่เกิดขึ้น กับ stepping และ กับ hitting จุดสั่งหยุด mostly

ข้อมูลเพิ่มเติม

ติดตั้ง

ปรับปรุงนี้มี SP1 2008 Studio แสดงผลบนคอมพิวเตอร์ x 86 และ x 64 รุ่นทั้งหมด อย่างไรก็ตาม ถ้าคุณใช้ Visual Studio 2008 มาตรฐาน Edition บนระบบปฏิบัติการ 64 บิต คุณต้องติดตั้งดีบักแบบ 64 บิต Visual Studio 2008 SP1 ระยะไกลเกอร์ก่อนที่คุณใช้ปรับปรุงนี้ สำหรับข้อมูลเกี่ยวกับวิธีการขอรับการดีบักแบบ 64 บิต Visual Studio 2008 SP1 ระยะไกลเกอร์ แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
http://www.microsoft.com/downloads/details.aspx?FamilyID=440ec902-3260-4cdc-b11a-6a9070a2aaab&DisplayLang=en

การแก้ไขการดีบักเกอร์ multi-process และ multi-threaded

หมายเหตุ:คำอธิบายต่อไปนี้ที่อ้างอิงถึงชุด hypothetical ของกระบวนการที่จะถูก debugged โดยอินสแตนซ์ที่หนึ่งของ Visual Studio เมื่อมีการอ้างอิงฟังก์ชัน จะสันนิษฐานว่า ฟังก์ชันนั้นซ้ำ หรือฟังก์ชันประกอบด้วย loops สถานการณ์เหล่านี้ไม่ได้กำลัง meant การทบทวนเกิดปัญหา แทน ที่จะให้ช่วยอธิบายปัญหา

จุดสั่งหยุดของ parallelized loops กระทั่งละเว้นหลังจากปริมาณการใช้หลาย

ย้ายจุดสั่งหยุด ใน loops หรือเอาท์พุทฟังก์ชันจะไม่กดในกระบวนการทั้งหมดในแต่ละ iteration บ่อยครั้ง กระบวนการบางอย่างอาจผ่านวนซ้ำกว่าจำนวนของการวนรอบ ละเว้นเบรกพอยต์ ก่อนที่กระบวนการจะหยุดการทำงาน พิจารณาสถานการณ์ต่อไปนี้::
  1. คุณเริ่มกระบวนการหลาย ๆ การตรวจแก้จุดบกพร่อง กระบวนการที่คุณกำลังดีบักอย่างใดอย่างหนึ่งในการวนรอบ tight หรือมีฟังก์ชันซ้ำ
  2. คุณสามารถหยุดเธรดหลักของกระบวนการปัจจุบัน (กระบวนล่าสุดให้คลิกการเบรกพอยต์), และจากนั้น คุณยังคงตรวจแก้จุดบกพร่อง คุณทำซ้ำการกระทำนี้สำหรับแต่ละกระบวนการ
  3. คุณเริ่มต้นเธรดสำหรับแต่ละขั้นตอน
คุณสังเกตเห็นว่า หลังจากการวนซ้ำกว่าหลาย จุดสั่งหยุดจะไม่กด ลักษณะการทำงานนี้จะไม่คาดคิด

หยุด และเริ่มการทำงานของเธรดที่ทำให้จุดสั่งหยุดเพื่อจะพลาด

คลิกการจุดสั่งหยุด แต่จะไม่สามารถมองเห็นได้เมื่อคุณตรวจแก้จุดบกพร่องกระบวนการในการดีบัก Visual Studio หลาย พิจารณาสถานการณ์สมมติต่อไปนี้ที่ซึ่งคุณกำลังดีบักสองกระบวน A กระบวนการและ B. ประมวลผล
  1. คุณตั้งค่าแบบเบรกพอยต์บนกระบวนการทั้งสอง และเริ่มการทำงานการตรวจแก้จุดบกพร่อง จุดสั่งหยุดทั้งสองจะเป็นในการเข้าชม
  2. คุณสามารถหยุดเธรดหลักของขั้นตอน A คุณเลือกขั้นตอน B แล้ว กด F11 ไปยังขั้นตอนในคำสั่งหนึ่งครั้ง
  3. คุณเริ่มต้นเธรดหลักของขั้นตอน A และจากนั้น คุณสามารถหยุดเธรดหลักของ B. ประมวลผล แล้ว คุณสามารถกด F11 ไปยังขั้นตอนในคำสั่ง

    คุณสังเกตเห็นว่า กระบวนการทั้งสองอยู่ในบรรทัดเหมือนกัน
  4. คุณสามารถหยุดเธรดหลักของ A. ประมวลผล เธรดไม่ควรถูกหยุดณจุดนี้
  5. กด F5 เพื่อดำเนินต่อ
กระบวนการจะเสร็จสิ้น และ Visual Studio ควรกลับไปยังโหมดออกแบบ อย่างไรก็ตาม ซึ่งไม่เกิดขึ้น กระบวนแบ่งรหัสอีกครั้งในภายหลัง

หมายเหตุ:ถ้าคุณลบจุดสั่งหยุดการหลังจากที่คุณกด F5 เพื่อดำเนินต่อ ดีบักทำงานจนกว่าจะเสร็จสมบูรณ์

visual Studio อาจมีปัญหาเมื่อคุณแก้จุดบกพร่องกระบวนการที่หลายในเวลาเดียวกัน

ดีบักเกอร์ Studio ภาพอาจพบ deadlock เมื่อคุณเริ่มการทำงาน และเธรดที่หยุดแล้ว และเรียกใช้การเบรกพอยต์ถัดไปถ้ากระบวนการหลาย ๆ กำลังถูก debugged พิจารณาสถานการณ์ต่อไปนี้::
  1. คุณสามารถกำหนดจุดสั่งหยุดใน declarations ตัวแปรเองที่สาม
  2. คุณเริ่มต้นการตรวจแก้จุดบกพร่องกระบวนการที่ 16
  3. คุณแบ่งในกระบวนการอย่างใดอย่างหนึ่ง และจากนั้น คุณสามารถหยุดของเธรดหลัก
  4. คุณสามารถกด F5
  5. คุณทำซ้ำขั้นตอนที่ 3 และ 4 จนกว่ากระบวนการทั้งหมดให้คลิกเบรกพอยต์
  6. คุณเริ่มต้นเธรดหลักของกระบวนการทั้งหมด
  7. สำหรับแต่ละกระบวนการ คุณลบเบรกพอยต์แรก แล้วจากนั้น กดแป้น F5
  8. สำหรับแต่ละกระบวนการ ทำซ้ำขั้นตอนที่ 3 และ 4 ควรกระบวนการทั้งหมดที่เบรกพอยต์ที่สอง
  9. คุณสามารถกด F5
  10. สำหรับแต่ละกระบวนการ ทำซ้ำขั้นตอนที่ 3 และ 4
กระบวนการทั้งหมดควรถึงเบรกพอยต์สาม แต่กระบวนการอย่างน้อยหนึ่งอาจจะติดอยู่ในสถานะที่ใช้งานอยู่

stepping ผ่านเบรกพอยต์ที่ถูกปิดใช้งานเมื่อคุณตรวจแก้จุดบกพร่องโปรแกรมประยุกต์ดั้งเดิมที่เปลี่ยนเป็นแบบ "เดิน"

คุณตรวจแก้จุดบกพร่องโปรแกรมประยุกต์แบบดั้งเดิมใน Visual Studio ที่ประกอบด้วยเบรกพอยต์ที่ถูกปิดใช้งาน เมื่อคุณขั้นตอนการดีบักเกอร์เบรกพอยต์ถูกปิดใช้งานที่ผ่านมา ขั้นตอนเหลือจะสูญหายไป และโปรแกรมประยุกต์ยังคงทำงาน

stepping เมื่อคุณตรวจแก้จุดบกพร่องโปรแกรมประยุกต์ multithreaded ที่ได้รับการจัดการสามารถแบบสุ่มเปลี่ยนให้เป็นแบบ "เดิน"

เมื่อคุณตรวจแก้จุดบกพร่องโปรแกรมประยุกต์ที่ได้รับการจัดการ multithreaded และคุณขั้นในเธรดเดียวในขณะที่เหตุการณ์เกิดขึ้นกับเธรดอื่น เช่น hitting เบรกพอยต์ การร้องขอการขั้นตอนจะสูญหายไป และ แอพลิเคชันยังคงทำงาน

ข้อความอินเทอร์เฟซที่กำลังส่งต่อ (MPI) ดีบักเกอร์แก้ไขสำหรับรุ่น Studio Visual ที่เสนอการสนับสนุนปลั๊กอิน MPI

visual Studio ปัญหาเมื่อคุณใช้คำสั่ง "ขั้นไป" เพื่อเริ่มโปรแกรม MPI

When you use theStep intocommand, or press F11, to debug multiple instances of an MPI process, Visual Studio crashes. Or, you receive the following error message:
Microsoft Visual Studio has encountered and internal error

Running the "Step Over" command while you are debugging multiple processes causes a deadlock

ถ้าคุณเรียกใช้การStep Overcommand while you are debugging multiple processes, Visual Studio crashes. พิจารณาสถานการณ์ต่อไปนี้::
  1. You open a multithreaded application.
  2. You set a breakpoint on a recursive function call.
  3. You debug two processes.
  4. You start debugging. The breakpoint is hit in the first process.
  5. You press F5. The breakpoint is hit on the second process.
  6. You stop the main thread of the first process.
  7. คุณรันการStep Overcommand on the second process, and then you clickPause.

    The operation cannot be completed because it is waiting for the first process. คุณคลิกPauseto re-enter break mode. The debugger uses a green arrow to indicate the next statement process that it will run when it returns from the function.
  8. You add a breakpoint in the second process.
  9. You stop the first process, and then you press F5.
At this point, you expect the debugger to reach the breakpoint in each process. However, both processes are deadlocked inside the function, and the breakpoint that was last added is never hit. In addition, the debugger cannot run to the end of the application.

Breakpoint UI Fix

Disabled breakpoints are not visible after you install Visual Studio 2008 Service Pack 1

If you disable a breakpoint, the breakpoint is no longer hit. Also, the breakpoint is hidden from the left-most editor channel. The disabled breakpoint still exists. It is displayed in the Breakpoints Tool window.

การแก้ไข

โปรแกรมแก้ไขด่วนที่ได้รับการสนับสนุนจาก Microsoft พร้อมใช้งานแล้ว อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มีเป้าหมายเพื่อการแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น นำโปรแกรมแก้ไขด่วนนี้ไปใช้กับระบบที่พบปัญหานี้เท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น หากคุณไม่ได้รับความเสียหายรุนแรงจากปัญหานี้ เราขอแนะนำให้คุณรอการปรับปรุงซอฟต์แวร์ถัดไปที่มีโปรแกรมแก้ไขด่วนนี้

ถ้าต้องการดาวน์โหลดการแก้ไขด่วนนี้จาก MSDN Code Gallery โปรดเข้าสู่เว็บไซต์ของ Microsoft ดังต่อไปนี้::
http://code.msdn.microsoft.com/KB957912

หมายเหตุ:เก็บรหัส MSDN แสดงภาษาในโปรแกรมแก้ไขด่วนมีอยู่ ถ้าคุณไม่พบภาษาของคุณปรากฏอยู่ แสดงว่าเพจทรัพยากรของ Code Gallery ไม่มีให้บริการสำหรับภาษานั้น

หมายเหตุ:หากเกิดปัญหาอื่น ๆ หรือ ถ้ามีการแก้ไขปัญหาเป็นสิ่งจำเป็น คุณอาจต้องสร้างการร้องขอบริการแยกต่างหาก ค่าใช้จ่ายในการสนับสนุนปกติจะเกิดขึ้นเมื่อมีคำถามและประเด็นการสนับสนุนอื่นๆ ซึ่งไม่จัดอยู่ในโปรแกรมแก้ไขด่วนเฉพาะที่กล่าวถึงนี้ สำหรับรายการของหมายเลขโทรศัพท์ของฝ่ายบริการและการสนับสนุนลูกค้าของ Microsoft ทั้งหมด หรือถ้าต้องการสร้างคำขอรับการสนับสนุนแยกต่างหาก โปรดเข้าสู่เว็บไซต์ของ Microsoft ต่อไปนี้::
http://support.microsoft.com/contactus/?ws=support

ข้อกำหนดเบื้องต้น

You must have Microsoft Visual Studio 2008 SP1 installed to apply this hotfix.

ข้อกำหนดในการเริ่มต้นระบบคอมพิวเตอร์ใหม่

คุณไม่จำเป็นต้องเริ่มต้นคอมพิวเตอร์ใหม่หลังจากใช้โปรแกรมแก้ไขด่วนนี้

ข้อมูลการทดแทนโปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนนี้ไม่ได้แทนฮอตฟิกซ์อื่น ๆ

ข้อมูลแฟ้ม

โปรแกรมแก้ไขด่วนรุ่นภาษาอังกฤษนี้มีแอตทริบิวต์แฟ้ม (หรือแอตทริบิวต์แฟ้มหลังจากนี้) ซึ่งแสดงในตารางต่อไปนี้ วันที่และเวลาของแฟ้มเหล่านี้จะปรากฏในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้ม ข้อมูลจะถูกแปลงเป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้โซนเวลาแท็บในนั้นวันที่และเวลารายการใน'แผงควบคุม'
ยุบตารางนี้ขยายตารางนี้
ชื่อแฟ้มรุ่นของแฟ้มขนาดแฟ้มวันที่เวลาแพลทฟอร์ม
AvVsPkDH.dll9.0.30729.177325848-Nov-082:19x86
AvVsPkDH.dll9.0.30729.177382168 08 พฤศจิกายน2:19x64
AvVsPkDH.dll9.0.30729.177750808 08 พฤศจิกายน2:19IA-64
AvVsPkDH.dll9.0.30729.177750808 08 พฤศจิกายน2:19x86
AvVsPkDH.dll9.0.30729.177382168 08 พฤศจิกายน2:19x86
AvVsPkDH.dll9.0.30729.177325848 08 พฤศจิกายน2:19x86
cpde.dll9.0.30729.1776526088 08 พฤศจิกายน2:19x86
mcee.dll9.0.30729.17711809928 08 พฤศจิกายน2:19x86
mcee.dll9.0.30729.1776567048 08 พฤศจิกายน2:19x86
mcee.dll9.0.30729.1773648648 08 พฤศจิกายน2:19x86
mcee.dll9.0.30729.1773648648 08 พฤศจิกายน2:19x86
mcee.dll9.0.30729.1776567048 08 พฤศจิกายน2:19x64
mcee.dll9.0.30729.17711809928 08 พฤศจิกายน2:19IA-64
mpishim.exe9.0.30729.177238808 08 พฤศจิกายน2:19x86
mpishim.exe9.0.30729.177238808 08 พฤศจิกายน2:19x86
mpishim.exe9.0.30729.177238808 08 พฤศจิกายน2:19x86
mpishim.exe9.0.30729.177238808 08 พฤศจิกายน2:19x86
mpishim.exe9.0.30729.177290008 08 พฤศจิกายน2:19x64
mpishim.exe9.0.30729.177546008 08 พฤศจิกายน2:19IA-64
msvb7.dll9.0.30729.17740871048 08 พฤศจิกายน2:19x86
msvb7.dll9.0.30729.17757331848 08 พฤศจิกายน2:19x86
msvb7.dll9.0.30729.17727425928 08 พฤศจิกายน2:19x86
msvb7.dll9.0.30729.17740871048 08 พฤศจิกายน2:19x86
msvb7.dll9.0.30729.17740871048 08 พฤศจิกายน2:19x86
msvb7.dll9.0.30729.17727425928 08 พฤศจิกายน2:19x64
msvb7.dll9.0.30729.17757331848 08 พฤศจิกายน2:19IA-64
msvsmon.exe9.0.30729.17799925208 08 พฤศจิกายน2:19x86
msvsmon.exe9.0.30729.17747614168 08 พฤศจิกายน2:19x86
msvsmon.exe9.0.30729.17732167128 08 พฤศจิกายน2:19x86
msvsmon.exe9.0.30729.17732167128 08 พฤศจิกายน2:19x86
msvsmon.exe9.0.30729.17747614168 08 พฤศจิกายน2:19x64
msvsmon.exe9.0.30729.17799925208 08 พฤศจิกายน2:19IA-64
NatDbgDE.dll9.0.30729.17713479128 08 พฤศจิกายน2:19x86
NatDbgDE.dll9.0.30729.1773141848 08 พฤศจิกายน2:19x86
vsdebug.dll9.0.30729.17715849688 08 พฤศจิกายน2:19x86
msvb7.dll9.0.30729.17740871048 08 พฤศจิกายน2:19x86

สถานะ

Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "การใช้งาน"

คุณสมบัติ

หมายเลขบทความ (Article ID): 957912 - รีวิวครั้งสุดท้าย: 16 มกราคม 2554 - Revision: 4.0
ใช้กับ
  • Microsoft Visual Studio 2008 Service Pack 1
Keywords: 
kbsurveynew kbHotfixServer kbexpertiseadvanced kbqfe kbmt KB957912 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:957912

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com