في البرمجة، المنقح (بالإنجليزية: Debugger) ويسمى أيضًا مُشخِّص الأخطاء[1] أو مُتتبع الأخطاء، هو أداة لتشخيص، إيجاد، وإزالة الأخطاء من أنظمة الحواسيب؛ خصوصًا من البرمجيات.[2][3][4]
يتم تشغيل البرنامج المراد تصحيحه من خلال المنقح ويعمل بشكل طبيعي. يقدم المنقح للمبرمج القدرة على مراقبة البرنامج والتحكم في تنفيذه، ويسمح له كذلك بمراقبته ووقف تنفيذه وحتى تغييره وذلك من خلال مجموعة من الوسائل المتاحة له. على سبيل المثال، يمكن ملاحظة مكدس التنفيذ ومحتوى المتغيرات في الذاكرة، ويمكن تغيير قيمة المتغيرات لتغيير التحكم في التدفق من البرنامج، لتحديد سبب الفشل على سبيل المثال.
تختلف الأدوات التي يوفرها المنقح باختلاف لغة البرمجة (التي يستعملها المبرمج لكتابة الكود الذي يتم تصحيحه) التي صمم من أجلها.
مع ذلك، يبقى هناك مجموعة من الأدوات التي يوفرها غالبية المنقحين.
بالإضافة إلى ذلك، يسمح لك المنقح عادة بتغيير حالة البرنامج، عند إيقاف تنفيذه:
التصحيح عن بعد هو تصحيح البرامج عن بعد، غالبا من أجل هدف مختلف عن البيئة التطويرية.
تصحيح نواة أو مسير نظام التشغيل (OS) يتطلب أدوات لهذه المهمة الحساسة. على وجه الخصوص، عادة ما يتم القيام بتصحيح الأخطاء عن بعد عبر ارتباط تسلسلي (ولكن في بعض الأحيان إيثرنت Ethernet) لأنه إذا ما سيطر المنقح كليا على النواة، يصبح الجهاز الهدف غير صالح للاستعمال (يتجمد تماما في كل نقطة توقف).