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

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 244617 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
การสนับสนุนสำหรับ Windows Vista Service Pack 1 (SP1) สิ้นสุดในวันที่ 12 กรกฎาคม 2011 เมื่อต้องการได้รับการปรับปรุงความปลอดภัยสำหรับ Windows ต่อไป ตรวจสอบให้แน่ใจว่าคุณกำลังใช้ Windows Vista ที่เป็น Service Pack 2 (SP2) สำหรับข้อมูลเพิ่มเติม ไปที่เว็บเพจของ Microsoft นี้:สนับสนุนจะสิ้นสุดลงสำหรับ Windows บางรุ่น.
ขยายทั้งหมด | ยุบทั้งหมด

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

สรุป

Verifiertool โปรแกรมควบคุมที่รวมอยู่ใน Windows ทุกรุ่นนับตั้งแต่ Windows 2000is ที่ใช้ในการตรวจหา และแก้ไขปัญหาโปรแกรมควบคุมจำนวนมากที่ทราบว่าทำให้เกิดความเสียหายของระบบ ความล้มเหลว หรือทำงานอื่น ๆ ที่ไม่ บทความนี้อธิบายวิธีการใช้ตัวตรวจสอบความโปรแกรมควบคุมเพื่อแยก และการแก้ไขปัญหาโปรแกรมควบคุมในระบบ

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

บทความนี้กล่าวถึงหัวข้อต่อไปนี้:
  • ตัวเลือกตัวตรวจสอบความโปรแกรมควบคุม
  • ความต้องการของตัวตรวจสอบความโปรแกรมควบคุม
  • การเปิดใช้งานตัวตรวจสอบความโปรแกรมควบคุม
  • โปรแกรมควบคุมตัวตรวจสอบความละเมิดการตรวจแก้จุดบกพร่อง
  • ตัวตรวจสอบความโปรแกรมควบคุมและโปรแกรมควบคุมกราฟิก
  • ตัวจัดการตัวตรวจสอบความโปรแกรมควบคุม (Verifier.exe)
  • ตัวนับที่ส่วนกลาง
  • กลุ่มการติดตาม
  • การตั้งค่า
  • การตั้งค่าที่เปลี่ยนแปลงได้
  • อินเทอร์เฟซของบรรทัดคำสั่ง
  • ข้อมูลเพิ่มเติมสำหรับนักพัฒนาโปรแกรมควบคุม
ตัวตรวจสอบความโปรแกรมควบคุมได้รับการจัดส่งพร้อมกับระบบปฏิบัติการต่อไปนี้:
  • Windows 8
  • Windows Server 2012
  • Windows 7
  • Windows Server 2008 R2
  • Windows Vista
  • Windows Server 2008
  • Windows XP
  • Windows Server 2003
  • Windows 2000

ความสามารถในการควบคุมตัวตรวจสอบความ

เมื่อต้องการใช้ตัวตรวจสอบความไดรเวอร์ runVerifier.exe,and แล้วรีสตาร์ทเครื่องคอมพิวเตอร์ คุณไม่ต้องทำการเปลี่ยนแปลงเพื่อเริ่มต้นการวิเคราะห์โปรแกรมควบคุมระบบ บัญชีผู้ใช้ของคุณต้องมีสิทธิ์ของผู้ดูแลระบบในการเรียกใช้ Verifier.exe สำหรับ Windows Vista และรุ่นที่ใหม่กว่า

โปรแกรมควบคุมตัวตรวจสอบความ cancheck แม่แตกต่างกันของลักษณะการทำงานของโปรแกรมควบคุม ความสามารถเหล่านี้จะ intooptions ที่ถูกจัดกลุ่มหรือการตั้งค่าที่จะเปิดใช้งาน โดยการใช้ค่าสถานะ (เงื่อนไข "ตัวเลือก "การตั้งค่า" และ"ค่าสถานะ"ได้สลับโดยทั่วไปในเอกสารตัวตรวจสอบความโปรแกรมควบคุม Theyrepresent คล้ายแนวคิด)

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแต่ละค่าสถานะ ไปที่เว็บไซต์ MSDN ต่อไปนี้:

ตัวเลือกมาตรฐาน

ตัวเลือกต่อไปนี้ร่วมกันแสดงกฎที่ควรไม่มีละเมิดโปรแกรมควบคุมทั้งหมดในระบบ ตัวเลือกเหล่านี้จะเปิดใช้งานเมื่อคุณเลือกที่จะเปิดใช้งาน "มาตรฐานการตั้งค่า" ใน GUI ตัวตรวจสอบความไดรเวอร์ หรือระบุ ตัว/standardswitch เมื่อคุณตั้งค่าคอนฟิกตัวตรวจสอบความโปรแกรมควบคุม โดยใช้บรรทัดคำสั่ง

การตรวจสอบโดยอัตโนมัติ

มีตรวจสอบเหล่านี้เสมอในโปรแกรมควบคุมที่กำลังถูกตรวจสอบ โดยไม่คำนึงถึงซึ่งได้เลือกตัวเลือก นี้

ตัวอย่างของการตรวจสอบโดยอัตโนมัติ:
  • เช็ค IRQL
    • (หมายถึงว่า IRQL ปัจจุบันที่มีค่าน้อยกว่าเป้าหมาย IRQL) IRQL ยกขึ้น
    • (หมายถึงว่า IRQL ปัจจุบันที่มีรายละเอียดมากกว่าเป้าหมาย IRQL) IRQL ต่ำลง

  • SpinLocks:
    • นำคู่ของล็อกการหมุน
    • หมุนล็อก/ประกาศการซื้อสินทรัพย์จะทำที่ IRQL เหมาะสม
  • การปันส่วนหน่วยความจำ:
    • เพจพูปันส่วน/เพิ่มจะทำที่ IRQL ถูกต้อง (APC_LEVEL หรือด้านล่าง)
    • ไม่ใช่เพจพูปันส่วน/เพิ่มจะทำที่ IRQL ถูกต้อง (DISPATCH_LEVEL หรือด้านล่าง)
    • มีระบุ (ยัง) ไม่มีค่าสุ่มเพื่อเหล่านี้โปรแกรมประยุกต์เฟซการเขียนโปรแกรม)
    • การปันส่วนทำให้ว่างไม่ได้ชี้ไปยังวัตถุตัวจับเวลาที่ใช้งานอยู่
  • โปรแกรมควบคุมยกเลิกการโหลดการตรวจสอบ:
    • ตรวจสอบว่า โปรแกรมควบคุมที่ไม่มีที่ค้างอยู่รอการดำเนินการขณะทำการโหลด เช่นรอ DPCs หรือเธรดตัวทำงาน
  • อื่น ๆ โปรแกรมควบคุมลักษณะการทำงาน:
    • การสลับไพ่เธรดไม่ถูกต้อง
    • โทร Tryingto KeWaitXxx ที่ IRQL > = DISPATCH_LEVEL
    • Dereferencing วัตถุที่ 0 จำนวนการอ้างอิงที่มีอยู่แล้ว

กลุ่มพิเศษ

เมื่อตัวเลือกนี้จะเปิดใช้งาน ตัวตรวจสอบความโปรแกรมควบคุมจัดสรรมากที่สุดของการร้องขอหน่วยความจำของโปรแกรมควบคุมจากกลุ่มพิเศษ กลุ่มพิเศษนี้จะได้รับการตรวจสอบสำหรับหน่วยความจำเกิน หน่วยความจำ underruns และหน่วยความจำที่เข้าถึงหลังจากนั้นจะว่าง

บังคับให้ตรวจสอบ IRQL

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

กลุ่มการติดตาม

เมื่อตัวเลือกนี้จะเปิดใช้งาน ตัวตรวจสอบความโปรแกรมควบคุมจะตรวจสอบหากโปรแกรมควบคุมมีว่างปันส่วนหน่วยความจำทั้งหมดของเมื่อยกเลิกการโหลด หน่วยความจำรั่วอัพโหลดนี้

ตรวจสอบ I/O

เมื่อตัวเลือกนี้จะเปิดใช้งาน ตัวตรวจสอบความไดรเวอร์ไดรเวอร์ IRPs การจัดสรรจากพูพิเศษ และตรวจสอบโปรแกรมควบคุม I/O จัดการ นี้ตรวจหาใช้ไม่ถูกต้อง หรือไม่สอดคล้องกันของงานประจำ I/O

เมื่อตัวตรวจสอบความ I/O ถูกเปิดใช้งาน:
  • IRPS ที่ปันส่วนผ่านทาง IoAllocateIrp ทั้งหมดถูกปันส่วนจากพูพิเศษ ถ้ามี
  • การตรวจสอบจะทำใน IoCallDriver, IoCompleteRequest และ IoFreeIrp สามารถตรวจจับข้อผิดพลาดของโปรแกรมควบคุม
  • ทุกตัวตรวจสอบความ I/O ล้มเหลวตรวจสอบจุดบกพร่อง ด้วยรหัส DRIVER_VERIFIER_IOMANAGER_VIOLATION (0xC9)
หมายเหตุ: ใน Windows 7 และระบบปฏิบัติการ Windows รุ่นที่ใหม่กว่า คุณลักษณะทั้งหมดของสนับสนุนการตรวจสอบ I/O ถูกรวมไว้เป็นส่วนหนึ่งของการตรวจสอบ I/O และไม่พร้อมใช้งานและ ไม่จำเป็นต้องเลือกตัวเลือกการปรับปรุงตรวจสอบ I/O ในตัว จัดการตัวตรวจสอบความของโปรแกรมควบคุม หรือ จากบรรทัดคำสั่ง

ตรวจสอบการล็อกตาย

(Windows XP และรุ่นที่ใหม่กว่า)เมื่อตัวเลือกนี้จะเปิดใช้งาน ตัวตรวจสอบความโปรแกรมควบคุมตรวจสอบการใช้ไดรเวอร์ของล็อกหมุน mutexes และ mutexes อย่างรวดเร็ว ตรวจสอบว่า รหัสการขับขี่รถยนต์มีโอกาสของการทำให้เกิดการล็อกตาย ณจุดใดจุดนั้น

ตรวจสอบ I/O ขั้นสูง

(Windows XP และรุ่นที่ใหม่กว่า)เมื่อตัวเลือกนี้จะเปิดใช้งาน ตรวจสอบการเรียกของงานประจำตัวจัดการ I/O หลายตัวตรวจสอบความโปรแกรมควบคุม และทำการทดสอบความเค้น PnP IRPs พลังงาน IRPs และ WMI IRPs

หมายเหตุใน Windows 7 และรุ่นที่ใหม่กว่า คุณลักษณะทั้งหมดของสนับสนุนการตรวจสอบ I/O ถูกรวมเป็นส่วนหนึ่งของการตรวจสอบ I/O ตัวเลือกนี้จะไม่ availableor ที่ต้องการในตัว จัดการตัวตรวจสอบความของโปรแกรมควบคุม หรือ จากบรรทัดคำสั่ง

ตรวจสอบ DMA

(Windows XP และรุ่นที่ใหม่กว่า) เมื่อตัวเลือกนี้จะเปิดใช้งาน ตัวตรวจสอบความโปรแกรมควบคุมตรวจสอบการใช้ไดรเวอร์ของงานประจำ DMA นี้ตรวจหาการใช้บัฟเฟอร์ DMA อะแดปเตอร์ ไม่เหมาะสม และแผนผังการลงทะเบียน

ตรวจสอบความปลอดภัย

(Windows Vista และรุ่นที่ใหม่กว่า) เมื่อตัวเลือกนี้จะเปิดใช้งาน ตัวตรวจสอบความโปรแกรมควบคุมค้นหาข้อผิดพลาดทั่วไปที่อาจก่อให้เกิดช่องโหว่ด้านความปลอดภัย เช่นการอ้างอิงไปยังที่อยู่ของโหมดผู้ใช้ตามคำสั่งในโหมดเคอร์เนล

เช็คเบ็ดเตล็ด

(Windows Vista และรุ่นที่ใหม่กว่า) เมื่อตัวเลือกนี้จะเปิดใช้งาน ตัวตรวจสอบความโปรแกรมควบคุมค้นหาสาเหตุของการล้มเหลวของโปรแกรมควบคุม เช่น mishandling ของหน่วยความจำอิสระ

การตรวจสอบการปฏิบัติตามกฎระเบียบของ DDI

(Windows 8 และรุ่นที่ใหม่กว่า) เมื่อตัวเลือกนี้จะเปิดใช้งาน ตัวตรวจสอบความไดรเวอร์ที่ใช้ชุดของกฎอินเทอร์เฟซ (DDI) ของโปรแกรมควบคุมอุปกรณ์ที่ตรวจสอบสำหรับการโต้ตอบที่เหมาะสมระหว่างโปรแกรมควบคุมและอินเทอร์เฟซของเคอร์เนลของระบบปฏิบัติการ

DDI ปฏิบัติตามกฎระเบียบตรวจสอบตัวเลือกถูกนำมาใช้ โดยใช้ไลบรารีโหมดเคอร์เนล เรียกว่า VerifierExt.sys ถ้าพบการละเมิดกฎการตรวจสอบการปฏิบัติตามกฎระเบียบ DDI หนึ่งสอง VerifierExt.sys จะมีโมดูลที่เรียกสำหรับการถ่ายโอนของระบบเกิดขึ้น

ตัวเลือกเพิ่มเติม

ตัวเลือกเหล่านี้ถูกออกแบบมาสำหรับการทดสอบของสถานการณ์จำลองเฉพาะการทดสอบ หรือตัวเลือกที่จะใส่ความล้มเหลวหรือความล่าช้าลงในบางคำสั่ง DDI จำลองความเค้นที่รุนแรงที่สุดคือเงื่อนไข

ความต้องการของตัวตรวจสอบความโปรแกรมควบคุม

ความต้องการเฉพาะที่จะให้คุณต้องติดตั้ง Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows 2000, Windows XP หรือ Windows Server 2003 คุณสามารถเปิดใช้งานตัวตรวจสอบความไดรเวอร์ทั้งขายปลีกและการตรวจสอบรุ่นของ Windows ดูบทความในฐานความรู้ของ Microsoft 251233 สำหรับข้อมูลเกี่ยวกับสิ่งที่ควรพิจารณาก่อนที่คุณเปิดใช้งานตัวจัดการตัวตรวจสอบความไดรเวอร์ในเซิร์ฟเวอร์การผลิต ถ้ามีการติดตั้งของ Norton Antivirus ไม่เปิดใช้งานโปรแกรมควบคุมตัวตรวจสอบความของการชะงักงันตรวจเนื่องจากคำแนะนำในบทความฐานความรู้ของ Microsoft 325672

การเปิดใช้งานตัวตรวจสอบความโปรแกรมควบคุม

คุณสามารถเปิดใช้งานตัวตรวจสอบความโปรแกรมควบคุม โดยใช้ Verifier.exe Verifier.exe จะมาพร้อมกับทุกสำเนาของ Windows และติดตั้งโดยอัตโนมัติลงในโฟลเดอร์ System32 Verifier.exe ได้ทั้งผู้ใช้บรรทัดคำสั่ง และแบบกราฟิก (GUI) ของอินเทอร์เฟซอินเทอร์เฟส เพื่อให้คุณสามารถระบุโปรแกรมควบคุมและการตรวจสอบในระดับที่เหมาะสม คุณยังสามารถดูสถิติของตัวตรวจสอบความโปรแกรมควบคุมในเวลาจริง สำหรับข้อมูลเพิ่มเติม โปรดดูที่ส่วน "โปรแกรมควบคุมตัวตรวจสอบความผู้จัดการ" ของบทความนี้

โปรแกรมควบคุมตัวตรวจสอบความละเมิดการตรวจแก้จุดบกพร่อง

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

ตัวตรวจการควบคุมทั้งหมดสอบความละเมิดมีผลในการตรวจสอบจุดบกพร่อง บ่อยสุด (แม้ว่าไม่จำเป็นทั้งหมด) คือ:
  • 0XC1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
  • 0XC4: DRIVER_VERIFIER_DETECTED_VIOLATION
  • 0XC6: DRIVER_CAUGHT_MODIFYING_FREED_POOL
  • 0XC9: DRIVER_VERIFIER_IOMANAGER_VIOLATION
  • 0XD6: DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION
  • 0XE6: DRIVER_VERIFIER_DMA_VIOLATION
! วิเคราะห์ –vคือคำสั่งที่ดีที่สุดที่จะใช้เมื่อเริ่มต้นเซสชันการตรวจแก้จุดบกพร่องใหม่ คำสั่งนี้จะพิมพ์ข้อมูลที่เป็นประโยชน์ และพยายามที่จะระบุโปรแกรมควบคุม faulting

ดีบักเกอร์ส่วนขยายที่เฉพาะเจาะจงกับตัวตรวจสอบความโปรแกรมควบคุม:
  • ! ตัวตรวจสอบความจะถ่ายโอนข้อมูลรวบรวมสถิติเกี่ยวกับตัวตรวจสอบความโปรแกรมควบคุม ! ตัวตรวจสอบความ-?จะแสดงตัวเลือกที่พร้อมใช้งานทั้งหมด
  • ! การชะงักงันรวมอยู่ในข้อมูลที่เกี่ยวข้องกับการล็อกหรือวัตถุที่มีติดตาม โดยการตรวจพบการล็อกตาย ! การชะงักงัน-?จะแสดงตัวเลือกที่พร้อมใช้งานทั้งหมด
  • ! [ที่อยู่] iovirpจะมีการถ่ายโอนข้อมูลที่เกี่ยวข้องกับ IRP การติดตาม โดยตัวตรวจสอบความ I/O
  • ! [RuleID] ruleinfoจะมีการถ่ายโอนข้อมูลที่เกี่ยวข้องกับกฎการตรวจสอบความสอดคล้องของ DDI ที่ถูกละเมิด (RuleID เสมอเป็นอาร์กิวเมนต์แรกของการตรวจสอบจุดบกพร่อง รหัสกฎการตรวจสอบความสอดคล้องของ DDI ทั้งหมดอยู่ในแบบฟอร์ม 0x200nn)

ตัวตรวจสอบความโปรแกรมควบคุมและโปรแกรมควบคุมกราฟิก

โปรแกรมควบคุมกราฟิกโหมดเคอร์เนลของ Windows (เช่นเครื่องพิมพ์และโปรแกรมควบคุมจอแสดงผล Dll) ถูกจำกัดการเรียกจุดเข้าใช้งานประเภทการผลิตโดยตรง การ ปันส่วนกลุ่มจะดำเนินการโดยทางอ้อมโดยใช้โปรดติดต่อ (DDI) ไดรเวอร์อุปกรณ์กราฟิกเพื่อ Win32k.sys ต่อ ตัวอย่างเช่น EngAllocMem ถูกเรียกกลับที่โปรแกรมควบคุมกราฟิกเรียกอย่างชัดเจนจัดสรรหน่วยความจำ นอกจากนี้ อื่น ๆ โปรดพิเศษเช่น EngCreatePalette และ EngCreateBitmap ส่งคืนหน่วยความจำพู

เพื่อให้มีการเรียงลำดับที่เหมือนกันของการทดสอบสำหรับไดรเวอร์กราฟิกแบบอัตโนมัติ การสนับสนุนสำหรับบางฟังก์ชันตัวตรวจสอบความโปรแกรมควบคุมจะรวมอยู่ใน Win32k.sys อย่างไรก็ตาม เนื่องจากโปรแกรมควบคุมกราฟิกจะจำกัดมากขึ้นกว่าโปรแกรมควบคุมโหมดเคอร์เนลอื่น จะต้องมีเพียงชุดย่อยของฟังก์ชันการทำงานของตัวตรวจสอบความโปรแกรมควบคุม โดยเฉพาะอย่างยิ่ง IRQL ที่ตรวจสอบและตรวจสอบ I/O ไม่จำเป็น การทำงานอื่น ๆ ใช้ได้แก่ กลุ่มพิเศษ สุ่มล้มเหลวของการปันส่วน กลุ่มและประเภทการผลิต การติดตามได้รับการสนับสนุนรุนแรงในการเรียกกลับ DDI กราฟิกที่แตกต่างกัน

ความผิดพลาดแบบสุ่มที่ได้รับการสนับสนุนสำหรับฟังก์ชันการเรียกกลับ DDI กราฟิกดังต่อไปนี้:
  • EngAllocMem
  • EngAllocUserMem
  • EngCreateBitmap
  • EngCreateDeviceSurface
  • EngCreateDeviceBitmap
  • EngCreatePalette
  • EngCreateClip
  • EngCreatePath
  • EngCreateWnd
  • EngCreateDriverObj
  • BRUSHOBJ_pvAllocRbrush
  • CLIPOBJ_ppoGetPath
นอกจากนี้ ใช้กลุ่มพิเศษและกลุ่มการติดตามได้รับการสนับสนุนสำหรับ EngAllocMem

การเปิดใช้งานตัวตรวจสอบความโปรแกรมควบคุมสำหรับโปรแกรมควบคุมกราฟิกจะเหมือนกับที่ไดรเวอร์อื่น ๆ (โปรดดูที่ส่วน "การเปิดใช้งานโปรแกรมควบคุมตัวตรวจสอบความ" ของบทความนี้สำหรับข้อมูลเพิ่มเติม) ค่าสถานะที่ไม่สนับสนุนเช่นการตรวจสอบ IRQL จะถูกละเว้น นอกจากนี้ คุณสามารถใช้การ! gdikdx.verifierสั่งบักเคอร์เนลตรวจสอบปัจจุบันตัวตรวจสอบความโปรแกรมควบคุมรัฐและพูสืบค้นกลับสำหรับโปรแกรมควบคุมกราฟิกได้

หมายเหตุ: คุณควรใช้การตั้งค่าความล้มเหลวในการจัดสรรตัวอย่างสำหรับการทดสอบเสถียรภาพเท่านั้น การใช้การตั้งค่านี้อาจทำให้เกิดข้อผิดพลาดแสดง ดังนั้นคุณไม่ควรใช้การตั้งค่านี้กับการทดสอบการตรวจสอบเพื่อตรวจสอบความถูกต้องในการปฏิบัติการของโปรแกรมควบคุมกราฟิก (ตัวอย่างเช่น โดยการเปรียบเทียบผลลัพธ์ไปยังรูปอ้างอิงโปรแกรมควบคุมกราฟิก)

ตัวจัดการตัวตรวจสอบความโปรแกรมควบคุม (Verifier.exe)

เครื่องมือตัวจัดการตัวตรวจสอบความโปรแกรมควบคุม (Verifier.exe) เป็นวิธีที่ดีใน การสร้าง และปรับเปลี่ยนการตั้งค่าตัวตรวจสอบความโปรแกรมควบคุม และ การรวบรวมสถิติจากตัวตรวจสอบความโปรแกรมควบคุม Verifier.exe จะอยู่ในโฟลเดอร์ %WinDir%\System32 สำหรับการติดตั้ง Windows ทุกครั้ง

โปรแกรมควบคุมตัวตรวจสอบความ Manager เป็น GUI รวมอยู่ใน Windows เมื่อต้องการตั้งค่าคอนฟิกตัวตรวจสอบความโปรแกรมควบคุม เริ่มตัวจัดการตัวตรวจสอบความโปรแกรมควบคุม โดยใช้verifier.exeโดยไม่ มีสวิตช์บรรทัดคำสั่งเพิ่มเติมใด ๆ เมื่อใดก็ ตามจะรวมสวิตช์ รุ่นตามบรรทัดคำสั่งของโปรแกรมอรรถประโยชน์นี้จะใช้

สำหรับความช่วยเหลือเกี่ยวกับการตั้งค่าคอนฟิกตัวตรวจสอบความไดรเวอร์ เรียกใช้verifier.exe / ?จากหน้าต่างคำสั่งของผู้ดูแลระบบ

สถานะของโปรแกรมควบคุม

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

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

ตัวนับที่ส่วนกลาง

หน้าคุณสมบัติสากลของตัวนับแสดงค่าปัจจุบันของตัวนับบางรักษาไว้ โดยตัวตรวจสอบความโปรแกรมควบคุม ค่าศูนย์สำหรับตัวนับสามารถบ่งชี้ว่า ไม่สามารถใช้ค่าสถานะตัวตรวจสอบความโปรแกรมควบคุมที่เกี่ยวข้อง ตัวอย่างเช่น ค่า 0 สำหรับอีก / ตัวนับข้อบกพร่องที่บ่งชี้ว่า ไม่สามารถใช้ค่าสถานะการจำลองทรัพยากรเหลือน้อย คุณสามารถตรวจสอบกิจกรรมของตัวตรวจสอบความหมายเนื่องจากค่าของตัวนับที่จะปรับปรุงโดยอัตโนมัติ (โดยค่าเริ่มต้น) คุณสามารถเปลี่ยนอัตราการฟื้นฟู สลับการฟื้นฟูด้วยตนเอง หรือบังคับใช้โดยใช้กลุ่มของตัวควบคุมในพื้นที่ด้านล่างซ้ายของกล่องโต้ตอบ

กลุ่มการติดตาม

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

การตั้งค่า

คุณสามารถใช้เพจนี้เพื่อสร้าง และปรับเปลี่ยนการตั้งค่าตัวตรวจสอบความโปรแกรมควบคุม การตั้งค่าถูกบันทึกไว้ในรีจิสทรี และคุณต้องรีสตาร์ทเครื่องคอมพิวเตอร์สำหรับการตั้งค่าที่มีผลบังคับใช้ คุณสามารถใช้รายการเพื่อดูไดรเวอร์ที่ติดตั้งแล้ว แต่ละโปรแกรมควบคุมอาจเป็นหนึ่งในสถานะต่อไปนี้:
  • เปิดใช้งานการตรวจสอบ: โปรแกรมควบคุมมีอยู่ในขณะนี้ตรวจสอบ
  • ถูกปิดใช้งานการตรวจสอบ: โปรแกรมควบคุมที่มีอยู่ในขณะนี้ไม่ตรวจสอบ
  • ตรวจสอบการเปิดใช้งาน (จำเป็นต้องเริ่มระบบใหม่): โปรแกรมควบคุมถูกตรวจสอบเท่านั้นหลังจากการรีสตาร์ทครั้งถัดไป
  • ตรวจสอบถูกปิดใช้งาน (จำเป็นต้องเริ่มระบบใหม่): โปรแกรมควบคุมถูกตรวจสอบอยู่ในขณะนี้ แต่ไม่มีการตรวจสอบหลังจากการรีสตาร์ทครั้งถัดไป
คุณสามารถเลือกโปรแกรมควบคุมอย่าง น้อยหนึ่งจากรายการ และสลับสถานะโดยใช้ปุ่มสองปุ่มภายใต้รายการ คุณยังสามารถคลิกขวาชื่อโปรแกรมควบคุมเพื่อแสดงเมนูบริบท ซึ่งช่วยให้คุณสามารถทำการสลับสถานะ

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

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

คุณสามารถตั้งค่าชนิดการตรวจสอบการใช้กล่องกาเครื่องหมายในพื้นที่มุมบนขวาของกล่องโต้ตอบ คุณสามารถเปิดใช้งานการตรวจสอบ I/O ที่ระดับ 1 หรือระดับ 2 ตรวจสอบระดับ 2 มีความปลอดภัยสูงกว่าระดับ 1

คุณต้องบันทึกการปรับเปลี่ยนใด ๆ ที่เป็นการตั้งค่า โดยการคลิกนำไปใช้ มีสองปุ่มขึ้นไปในเพจนี้:
  • การตั้งค่าที่ต้องการ: นี้เลือกตั้งค่าบางอย่างใช้กันทั่วไป (พร้อมกับตรวจสอบโปรแกรมควบคุมทั้งหมด)
  • ตั้งค่าใหม่ทั้งหมด: นี้ล้างการตั้งค่าตัวตรวจสอบความโปรแกรมควบคุมทั้งหมดเพื่อให้มีการตรวจสอบโปรแกรมควบคุมไม่มี
หลังจากที่คุณคลิกการใช้คุณต้องรีสตาร์ทคอมพิวเตอร์สำหรับการเปลี่ยนแปลงมีผลบังคับใช้

การตั้งค่าที่เปลี่ยนแปลงได้

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

อินเทอร์เฟซแบบบรรทัดคำสั่ง

นอกจากนี้คุณสามารถเรียกใช้ Verifier.exe ได้จากบรรทัดคำสั่ง (สำหรับข้อมูลเพิ่มเติม ชนิด verifier.exe / ที่พร้อมท์คำสั่ง) หลายสวิตช์สามารถใช้บนบรรทัดคำสั่ง ตัวอย่างเช่น:

/Driver /flags 0x209BB Verifier.exe MyDriver1.sys MyFilterDriver1.sys

รายการต่อไปนี้แสดงค่าสถานะของบรรทัดคำสั่งที่ใช้บ่อยสุด:

ตั้งค่าคอนฟิกตัวเลือก (ค่าสถานะ):

สำหรับ Windows XP และรุ่นที่ใหม่กว่า:
  • verifier.exe /flags ค่า
    ค่าคือ หมายเลขฐานสิบหก (คำเสริมหน้าเป็น0 xจำเป็นต้องมี) ที่แสดงถึงมูลค่ารวมของค่าสถานะเพื่อเปิดใช้งาน ค่าสำหรับแต่ละค่าสถานะจะปรากฏในแบบตัวตรวจสอบความ / ?ผลผลิต

    ค่าสถานะมาตรฐาน:
    0x00000000: ตรวจสอบโดยอัตโนมัติ
    0x00000001: กลุ่มพิเศษ
    0x00000002: บังคับ IRQL ที่ตรวจสอบ
    0x00000008: พูลโปรแกรมการติดตาม
    0x00000010: ตรวจสอบ I/O
    0x00000020: การชะงักงันที่ตรวจพบ
    0x00000080: กำลังตรวจสอบ DMA
    0x00000100: การตรวจสอบความปลอดภัย
    0x00000800: ตรวจสอบเบ็ดเตล็ด
    0x00020000: DDI กำลังตรวจสอบการปฏิบัติตามกฎระเบียบ

    ค่าสถานะเพิ่มเติม:
    0x00000004: randomized การจำลองทรัพยากรเหลือน้อย
    0x00000040: ปรับปรุงตรวจสอบ I/O (Vista เท่านั้น)
    0x00000200: หน่วยงานที่ค้างอยู่รอการร้องขอ I/O
    0x00000400: บันทึก IRP
    0x00002000: MDL ไม่ตรวจสอบสแต็ค
    0x00004000: MDL ไม่ตรวจหา driver0x00008000: พลังงานกรอบการหน่วงเวลา fuzzing

    ตัวอย่างเช่น การเปิดใช้งานเฉพาะ กลุ่มพิเศษ ตรวจ สอบ I/O และเบ็ดเตล็ดเช็ค:
    verifier.exe /flags 0x811
    เมื่อต้องการเปิดใช้งานการตั้งค่ามาตรฐานทั้งหมด (ทำงานอย่างอย่างใดอย่างหนึ่ง):

    verifier.exe /standard

    verifier.exe /flags 0x209BB
สำหรับ Windows 200 (เท่านั้น)
  • ค่า /flags verifier.exe [/ iolevel 2]
    ระบุค่าทศนิยมของค่าสถานะตัวตรวจสอบความไดรเวอร์ และอาจรวมถึงระดับสำหรับการตรวจสอบ I/O (สำหรับรายการของค่าสถานะที่พร้อมใช้งาน พิมพ์ verifier.exe / ? ที่พร้อมท์คำสั่ง หรือดูที่ส่วน "การเปิดใช้งานโปรแกรมควบคุมตัวตรวจสอบความ" ของบทความนี้)

    แทนค่าพารามิเตอร์ ด้วยค่าบิตตรวจสอบดังต่อไปนี้:

    0 - พิเศษของกลุ่มการตรวจสอบ
    1 - ตรวจสอบ IRQL force
    2 - การจำลองทรัพยากรต่ำ
    3 - การติดตามกลุ่ม
    4 - ตรวจสอบ I/O
    5 - ตรวจพบการชะงักงัน
    6 - ตรวจสอบ I/O ขั้นสูง
    7 - ตรวจสอบ DMA

    ตัวอย่างเช่น พิมพ์คำสั่งต่อไปนี้:

    /iolevel /flags 3 c:\verifier 2

ตั้งค่าคอนฟิกไดรเวอร์ที่จะตรวจสอบ:
driver1.sys /driver verifier.exe [driver2.sys driver3.sys...]
คำสั่งนี้ระบุเฉพาะของโปรแกรมควบคุมหรือโปรแกรมควบคุมเพื่อตรวจสอบ ระบุโปรแกรมควบคุมเพิ่มเติมในช่องว่างคั่นระหว่างรายการ

verifier.exe/ทั้ง หมด
ตรวจสอบโปรแกรมควบคุมทั้งหมดในระบบ

ตั้งค่าคอนฟิกโหมดการเปลี่ยนแปลงได้โดยใช้:

verifier.exe /volatile//adddriver ค่า MyDriver1.sysค่าสถานะ
เปลี่ยนสถานะของตัวตรวจสอบความทันที และเพิ่ม MyDriver1.sys สำหรับการตรวจสอบ

ทำแบบสอบถามสถิติตัวตรวจสอบความปัจจุบัน:

ตัวตรวจสอบความ /query
ถ่ายโอนข้อมูลสถานะปัจจุบันของตัวตรวจสอบความไดรเวอร์และเคาน์เตอร์กับผลผลิตมาตรฐาน
ทำแบบสอบถามการตั้งค่าตัวตรวจสอบความปัจจุบัน:

ตัวตรวจสอบความ /querysettings
ตั้งค่าตัวตรวจสอบความโปรแกรมควบคุมปัจจุบันกับผลผลิตมาตรฐานการถ่ายโอนข้อมูล

ล้างการตั้งค่าตัวตรวจสอบความ:

verifier.exe /reset
ตั้งค่าตัวตรวจสอบความโปรแกรมควบคุมปัจจุบันทั้งหมดที่ลบออก

ข้อมูลเพิ่มเติมสำหรับนักพัฒนาโปรแกรมควบคุม

ในส่วนต่อจากนั้นอธิบายรายละเอียดเพิ่มเติมเกี่ยวกับการตั้งค่าตัวตรวจสอบความโปรแกรมควบคุมที่อาจเป็นประโยชน์กับนักพัฒนาโปรแกรมควบคุม การตั้งค่าเหล่านี้จะไม่จำเป็นโดยทั่วไปแล้ว โดยผู้เชี่ยวชาญด้าน IT

สิ่งสำคัญ ส่วน วิธีการ หรืองานนี้ประกอบด้วยขั้นตอนที่บอกให้คุณทราบวิธีการปรับเปลี่ยนรีจิสทรี อย่างไรก็ตาม ปัญหาร้ายแรงอาจเกิดขึ้นหากคุณปรับเปลี่ยนรีจิสทรีอย่างไม่ถูกต้อง ดังนั้น ตรวจสอบให้แน่ใจว่า คุณทำตามขั้นตอนเหล่านี้อย่างระมัดระวัง สำหรับการป้องกันเพิ่มเติม ให้สำรองข้อมูลรีจิสทรีก่อนที่คุณจะปรับเปลี่ยน จากนั้นคุณจะสามารถคืนค่ารีจิสทรีได้หากเกิดปัญหา สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสำรอง และคืนค่ารีจิสทรี คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
322756 วิธีการสำรอง และคืนค่ารีจิสทรีใน Windows

เมื่อต้องการเปิดใช้งานตัวตรวจสอบความโปรแกรมควบคุม โดยการแก้ไขรีจิสทรี ให้ทำตามขั้นตอนเหล่านี้:
  1. เริ่มตัวแก้ไขรีจิสทรี (Regedt32)
  2. ค้นหารีจิสทรีคีย์ต่อไปนี้:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\VerifyDrivers
  3. แก้ไขคีย์ REG_SZ
REG_SZ คีย์การตั้งค่าเป็นชื่อของโปรแกรมควบคุมที่คุณต้องการทดสอบเทียบ คุณสามารถระบุโปรแกรมควบคุมหลาย แต่ใช้เฉพาะ โปรแกรมควบคุมหนึ่งครั้ง โดยการทำเช่นนั้น คุณสามารถมั่นใจว่า ทรัพยากรระบบเหลืออยู่ได้อย่างไม่สมบูรณ์หมดแล้ว จุดจุดของทรัพยากรที่ทำให้เกิดระบบใด ๆ ปัญหาความน่าเชื่อถือ แต่อาจทำให้บางโปรแกรมควบคุมไปเป็น bypassed การตรวจสอบ

รายการต่อไปนี้แสดงตัวอย่างของค่าสำหรับคีย์ REG_SZ:
  • Ntfs.sys
  • Win32k.sys ftdisk.sys
  • *.sys
คุณสามารถระบุระดับของการตรวจสอบโปรแกรมควบคุมในรีจิสทรีคีย์ต่อไปนี้:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\VerifyDriverLevel
ค่าของคีย์เป็น DWORD แทนชุดของค่าสถานะทั้งหมดที่เปิดใช้งาน

คุณสมบัติ

หมายเลขบทความ (Article ID): 244617 - รีวิวครั้งสุดท้าย: 19 เมษายน 2557 - Revision: 8.0
ใช้กับ
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Windows 7 Enterprise
  • Windows 7 Enterprise N
  • Windows 7 Home Premium N
  • Windows 7 Professional N
  • Windows 7 Release Candidate
  • Windows 7 Starter N
  • Windows 7 Ultimate N
  • Windows Vista Enterprise 64-bit edition
  • Windows Vista Home Basic 64-bit edition
  • Windows Vista Home Premium 64-bit edition
  • Windows Vista Ultimate 64-bit edition
  • Windows Vista Business
  • Windows Vista Business 64-bit edition
  • Windows Vista Business N
  • Windows Vista Business N 64-bit Edition
  • Windows Vista Enterprise
  • Windows Vista Home Basic
  • Windows Vista Home Basic Beta
  • Windows Vista Home Basic N
  • Windows Vista Home Basic N 64-bit Edition
  • Windows Vista Home Premium
  • Windows Vista Home Premium Beta
  • Windows Vista Service Pack 1
  • Windows Vista Service Pack 2
  • Windows Vista Starter
  • Windows Vista Ultimate
  • Windows HPC Server 2008
  • Windows HPC Server 2008 R2
  • Windows Server 2008 Datacenter without Hyper-V
  • Windows Server 2008 Enterprise without Hyper-V
  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 Foundation
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 Service Pack 2
  • Windows Server 2008 Standard without Hyper-V
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows 8
  • Windows 8 N
  • Windows 8 Enterprise
  • Windows 8 Enterprise N
  • Windows 8 Pro
  • Windows 8 Professional N
  • Windows Server 2012 Foundation
  • Windows Server 2012 Essentials
  • Windows Server 2012 Standard
  • Windows Server 2012 Datacenter
Keywords: 
kbresolve kbenv kbhowto kbprogramming kbmt KB244617 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:244617

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

 

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