stanford-oval/wikipedia huggingface dataset:
جهاز الحاسب

إن جهاز الحاسب هو مصطلح يطلق عمومًا على أي جهاز من عتاد الحاسوب يكون منفصلاً وقائمًا بذاته وله برمجيات متكاملة (برنامج ثابت)، مصممة خصيصًا لتوفير مصدر حوسبة خاص. وأصبحت هذه الأجهزة تعرف باسم «الأجهزة» للتشابه بينها وبين الأجهزة المنزلية التي عادة ما تكون «مغلقة ومحكمة الغلق» وغير معروضة للاستخدام. يحدث تكامل وتعريف مسبق بين الأجهزة والبرامج قبل التسليم للعميل، لتقديم حل «جاهز» للمشكلة المطلوب معالجتها. وعلى عكس الحاسبات ذات الأغراض العامة، فإن الأدوات عادة ما تكون مصممة لتتيح للعميل فرصة تغيير البرنامج (بما في ذلك نظام التشغيل الأساسي) أو تتيح له إعادة تعريف الجهاز.
نظرة عامة

في العادة، تعمل البرمجيات التطبيقية على سطح نظام التشغيل ذي الأغراض العامة، التي تستخدم مصادر أجهزة الحاسب (الذاكرة الأساسية، ذاكرة التخزين، طاقة التشغيل، والشبكات والنطاق الترددي) لتلبية احتياجات تشغيل الحاسب الخاصة بالمستخدم.
وأهم ما في الطراز التقليدي هو ما يتعلق بالتعقيد. فمن المعقد أن تدمج نظام التشغيل وتطبيقات لجهاز نظام أساسي، ومن المعقد أن تدعمه بعد ذلك.
من خلال التقييد الموثق للأجهزة والبرامج، تصبح الأداة سهلة القابلية للنشر ويمكن استخدامها تقريبًا دون معرفة واسعة (أو عميقة) بتكنولوجيا المعلومات. ومن المهم أنه عند ظهور المشاكل أو الأخطاء، نادرًا ما يحتاج فريق الدعم إلى استكشافها بعمق أو إلى تفهم الموقف تمامًا. كل ما يحتاجه فريق الدعم هو التدرب على برنامج إدارة الأداة ليتمكن من حل أغلب المشكلات.
ويتمتع العملاء بتشغيل سهل في جميع طرز أجهزة الحاسوب. والأداة لها تركيبة واحدة لجهاز ونظام تشغيل وبرمجيات تطبيقية، وهذه التركيبة تم تثبيتها مسبقًا في المصنع. وهذا يغني العملاء عن عمل تكاملي معقد، ويحسن بصورة ملحوظة من تقنيات استكشاف الأخطاء وإصلاحها. وفي الواقع، هذه الخصائص التي يوفرها «التشغيل الجاهز» هي الفائدة المحركة التي يطلبها العملاء عند شراء الأدوات.
ولكي يصبح الجهاز أداة، يحتاج إلى أن يدمج ببرنامج، ويقدم الاثنين في حزمة واحدة. وهذا يفرق الأدوات عن الحلول «المحلية»، أو الحلول التي تتطلب عمليات تنفيذ معقدة (عن طريق المكاملات أو البائع المحسن للأجهزة والبرامج (VARs).
ويساعد أسلوب الأدوات في فصل الأنظمة والتطبيقات المختلفة في مركز البيانات مثلاً. وبمجرد فصل مورد، فيمكن أيضًا من الناحية النظرية مركزته ليصبح مشتركًا بين العديد من الأنظمة وإدارة بمركزية وتحسين أدائه، كل هذا دون الحاجة إلى إجراء تغيير في أي نظام آخر.
أسلوب المبادلة بين أجهزة الحاسوب

يعد أكبر عيوب  تشغيل تطبيقات الحاسب الآلي أنها صممت لتوريد مصادر محددة، وتتضمن في أغلب الأحيان نظام تشغيل مخصص يعمل على أجهزة متخصصة ولا تكون أيًا منها متوافقة على الأرجح مع أنظمة أخرى تم تشغيلها مسبقًا. العملاء يفتقدون المرونة
أنواع الأجهزة

يعكس تنوع أجهزة الحاسب الآلي المدى الواسع لمصادر الحاسب الآلي التي توفرها للتطبيقات.
تقدم أجهزة التخزين كميات هائلة من التخزين ووظيفة إضافية عالية المستوى (على سبيل المثال: مرآوية القرص ودمج البيانات) لأنظمة مرفقة متعددة باستخدام نموذج شبكات التخزين المحلي.
وأدوات الشبكةهي مسيّر له أغراض عامة s يوفر جدار للحماية، بروتوكول طبقة المنافذ الآمنة (TLS)، رسالة، تصل لبروتوكولات الشبكات الخاصة (مثل خدمة رسائل ebXML ومضاعفة عرض النطاق الترددي للأنظمة المتعددة للأجهزة الصغيرة.
أدوات ضد الرسائل غير المرغوب فيها  لـرسائل البريد الإلكتروني غير المرغوب فيها
الأجهزة الظاهرية تتكون من «برنامج مراقب للأجهزة الظاهرية» (hypervisor) ونظام تشغيل مضمن يعمل على الجهاز. تتوافق طبقة برنامج مراقب الأجهزة الظاهرية مع عتاد الجهاز ولا يمكن أن يغيرها العميل ولكن يمكنه تحميل أنظمة تشغيل أخرى وتطبيقات في صورة أجهزة ظاهرية.
فريدريك أمير الدنمارك بالوراثة

| فريدريك أمير الدنمارك بالوراثة | فريدريك أمير الدنمارك بالوراثة |
| --- | --- |
معلومات شخصية  : معلومات شخصية  
الميلاد: 11 أكتوبر 1753(1753-10-11) كوبنهاغن
الوفاة: 7 ديسمبر 1805 (52 سنة)    أمالينبورغ
مواطنة:  مملكة الدنمارك 
الديانة: لوثرية  
الأولاد: كريستيان الثامن ملك الدنمارك جوليانا صوفي أميرة الدنمارك شارلوت أميرة الدنمارك فرديناند أمير الدنمارك بالوراثة  
الأب: فريدريك الخامس ملك الدنمارك  
الأم: يوليانا ماريا من براونشفايغ-فولفنبوتل  
إخوة وأخوات: صوفيا ماغدالينا من الدنمارك، وفيلهيلمين كارولين أميرة الدنمارك، وكريستيان السابع ملك الدنمارك، ولويز أميرة الدنمارك  
عائلة: آل أولدنبورغ  
 مناصب    :  مناصب    
الحياة العملية  : الحياة العملية  
المهنة: وصي العرش  
الجوائز : الجوائز 
 وسام دانيبروغ  :  وسام دانيبروغ  
تعديل مصدري - تعديل  : تعديل مصدري - تعديل  
فريدريك، أمير الدنمارك الوارثي (بالدنماركية: Arveprins Frederik)‏ (11 أكتوبر 1753 - 7 ديسمبر 1805) هو نجل فريدريك الخامس ملك الدنمارك وزوجته الثانية يوليانا ماريا من براونشفايغ-فولفنبوتل.، بين عام 1772 حتى 1784 أصبح الوصي على شقيقه الأكبر المختل عقلياً كريستيان السابع ملك الدنمارك بجانب والدته يوليانا ماريا والسياسي  أوفه هويغ-غولدبرغ؛ ومن 1784 أوكلت الوصاية إلى أبن شقيقه في المستقبل فريدريك السادس ملك الدنمارك، وهو والد الملك كريستيان الثامن.
أوسكار بيترسون

| أوسكار بيترسون> (بالإنجليزية: Oscar Peterson)    | أوسكار بيترسون> (بالإنجليزية: Oscar Peterson)    |
| --- | --- |
معلومات شخصية  : معلومات شخصية  
الميلاد: 15 أغسطس 1925     مونتريال  
الوفاة: 23 ديسمبر 2007 (82 سنة)       ميسيساغا  
سبب الوفاة: قصور كلوي  
الإقامة: مونتريال  
مواطنة:  كندا 
إخوة وأخوات: ديزي سويني  
الحياة الفنية  : الحياة الفنية  
النوع: جاز، وبيبوب، وهارد بوب  ‏، وبلوز، وفانك  
الآلات الموسيقية: بيانو، وصوت بشري، وآلة إيقاعية  
شركة الإنتاج: تسجيلات فيرفي  ‏، وتسجيلات ميركوري، وشركة تلارك الدولية  ‏  
المدرسة الأم: المعهد الموسيقي الملكي  ‏  
تعلم لدى: ديزي سويني  
المهنة: قائد فرقة  ‏، وملحن، وعالم موسيقى، وممثل  
اللغات: الإنجليزية  
الجوائز : الجوائز 
  القائمة ...شارع المشاهير الكندي  ‏ (2013) جائزة بريميم إمبريال  ‏  (1999) جائزة غرامي لإنجاز العمر  (1997) جائزة غرامي لإنجاز العمر  (1996) جائزة غلين غولد  ‏ (1993)  النيشان الوطني لكيبيك من رتبة فارس (1991) جائزة غرامي لأفضل مقطوعة جاز منفردة (عن عمل:Live at the Blue Note) (1990) الدكتوراه الفخرية من جامعة لافال  (1985) جائزة غرامي لأفضل مقطوعة جاز منفردة (عن عمل:Oscar Peterson and the Trumpet Kings – Jousts) (1979) جائزة غرامي لأفضل مقطوعة جاز منفردة (1978) عضوية قاعة مشاهير الموسيقى الكندية  ‏ (1978) عضوية قاعة مشاهير الموسيقى الكندية  ‏ (1978) جائزة غرامي لأفضل مقطوعة جاز منفردة (عن عمل:The Giants) (1977) جائزة غرامي لأفضل ألبوم عزف جاز (عن عمل:The Trio) (1974)  وسام أونتاريو  جائزة الحاكم العام للفنون الاستعراضية  ‏  نيشان الفنون والآداب من رتبة ضابط   شريك وسام كندا  عضوية قاعة مشاهير الموسيقى الكندية  ‏  :   القائمة ...شارع المشاهير الكندي  ‏ (2013) جائزة بريميم إمبريال  ‏  (1999) جائزة غرامي لإنجاز العمر  (1997) جائزة غرامي لإنجاز العمر  (1996) جائزة غلين غولد  ‏ (1993)  النيشان الوطني لكيبيك من رتبة فارس (1991) جائزة غرامي لأفضل مقطوعة جاز منفردة (عن عمل:Live at the Blue Note) (1990) الدكتوراه الفخرية من جامعة لافال  (1985) جائزة غرامي لأفضل مقطوعة جاز منفردة (عن عمل:Oscar Peterson and the Trumpet Kings – Jousts) (1979) جائزة غرامي لأفضل مقطوعة جاز منفردة (1978) عضوية قاعة مشاهير الموسيقى الكندية  ‏ (1978) عضوية قاعة مشاهير الموسيقى الكندية  ‏ (1978) جائزة غرامي لأفضل مقطوعة جاز منفردة (عن عمل:The Giants) (1977) جائزة غرامي لأفضل ألبوم عزف جاز (عن عمل:The Trio) (1974)  وسام أونتاريو  جائزة الحاكم العام للفنون الاستعراضية  ‏  نيشان الفنون والآداب من رتبة ضابط   شريك وسام كندا  عضوية قاعة مشاهير الموسيقى الكندية  ‏  
المواقع  : المواقع  
الموقع: الموقع الرسمي (الإنجليزية)  
IMDB: صفحة متعلقة في موقع IMDB  
تعديل مصدري - تعديل  : تعديل مصدري - تعديل  
أوسكار بيترسون هو عازف بيانو وعازف الجاز وملحن وعالم موسيقى ومغني وممثل كندي، ولد في 15 أغسطس 1925 بمونتريال في كندا، وتوفي في 23 ديسمبر 2007 بميسيساغا في كندا بسبب قصور كلوي. من الجوائز التي نالها جائزة غرامي لأفضل ألبوم عزف جاز سنة 1974، وجائزة غرامي لأفضل مقطوعة جاز منفردة ثلاث مرات على التوالي في سنة 1977 و1978 و1979، وكذلك سنة 1990.
جوائز وترشيحات

جائزة غرامي لأفضل ألبوم عزف جاز (1974)
جائزة غرامي لأفضل مقطوعة جاز منفردة (1977)
جائزة غرامي لأفضل مقطوعة جاز منفردة (1978)
جائزة غرامي لأفضل مقطوعة جاز منفردة (1979)
جائزة غرامي لأفضل مقطوعة جاز منفردة (1990)
جائزة غرامي لإنجاز العمر (1996)
جائزة غرامي لإنجاز العمر (1997)
وسام أونتاريو
جائزة غلين غولد ‏ (1993)
جائزة بريميم إمبريال ‏ (1999)
Governor General's Awards ‏
عضوية قاعة مشاهير الموسيقى الكندية ‏ (1978)
BBC Jazz Awards ‏
Juno Award for Music DVD of the Year ‏ (2005)
Juno Award for Traditional Jazz Album of the Year ‏ (1977)
Juno Award for Traditional Jazz Album of the Year ‏ (1980)
Juno Award for Traditional Jazz Album of the Year ‏ (1991)
Juno Award for Traditional Jazz Album of the Year ‏ (1997)
هذه القائمة تُستورد من ويكي بيانات بصفة دورية بواسطة بوت.
وصلات خارجية

أوسكار بيترسون على موقع IMDb (الإنجليزية)
أوسكار بيترسون على موقع الموسوعة البريطانية (الإنجليزية)
أوسكار بيترسون على موقع مونزينجر (الألمانية)
أوسكار بيترسون على موقع ألو سيني (الفرنسية)
أوسكار بيترسون على موقع ميوزك برينز (الإنجليزية)
أوسكار بيترسون على موقع أول موفي (الإنجليزية)
أوسكار بيترسون على موقع قاعدة بيانات الأفلام السويدية (السويدية)
أوسكار بيترسون على موقع إن إن دي بي (الإنجليزية)
أوسكار بيترسون على موقع أول ميوزيك (الإنجليزية)
أوسكار بيترسون على موقع ديسكوغز (الإنجليزية)
في كومنز مواد ذات صلة بـ أوسكار بيترسون.
بوابة أعلام
بوابة تمثيل
بوابة تورونتو
بوابة كندا
بوابة كيبيك
بوابة موسيقى
بوابة مونتريال
| ضبط استنادي  | ضبط استنادي  |
| --- | --- |
دولية: الاسم المعياري الدولي (ISNI) ملف الضبط الاستنادي الافتراضي الدَّولي (VIAF) المُعرِّف مُتعدِّد الأوجه (FAST) مركز المكتبة الرقمية على الإنترنت (WC Entities)
وطنية: الملف الاستنادي المتكامِل (GND) مكتبة الكونغرس (LCNAF) المكتبة الوطنية الفرنسية (BnF) المكتبة الوطنية الإيطالية (SBN) المكتبة القومية الأسترالية (NLA) قاعدة البيانات الوطنية التشيكية (NLCR AUT) المكتبة القومية الإسبانية (BNE) المَكنز الوطني للمؤلِّفين (NTA) نظام الضبط الاستنادي النرويجي (BIBSYS) مكتبة لاتفيا الوطنية (LNB) المكتبة الوطنية السويدية (Libris-URI) المكتبة القومية في بولندا (NLP) المكتبة القومية الإسرائيلية (J9U) قاعدة بيانات كانتو (KANTO) المكتبة الملكية البلجيكية (KBR)
بحثية: مُتصفِّح المعلومات الأكاديمية "سيني" (CiNii)
فنية: موسوعة ميوزيك برينز (MBA) التراث الثقافي (KulturNav) ديسكوغرافيا التسجيلات التاريخية الأمريكية غرامي (Grammy) 
تراجم: نفائس المكتبة القومية الأسترالية (NLA Trove) الفهارس الألمانية (DtBio) المكتبة الألمانية الرقمية (DDB)
أخرى: النظام الجامعي للتوثيق (IdRef) الأراشيف القومية في الولايات المُتحدة (NAID) الشبكات الاجتماعية ونظام المحتوى المؤرشف (SNAC Ark)
تصحيح برمجي

صورة للخطأ "الأول" بشكل زائف، والذي صُحِح عام 1947.
التنقيح اكتشاف الأخطاء أو علاج الأخطاء البرمجية أو تصحيح الأخطاء هو عملية منهجية لإيجاد وتقليل عدد الخطأ البرمجي، أو العيوب، في برنامج (حاسوب) أو قطعة من عتاد الحاسوب الإلكترونية، وبالتالي، جعلها تعمل بالطريقة المتوقعة منها. ويميل تصحيح الأخطاء إلي أن يكون أصعب عندما يتم الربط بين أنظمة فرعية متعددة بشكل كبير، بحيث ربما تؤدي التغييرات في أحد الأنظمة إلي ظهور أخطاء برمجية في الآخر. وقد تم تأليف العديد من الكتب حول تصحيح الخطأ (انظر بأسفل: لمزيد من القراءة)، وذلك لأنه يشمل العديد من الجوانب، بما في ذلك تصحيح الأخطاء التفاعلي، التحكم في التدفق، اختبار الترابط، ملفات تسجيل البيانات، المراقبة (التطبيق، والنظام)[، ]طبع محتوى الذاكرة، تحليل البرنامج، مراقبة العملية الإحصائية، وتكتيكات التصميم الخاص من أجل تحسين الاكتشاف مع تبسيط التغييرات.
الأصل

هناك جدل حول أصل مصطلح «تصحيح الخطأ»/التنقيح.
ينسب مصطلحي " خطأ " و«تصحيح الخطأ» إلي العميد البحري جريس هوبر في الأربعينات. وبينما كانت تعمل على جهاز حاسوب من موديل النسخة الثانية بجامعة هارفارد، اكتشف زملائها فراشة ملصقة بمحرك مؤازر وبالتالي تعوق التشغيل، ومن ثم علقت بأنهم كانوا " يزيلون الخطأ (الحشرة) " من النظام". ومع هذا، فالمصطلح في معنى الخطأ الفني يرجع إلي عام 1878 على الأقل وتوماس إديسون (انظر أيضا خطأ برمجي للمناقشة الكاملة)، يبدو أن «تصحيح الخطأ» قد تم استخدامه في علم الطيران قبل دخوله عالم الكمبيوتر. وبالفعل، في مقابلة علقت جريس هوبر أنها لم تكن تبتكر المصطلح. فالفراشة قد ناسبت المصطلح الموجود بالفعل، وبالتالي تم تخزينه.
وتدوين قاموس أوكسفورد الإنجليزي لمصطلح «يصحح الخطأ» ينقل مصطلح «تصحيح الخطأ» debugging المستخدم في اختبار محرك الطائرة في مقال عام 1945 بمجلة جمعية الطيران الملكي، ووجد أن خطأ برمجي bug التي قالتها هوبر قد وجدت في التاسع من سبتمبر علم 1947. ولم يستخدم مبرمجو الحاسوب هذا المصطلح حتى أوائل الخمسينات. والمقال الرائد للعالم Gill في عام 1951 هو المناقشة المتعمقة الأولى لأخطاء البرمجة، إلا أنه لا يستخدم مصطلح «خطأ برمجي» أو «تصحيح الخطأ». وفي المكتبة الرقمية رابطة مكائن الحوسبة، كان الاستخدام الأول لمصطلح «تصحيح الخطأ» في ثلاث مقالات من الاجتماعات المحلية لرابطة مكائن الحوسبة. اثنان من الثلاثة يستخدم المصطلح بين قوسين. وفي عام 1963، كان مصطلح «تصحيح الخطأ» شائعا بدرجة كافية ليتم ذكره والمرور عليه بدون تفسير على الصفحة رقم 1 من دليل نظام المشاركة الزمنية المتوافقة CTSS.
ومقال Kidwell " Stalking the Elusive Computer Bug" يناقش أصل مصطلح " bug" و" debug " بتفصيل أكبر.
النطاق

ولأن الأنظمة البرمجية والإلكترونية قد أصبحت معقدة بشكل عام، فقد توسعت أساليب تصحيح الخطأ الشائعة مع وجود المزيد من الوسائل لاكتشاف الأخطاء، وتقييم التأثير، ووضع جدول زمني لتصليح الأخطاء في البرامج أو التحديثات الكاملة للنظام. ويمكن استخدام كلمة شذوذ anomaly أو كلمة تباين discrepancy، على أنهما مصطلحات أكثر حيادية، من أجل تجنب كلمات مثل «خطأ error وعيب defect أو» خطأ خفي bug مع مضمون يقول أنه يجب تثبيت كلمات الأخطاء والعيوب، والأخطاء الخفية (مهما كلف الأمر). وبدلا من ذلك، يمكن عمل تقييم للتأثير[ من أجل تحديد ما إذا كانت التغيرات اللازمة لإزالة الشذوذ (أو التباين) ستكون مكلفة للنظام، أو ربما التحرير الجديد المجدول يجعل التغييرات غير لازمة. وليست كل القضايا هي ]تتوقف عليها الحياة [ أو ] تتوقف عليها المهمة[ في النظام. وكذلك، فمن المهم أن نتجنب الموقف الذي ربما يكون فيه التغيير أكثر إزعاجا للمستخدمين، وطويل المدى، أكثر من التعايش مع المشكلات المعروفة (حيث ربما يكون العلاج أسوأ من المرض). فبناء قرارات تقبل بعض من الأخطاء أو الشذوذ يمكن أن يتجنب ثقافة أمر «انعدام العيوب»، حيث ربما يتم إقناع الأشخاص بإنكار وجود المشكلات لكي تبدو النتيجة هي انعدام العيوب. وبتناول القضايا المرتبطة، مثل تقييم تأثير التكلفة مقابل المنفعة، فسوف تتوسع أساليب تصحيح الأخطاء لكي تحدد تكرار الأخطاء أو الشذوذ (عدد مرات حدوث نفس الأخطاء) من أجل المساعدة في تقييم تأثيرها على النظام العام.
الأدوات

طالع أيضًا: المصحح
يتفاوت تصحيح الخطأ من التعقيد إلي تثبيت أخطاء بسيطة من أجل أداء مهام مطولة ومتعبة لجمع البيانات وتحليلها وتحديثات الجدولة الزمنية. ومهارة المبرمج في تصحيح الخطأ يمن أن تكون عاملا رئيسيا في القدرة على تصحيح المشكلة، لكن صعوبة تصحيح الخطأ البرمجي تفاوت بدرجة كبيرة مع تعقيد النظام، وكذلك تعتمد إلي حد ما على لغة برمجة المستخدمة والأدوات المتاحة، مثل المصحح. والمصحح هي أدوات برمجية تساعد المبرمج على مراقبة تنفيذ البرنامج، أو إيقافه أو إعادة تشغيله، ووضع نقطة الانقطاع وتغيير القيم في الذاكرة. ويمكن لمصطلح مصحح debugger إن يشير إلي الشخص الذي يقوم بتصحيح الخطأ.
وبوجه عام، لغة البرمجة عالية المستوى مثل جافا (لغة برمجة) تجعل تصحيح الخطأ أسهل، لأن لها خصائص مثل لغة التعامل مع الاستثناء [exception handling التي تجعل المصادر الحقيقية للسلوك الشاذ سهل الاكتشاف. وفي لغات برمجة مثل سي أو لغة تجميع ربما تسبب الأخطاء مشكلات صامتة مثل إتلاف الذاكرة، وفي الغالب يكون من الصعب رؤية المكان الذي حدثت فيه المشكلة الأولى. وفي تلك الحالات، ربما تكون هناك حاجة إلي أدوات مصحح ذاكرة.
وفي مواقف معينة، يمكن لأدوات برمجة الأغراض العامة واليت هي لغات في الأصل أن تصبح مقيدة جدا. فهذه تتخذ شكل أدوات تحليل الكود الثابت. فتبحث هذه الأدوات عن مجموعة محددة جدا من المشكلات المعروفة، بعضها شائع وبعضها نادر، داخل كود المصدر. وكل تلك القضايا التي يتم اكتشافها عن طريق هذه الأدوات نادرا ما يتم التقاطها من خلال المصنف أو المفسر، وبالتالي فهي ليست مدقق نحوي syntax checkers، بل هي مدقق معاني semantic checkers. وتزعم بعض الأدوات قدرتها على اكتشاف أكثر من 300 مشكلة فريدة. وتوجد كل من الأدوات التجارية والمجانية في لغات متعددة. ويمكن لهذه الأدوات أن تكون مفيدة بدرجة كبيرة عند مراجعة أشجار المصدر الضخمة جدا source trees، حيث يكون من غير العملي تكويد عملية مراجعة التصميم walkthroughs. والمثال النموذجي لمشكلة تم اكتشافها سيكون إسناد مؤشري متغير والذي يحدث قبل تعيين قيمة للمتغير. ومثال أخر سيكون القيام بمراجعة قوية للنمط عندما لا تستلزم اللغة ذلك. وبالتالي، فهي أفضل في تحديد أماكن الأخطاء المحتملة، مقابل الأخطاء الفعلية. ونتيجة لهذا، فهذه الأدوات لها شهرة من الايجابيات الزائفة. وبرنامج لغة يونكس lint هي مثال مبكر.
وبالنسبة لتصحيح الأخطاء في الأجزاء الخارجية الإلكترونية (مثل عتاد الحاسوب) وكذلك البرامج ذات المستوى المنخفض (مثل بيوس ومشغل (برنامج حاسوبي () وبرنامج ثابت، فيتم استخدام أدوات مثل راسم إشارة والمحللات المنطقية[ أو ] محاكي الدوائر الداخلية، سواء على حدة أو معا. وربما يؤدي محاكي الدوائر الداخلية العديد من مهام تصحيح أخطاء برمجية نموذجية في برمجية حاسوب منخفضة المستوى وبرنامج ثابت.
عملية التصحيح النموذجي للأخطاء

من الطبيعي أن تكون الخطوة الأولي لتصحيح الأخطاء هي محاولة إعادة إنتاج المشكلة. وهذا يمكن أن تكون مهمة دالة، مثلا فيما يخص المعالجة المتوازية أو بعض من الأخطاء البرمجية غير العادية. وكذلك، فبيئة مستخدم معين وتاريخ الاستعمال يمكن أن يجعل من الصعب إعادة إنتاج المشكلة.
وبعد إن تتم إعادة إنتاج الخطأ، ربما يحتاج إدخال البرنامج إلي التبسيط لكي يكون من السهل تصيح الخطأ. مثلا، خطأ في ملف مؤلف يمكن أن يجعله ] يتوقف فجأة عند تحليل لغوي لبعض ملفات المصدر الضخمة. ومع هذا، فبعد تبسيط الحالة الاختبارية، فخطوط قليلة فقط من ملف المصدر الأصلي يمكن أن تكون كافية لإعادة إنتاج نفس التوقف المفاجئ. ويمكن عمل ذلك التبسيط يدويا، باستخدام مدخل Divide and conquer algorithm. وسوف يحاول المبرمج إزالة بعض أجزاء الحالة الاختبارية وفحص ما إذا كانت المشكلة لا تزال موجودة. وعندما تصحيح الخطأ في واجهة المستخدم الرسومية، فيمكن للمبرمج أن يحاول تخطي بعض من تفاعل المستخدم من وصف المشكلة الأصلية وفحص ما إذا كانت الأفعال الباقية كافية لظهور الأخطاء.
وبعد ما يكون قد تم تبسيط الحالة الاختبارية بشكل كافي، يمكن للمبرمج استخدام أداة المصحح لفحص حالات البرنامج (قيم المتغيرات، مع call stack) ويتتبع أثر أصل المشكلة أو المشكلات. وبالمثل، يمكن استخدام ] التتبع[. وفي الحالات البسيطة، يكون التتبع عبارة عن بيانات طباعة قليلة، والتي تقوم بإنتاج قيم المتغيرات عند نقاط معينة من تنفيذ البرنامج.
الأساليب

تصحيح أخطاء طباعة (أو تتبع) هي القيام بمراقبة (حية أو مسجلة) لبيانات التتبع، أو بيانات الطباعة، التي تشير إلي تدفق تنفي العملية.
التصحيح عن بعد هي عملية تصحيح خطأ برنامج يعمل على نظام مختلف عن المصحح. ولبدء التصحيح عن بعد، يتصل المصحح بنظام عن بعد على شبكة الإنترنت. وبعد الاتصال، يمكن للمصحح أن يتحكم في تنفيذ البرنامج عن بعد واستعادة معلومات عن حالته
تصحيح Post-mortem هو تصحيح البرنامج بعد أن تم توقفه فجأة. والأساليب المرتبطة غالبا ما تشمل أساليب متعددة للتتبع (مثلا،) أو تحليل تفريغ الذاكرة (أو core dump(للعملية المتوقفة. وإفراغ العملية يمكن أن يحدث بشكل آلي عن طريق النظام (مثلا، عندما تكون العملية قد توقفت بسبب استثناء لم يتم التعامل معه) أو عن طريق تعليمات يضعها المبرمج، أو يدويا عن طريق المستخدم التفاعلي.
تصحيح دلتا Delta Debugging – هو أسلوب تبسيط آلي للحالة الاختبارية.
Saff Squeeze- هو أسلوب عزل الفشل في الاختبار باستخدام الترابط التقدمي لأجزاء الاختبار الفاشل.
تصحيح الأنظمة المدمجة

وعلى عكس بيئة تصميم برامج الحاسوب ذات الغرض العام، فخاصية البيئات المدمجة هي الرقم الكبير للبرامج المختلفة المتاحة للمطورين (هندسة وحدة المعالجة المركزية، بائعين، نظم التشغيل ومتغيراتها). وتعرف الأنظمة المدمجة بأنها تصميمات ليست للغرض العام: فهي مطورة بشكل نموذجي من أجل مهمة واحدة (أو مجموعة من المهام الصغيرة)، ويتم اختيار البرنامج بشكل معين من أجل الاستخدام الأمثل لذلك التطبيق. وهذه الحقيقة لا تجعل الحياة ليست فقط صعبة على مطوري الأنظمة المدمجة، بل أيضا تجعل تصحيح واختبار هذه الأنظمة أصعب، لأن هناك حاجة إلي أدوات تصحيح مختلفة في برامج مختلفة. لكن ببساطة، فإن مصحح الأنظمة المدمجة لديه مطلبين رئيسيين:.
تحديد وتصحيح الأخطاء في النظام (مثلا، مشكلات منطقية أو مشكلات تزامن في الكود، أو خطأ تصميم في الأجزاء الخارجية hardware)
جمع معلومات عن حالات تشغيل النظام والتي ربما يتم استخدامها لتحليل النظام: لإيجاد طرق لدعم أدائه أو لتحسين الخصائص الأخرى المهمة (مثلا استهلاك الطاقة، الثبات، الاستجابة زمن حقيقي الخ).
مقاومة تصحيح الخطأ

مقاومة تصحيح الخطأ هو «تنفيذ أسلوب أو أكثر داخل كود الحاسوب والذي يعوق محاولات الهندسة العكسية أو تصحيح عملية مستهدفة». ويتم استخدامه بشكل نشط في حماية النسخ القانونية، لكنه أيضا يستخدم عن طريق برمجيات خبيثة لتعقيد اكتشافه والتخلص منه. والأساليب المستخدمة في مقاومة التصحيح تشمل:
API-based: فحص وجود مصحح باستخدام معلومات النظام
قائمة على الاستثناء: فحص لرؤية ما إذا كانت هناك استثناءت متداخلة
عوائق العميلة والسلك: فحص ما إذا تم استخدام عوائق عملية وسلك
كود معدل: البحث عن تعديلات للكود عن طريق نقاط توقف في برنامج للتعامل مع المصحح
قائمة على الأجزاء الخارجية والتسجيل: البحث عن نقاط توقف في الأجزاء الخارجية وتسجيلات وحدة المعالجة المركزية
التوقيت والكمون: البحث عن الوقت المستغرق في تنفيذ التعليمات
اكتشاف المصحح ومعاقبته.
مراجع

↑  معجم مصطلحات المعلوماتية (بالعربية والإنجليزية)، دمشق: الجمعية العلمية السورية للمعلوماتية، 2000، ص. 145، OCLC:47938198، QID:Q108408025
↑  محمد فريد غنايم (1986)، قاموس الكومبيوتر العربي (بالعربية والإنجليزية)، مراجعة: طاهر أبو النجا، دالاس: دار النشر العالمية المحدودة، ص. 130، OCLC:23513152، QID:Q124094449
↑  مُعجم الحاسبات النسخة الثانية الموسعة سنة تسعين وتسعمائة وألف جريجورية من معاجم مَجْمَعِ اللغة العربية في القاهرة الصفحة الثامنة والخمسين.
↑  Grace Hopper from FOLDOC نسخة محفوظة 05 مارس 2016 على موقع واي باك مشين.
↑  S. Gill, The Diagnosis of Mistakes in Programmes on the EDSAC, Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences, Vol. 206, No. 1087 (May 22, 1951), pp. 538-554 "نسخة مؤرشفة". مؤرشف من الأصل في 2020-03-06. اطلع عليه بتاريخ 2020-04-16.{{استشهاد ويب}}:  صيانة الاستشهاد: BOT: original URL status unknown (link)
↑  Robert V. D. Campbell, Evolution of automatic computation, Proceedings of the 1952 ACM national meeting (Pittsburgh), p 29-32, 1952. نسخة محفوظة 17 مارس 2020 على موقع واي باك مشين.
↑  Alex Orden, Solution of متباينة خطية on a digital computer, Proceedings of the 1952 ACM national meeting (Pittsburgh), p. 91-95, 1952. نسخة محفوظة 17 مارس 2020 على موقع واي باك مشين.
↑  Howard B. Demuth, John B. Jackson, Edmund Klein, N. Metropolis, Walter Orvedahl, James H. Richardson, MANIAC, Proceedings of the 1952 ACM national meeting (Toronto), p. 13-16 نسخة محفوظة 17 مارس 2020 على موقع واي باك مشين.
↑  The Compatible Time-Sharing System, M.I.T. Press, 1963 نسخة محفوظة 27 مايو 2012 على موقع واي باك مشين.
↑  Peggy Aldrich Kidwell, Stalking the Elusive Computer Bug, IEEE Annals of the History of Computing, 1998. نسخة محفوظة 06 أكتوبر 2014 على موقع واي باك مشين.
↑  Postmortem Debugging, Stephen Wormuller, Dr. Dobbs Journal, 2006 نسخة محفوظة 27 مايو 2012 على موقع واي باك مشين.
↑  Andreas Zeller: Why Programs Fail: A Guide to Systematic Debugging, Morgan Kaufmann, 2005. ISBN 1-55860-866-4
↑  Kent Beck, Hit 'em High, Hit 'em Low: Regression Testing and the Saff Squeeze نسخة محفوظة 25 مايو 2015 على موقع واي باك مشين.
↑  
"Plug-in Based Debugging For Embedded Systems" (PDF). clarinox. مؤرشف من الأصل (PDF) في 2019-12-10. اطلع عليه بتاريخ 2010-09-15.
↑  Shields، Tyler (2 ديسمبر 2008). "Anti-Debugging Series - Part I". Veracode. مؤرشف من الأصل في 2016-10-19. اطلع عليه بتاريخ 2009-03-17.
1 2  Software Protection through Anti-Debugging Michael N Gagnon, Stephen Taylor, Anup Ghosh  نسخة محفوظة 5 مارس 2012 على موقع واي باك مشين.
لمزيد من القراءة

David J. Agans: Debugging: The Nine Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems, AMACOM, 2002. ISBN 0-8144-7168-4
Bill Blunden: Software Exorcism: A Handbook for Debugging and Optimizing Legacy Code, APress, 2003. ISBN 1-59059-234-4
Ann R. Ford, Toby J. Teorey: Practical Debugging in C++, Prentice Hall, 2002. ISBN 0-13-065394-2
Thorsten Grötker, Ulrich Holtmann, Holger Keding, Markus Wloka, The Developer's Guide to Debugging, Springer, 2008. ISBN 1-4020-5539-0
Robert C. Metzger: Debugging by Thinking: A Multidisciplinary Approach, Digital Press, 2003. ISBN 1-55558-307-5
Glenford J Myers: *The Art of Software Testing, John Wiley & Sons inc, 2004. ISBN 0-471-04328-1
John Robbins: Debugging Applications, Microsoft Press, 2000. ISBN 0-7356-0886-5
Matthew A. Telles, Yuan Hsieh: The Science of Debugging, The Coriolis Group, 2001. ISBN 1-57610-917-8
Dmitry Vostokov: Memory Dump Analysis Anthology, Volume 1, OpenTask, 2008. ISBN 978-0-9558328-0-2
Andreas Zeller: Why Programs Fail: A Guide to Systematic Debugging, Morgan Kaufmann, 2005. ISBN 1-55860-866-4
Artzi، Shay (2008). "Finding bugs in dynamic web applications": 261. DOI:10.1145/1390630.1390662. {{استشهاد بدورية محكمة}}: الاستشهاد بدورية محكمة يطلب |دورية محكمة= (مساعدة) والوسيط author-name-list parameters تكرر أكثر من مرة (مساعدة)
وصلات خارجية

Crash dump analysis patterns — In-depth articles on analyzing and finding bugs in crash dumps
Learn the essentials of debugging — How to improve your debugging skills, a good article at آي بي إم developerWorks.
Plug-in Based Debugging For Embedded Systems نسخة محفوظة 10 ديسمبر 2019 على موقع واي باك مشين.
| 0 | 1 |
| --- | --- |
ضبط استنادي: وطنية : مكتبة الكونغرس (LCNAF) قاعدة البيانات الوطنية التشيكية (NLCR AUT) المكتبة القومية الإسرائيلية (J9U)
بوابة برمجة الحاسوب
بوابة علم الحاسوب
في كومنز مواد ذات صلة بـ تصحيح برمجي.