يعد تصحيح الأخطاء "printf" أحد أكثر تقنيات تصحيح الأخطاء شيوعًا، وهو شائع بشكل خاص لأن معظم الأشخاص يتعلمونه بشكل حدسي عند كتابة برامجهم الأولى.
يمكن الوصول بسهولة إلى تصحيح أخطاء'printf' لأنك لا تحتاج إلى أي أدوات خاصة لذلك. عندما تواجه الأخطاء الأولى، حتى قبل أن تعرف ما هو مصحح الأخطاء، فإن الشيء الطبيعي الذي يجب عليك فعله هو جعل برنامجك يطبع المتغيرات خطوة بخطوة، حتى تتمكن من متابعة التنفيذ في وحدة التحكم.
على الرغم من أنها إحدى تقنيات تصحيح الأخطاء الأساسية، إلا أنها تستخدم أيضًا على نطاق واسع من قبل المطورين ذوي الخبرة. يمكن أن يساعدك في التحقيق في أي نوع من المشكلات، مثل الإجراءات دون المستوى الأمثل، والحالة غير المتسقة، ومشكلات تعدد مؤشرات الترابط، والمزيد.
كما ذكرت سابقًا، هذه التقنية لا تتطلب منك استخدام أي أدوات خاصة، مثل IDE. ومع ذلك، إذا كنت تستخدم واحدًا، فقد يجعلك أكثر كفاءة في تسجيل حالة البرنامج.
ملاحظة: تعرض هذه المقالة ميزات IntelliJ IDEA. قد تكون أو لا تتوفر ميزات مماثلة في بيئات تطوير متكاملة أخرى. إذا كنت تستخدم أداة مختلفة، ففكر في التحقق من وثائقها لمعرفة ما إذا كانت هذه الميزات موجودة أيضًا.
يوفر IntelliJ IDEA قوالب مباشرة لأنماط تسجيل تصحيح الأخطاء الأكثر شيوعًا. لاستخدام قالب مباشر لتسجيل التصحيح، أدخل الاختصار المقابل واضغط على Tab. سيقوم IntelliJ IDEA بإنشاء بيان الطباعة وإدراجه في المؤشر.
دعونا نلقي نظرة على بعض الأمثلة.
public static BufferedImage recolor(BufferedImage in, BufferedImage mask, int newColor) { // escriba 'soutp' aquí, luego presione Tab return null; }
الكود المولد:
public static BufferedImage recolor(BufferedImage in, BufferedImage mask, int newColor) { System.out.println("in = " in ", mask = " mask ", newColor = " newColor); return null; }
public static double coolMethod(double parameter) { double a = Math.random(); double b = Math.random(); // escriba 'soutv' aquí, presione Tab y luego seleccione el valor return a * b * parameter; }
الكود المولد:
public static double coolMethod(double parameter) { double a = Math.random(); double b = Math.random(); System.out.println("b = " b); return a * b * parameter; }
public static BufferedImage recolor(BufferedImage in, BufferedImage mask, int newColor) { // escriba 'soutm' aquí return null; }
الكود المولد:
public static BufferedImage recolor(BufferedImage in, BufferedImage mask, int newColor) { System.out.println("ImageUtils.recolor"); return null; }
أحد عيوب تصحيح الأخطاء باستخدام عبارات الطباعة هو أنها تقدم عبء الإدارة اليدوية. لا يمكنك تشغيلها وإيقاف تشغيلها بسرعة، وبالتأكيد لا تريد ارتكاب خطأ شحنها وتشغيلها في مرحلة الإنتاج.
لهذا السبب، إذا كنت بحاجة إلى تسجيل شيء ما لأغراض تصحيح الأخطاء، فإنني أوصي باستخدام نقاط توقف التسجيل، حيث يسهل التعامل معها كثيرًا.
لتعيين نقطة توقف للتسجيل، اضغط مع الاستمرار على Shift، ثم انقر في الهامش. وعلى عكس نقطة التوقف العادية، فهي لا توقف تنفيذ البرنامج مؤقتًا، بل تطبع بدلاً من ذلك إلى وحدة التحكم.
افتراضيًا، هذه رسالة تشير إلى وصول البرنامج إلى هذا الخط. يمكنك أيضًا استخدام الخيارات الموجودة بالقرب من خانة الاختيار تقييم وتسجيل في إعدادات نقطة التوقف إذا كنت تفضل تسجيل تتبع المكدس الحالي أو نتيجة تعبير مخصص.
ملاحظة: كن حذرًا عند تسجيل التعبيرات. يمكن أن يكون تقييم تلك التي تسبب آثارًا جانبية مصدرًا لأخطاء جديدة أو سلوك غير متوقع. بالإضافة إلى ذلك، عند استخدامها في التعليمات البرمجية الساخنة، يمكن أن تؤدي إلى إبطاء برنامجك بشكل كبير.
عندما تصبح نقاط التوقف للسجل عديدة، يمكنك تتبعها وإدارتها في مربع الحوار نقاط التوقف (تشغيل | عرض النقاط الفاصلة ):
يمكنك أيضًا إنشاء مجموعات مخصصة لهم:
سيساعدك هذا على إدارة نقاط التوقف الخاصة بك مركزيًا. على سبيل المثال، يمكنك إنشاء مجموعة تتعلق بخلل معين وحفظها لوقت لاحق. وعندما تختفي المشكلة، يمكنك ببساطة إيقاف تشغيلها. بهذه الطريقة، إذا ظهرت المشكلة مرة أخرى، فلن تضطر إلى إعادة إنشاء كل شيء من الصفر. ما عليك سوى إعادة تشغيل المجموعة.
بالنسبة للأحداث التي تحدث كثيرًا أثناء تنفيذ البرنامج، قد يكون تسجيل كل حدث على حدة غير ضروري. لا يؤدي هذا إلى إغراق وحدة التحكم بالرسائل فحسب، بل يمكن أن يؤدي الكثير من تفاعل الإدخال/الإخراج إلى إبطاء جلسة تصحيح الأخطاء بشكل كبير.
بالنسبة لهذه الأحداث، قد يكون من المفيد استخدام وظيفة عدد التمريرات. يمكنك الوصول إليه في مربع الحوار Breakpoints.
.بعد تعيين عدد التمريرات على قيمة محددة، سيتم تشغيل نقطة التوقف المقابلة فقط في كل مرة يتم الوصول إليها لعدد n من المرات، مما يضمن أن التسجيل لا يصبح مصدر إزعاج.
سواء كنت تقوم بإدراج بيانات الطباعة أو تعيين نقاط توقف التسجيل لتصحيح الأخطاء، فإن الأدوات الحديثة تحتوي على ميزات لتحسين تجربة تصحيح الأخطاء لديك. من خلال هذا المنشور، أردت التأكد من أنك على دراية بهذه الحيل الصغيرة التي تجعل العملية برمتها أكثر متعة.
إذا كنت مهتمًا بمزيد من المقالات المتعلقة بتصحيح الأخطاء والتنميط، فراجع بعض مقالاتي الأخرى:
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3