PVS-Studio هو الآن في مستكشف مترجم

image1.png


منذ وقت ليس ببعيد ، حدث حدث هام: ظهر PVS-Studio في Compiler Explorer! يمكنك الآن تحليل التعليمات البرمجية الخاصة بك بسرعة وسهولة بحثًا عن الأخطاء على godbolt.org (مستكشف المترجم). يفتح هذا الابتكار عددًا كبيرًا من الاحتمالات الجديدة - من إرضاء الفضول حول قدرات المحلل إلى القدرة على مشاركة نتيجة الاختبار بسرعة مع صديق. ستتم مناقشة كيفية استخدام هذه الفرص في هذه المقالة. احذر - ملفات GIF الكبيرة!



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



الآن لنتحدث عن كل شيء بالترتيب. برنامج Compiler Explorer هو خدمة تفاعلية عبر الإنترنت لاستكشاف المترجمين. هنا يمكنك كتابة الرمز مباشرة على الموقع والاطلاع على الفور على ناتج التجميع الذي سينتج عنه هذا المترجم أو ذاك:



image2.gif


بالإضافة إلى ذلك ، هناك مجموعة كاملة من الاحتمالات على الموقع ، وسننظر اليوم في إمكانية التحليل باستخدام PVS-Studio. لإجراء التحليل ، يجب عليك القيام بما يلي:



  1. انتقل إلى موقع godbolt.org ،
  2. في علامة التبويب مع إخراج المترجم ، انقر فوق "إضافة أداة ..." ،
  3. حدد "PVS-Studio" في القائمة المنسدلة.


يمكنك مشاهدة مثال لمثل هذا التسلسل من الإجراءات في الرسوم المتحركة أدناه:



image3.gif


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



في الوقت الحالي ، يتوفر التحليل باستخدام PVS-Studio على الموقع لجميع إصدارات GCC و Clang لمنصات x86 و x64. نحن نخطط لتوسيع قدرات الموقع إلى المترجمات الأخرى التي ندعمها (على سبيل المثال ، MSVC أو المترجمات لـ ARM) ، إذا كان هناك طلب عليه.



حاليًا ، لا يتم تمكين التشخيص العام للخطأ والتحذير ومستويات الملاحظات إلا على الموقع. لقد تركنا عن عمد الأوضاع الأخرى (التحسين ، 64 بت ، مخصص و MISRA) بحيث تبقى أهم التحذيرات فقط في الإخراج. أيضًا ، على عكس PVS-Studio نفسها ، لا يدعم Compiler Explorer حتى الآن C # و Java - نحن نخطط لتشغيل تحليل التعليمات البرمجية بهذه اللغات بمجرد ظهورها هناك :)



يحتوي برنامج Compiler Explorer على نظام نافذة ذكي للغاية ، بحيث يمكنك نقلها أو ، على سبيل المثال ، تتداخل مع بعضها البعض. إذا لم تكن مهتمًا حاليًا بإخراج المترجم ، فيمكنك "إخفاءه". مثله:



image4.gif


يمكنك كتابة التعليمات البرمجية مباشرة في نافذة برنامج Compiler Explorer ، أو تنزيل ملفات فردية. للقيام بذلك ، انقر فوق "حفظ / تحميل" وحدد "نظام الملفات" في علامة التبويب التي تفتح. يمكنك أيضًا "تنزيل" الرمز الذي تكتبه على جهاز الكمبيوتر الخاص بك عن طريق الضغط على Ctrl + S.



image5.gif


لا يمكنك تحليل المشاريع بأكملها على الموقع - يمكنك فقط تحميل الملفات بشكل منفصل.



إذا كنت ترغب في رؤية إخراج البرنامج الخاص بك ، يمكنك فتح نافذة التنفيذ بالنقر فوق "إضافة جديد ... -> التنفيذ فقط" في النافذة لكتابة التعليمات البرمجية (وليس في النافذة مع المترجم). على gif أدناه ، يمكنك رؤية نتائج العمل المختبري المأخوذ من صفحتنا حول الاستخدام المجاني لـ PVS-Studio من قبل الطلاب والمعلمين .



image6.gif


بالمناسبة ، هل لاحظت أنه عندما تنقر على الروابط إلى godbolt ، تحصل على رمز مكتوب مسبقًا في النوافذ المرتبة مسبقًا؟ نعم ، يمكنك إنشاء روابط ثابتة تحافظ تمامًا على حالة الصفحة في وقت الإنشاء! للقيام بذلك ، تحتاج إلى النقر فوق الزر "مشاركة" في الزاوية العلوية اليمنى من الشاشة.



image7.gif


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



نخطط لاستخدام هذه الفرصة للعمل مع العملاء في الدعم الفني: غالبًا ما يكون استخدام برنامج Compiler Explorer مناسبًا جدًا لتجميع الأمثلة التي يمكن استنساخها بشكل طفيف والتي يمكن أخذها وإرسالها بسرعة عبر البريد.



أيضًا في علامة التبويب "مشاركة" المنسدلة ، يوجد عنصر لإنشاء ارتباط مضمن ، يمكنك من خلاله تضمين نافذة باستخدام برنامج Compiler Explorer في موقع آخر.



يحتوي برنامج Compiler Explorer دائمًا على إصدار محدث من PVS-Studio ، وبالتالي ، بعد كل إصدار من إصداراتنا ، يمكن العثور على المزيد والمزيد من الأخطاء على الموقع. ومع ذلك ، فإن استخدام PVS-Studio على godbolt.org لا يعطي صورة كاملة لقدراته ، لأن PVS-Studio ليس فقط تشخيصًا ، ولكنه أيضًا بنية أساسية متطورة:



  • تحليل الشفرة بلغات C و C ++ و C # و Java لعدد أكبر من المنصات والمترجمين ؛
  • ملحقات لبرنامج Visual Studio 2010-2019 ، JetBrains Rider ، IntelliJ IDEA ؛
  • الاندماج في TeamCity و PlatformIO و Azure DevOps و Travis CI و CircleCI و GitLab CI / CD و Jenkins و SonarQube وما إلى ذلك.
  • أداة مراقبة التجميع للتحليل بشكل مستقل عن IDE أو نظام البناء ؛
  • والعديد من الآخرين.


في النهاية ، فقط بعد تنزيل المحلل ، ستتمكن من التحليل الكامل لمشروع يتكون من عدة ملفات. لذلك ، فإن أفضل طريقة للحصول على فهم صحيح لـ PVS-Studio هي تنزيل المحلل وتجربته في مشروعك.



للبقاء على اطلاع ، تابع أخبارنا. اقرأ أيضًا مدونتنا : لا ننشر فقط الأخبار والمقالات حول العثور على أخطاء في المشاريع الحقيقية ، ولكن أيضًا العديد من النقاط المثيرة للاهتمام المتعلقة بـ C و C ++ و C # و Java.



شبكاتنا الاجتماعية:







إذا كنت ترغب في مشاركة هذه المقالة مع جمهور يتحدث الإنجليزية ، فيرجى استخدام رابط الترجمة: George Gribkov. PVS-Studio الآن في مستكشف مترجم! ...



All Articles