
ستخبرك هذه المقالة بكيفية بدء تحليل مشروع مضمن وكيفية التعامل مع تقرير المحلل. يدعم محلل PVS-Studio عددًا من المجمعين للأنظمة المدمجة. يسمح الإصدار الحالي بفحص المشروعات التي تم إنشاؤها باستخدام أحد المترجمين التاليين ضمن Window و Linux و macOS:
تركيب
يعتمد إجراء التثبيت على نظام التشغيل الذي تستخدمه في التطوير. ضمن Linux ، يمكنك تثبيت المحلل إما من المستودع أو من حزمة التثبيت.
على سبيل المثال ، في نظام قائم على دبيان:
wget -q -O - https:
أو
sudo gdebi pvs-studio-VERSION.deb
تحت macOS ، يمكنك استخدام
Homebrew للتثبيت والتحديث:
brew install viva64/pvs-studio/pvs-studio brew upgrade pvs-studio
خيار آخر - التثبيت من حزمة
dmg ، أو التفريغ من الأرشيف يدويًا.
تحت Windows ، تحتاج إلى استخدام المثبت:
يمكنك تنزيل حزم التثبيت لكل نظام مدعوم ، وكذلك طلب مفتاح تجريبي ، إذا كنت بحاجة إليه ، في صفحة "
تنزيل وتقييم PVS-Studio ".
بمجرد الانتهاء من التثبيت ، تحتاج إلى إدخال مفتاح الترخيص. تصف المقالة الوثائق "
كيفية الدخول إلى ترخيص PVS-Studio وما هي الخطوة التالية " هذه العملية بالتفصيل فيما يتعلق بالأنظمة الأساسية المختلفة.
التحقق من المشروع الخاص بك
يشبه التحقق من المشروعات المصممة للأنظمة المضمّنة تلك التي تم تطويرها لنظام التشغيل Windows أو Linux أو macOS.
يتم وصف الخيارات المتاحة في Linux في مقالة "
الشروع في العمل مع محلل ثابت PVS-Studio لتطوير C ++ ضمن Linux ". ضع في اعتبارك أن المشاريع المدمجة يتم تجميعها بشكل متقاطع ، ويمكن أن يكون للمترجم الخاص بك اسم غير قياسي. لهذا السبب ، قد تحتاج إلى تحديده عند بدء التحليل ، والذي يمكنك
إجراؤه عبر مفتاح سطر الأوامر -
مترجم أو
–c .
pvs-studio-analyzer analyze -c MyCompiler
يعد استخدامه ضروريًا إذا تعذر على المحلل اكتشاف نوع برنامج التحويل البرمجي ، أي إذا أصدر الخطأ "لم يتم العثور على وحدات ترجمة".
نظرًا لأن النظام الأساسي المستهدف يختلف عن التطوير بسبب
التحويل المتقاطع ، فربما تحتاج أيضًا إلى تحديد النظام الأساسي الهدف عبر مفتاح
--platform ، إلى جانب نوع المعالج الأولي (-
المعالج ).
المنصات المدعومة:
win32 و x64 و linux32 و linux64 و macos و arm.دعم prerocessors:
مجلس التعاون
الخليجي ، رنة ، كيل.ضمن نظام Linux ، يعد نظام
التشغيل linux64 و
gcc preprocessor هما الإعدادات الافتراضية.
إذا كنت تستخدم Windows ، فيمكنك التحقق من مشروعك في وضع مراقبة برنامج التحويل البرمجي. للقيام بذلك ، استخدم الأداة المساعدة "
C و C ++ مراقبة مترجم UI " ، الذي يأتي مع محلل. لبدء المراقبة ، انتقل إلى قائمة "
أدوات " واختر "
تحليل ملفاتك" ... سيتم فتح مربع الحوار هذا:
انقر فوق الزر "
بدء المراقبة " وابدأ في إنشاء مشروعك. عند انتهاء الإنشاء ، انقر فوق الزر "
إيقاف المراقبة " في نافذة الحوار الموجودة في الركن الأيمن السفلي من الشاشة:
يسمح لك الإطار الرئيسي لأداة "
C و C ++ Compiler Monitoring UI " بعرض نتائج التحليل.
أيضًا ، من الممكن بدء التحليل من سطر الأوامر باستخدام الأداة المساعدة CLMonitor. إليك الأمر الذي سيبدأ المراقبة:
CLMonitor.exe monitor
بعد الإنشاء ، ابدأ تشغيله مرة أخرى في وضع التحليل:
CLMonitor.exe analyze -l "<path>\out.plog"
سيقوم المحلل بفحص المشروع الخاص بك وحفظ النتائج في الملف المحدد عبر المفتاح
-l .
انظر أيضًا "
نظام مراقبة المترجم في PVS-Studio ".
العمل مع التقارير
لعرض التقرير ضمن نظام Linux ، تحتاج إلى تحويل ملف السجل ، الذي تم إنشاؤه بواسطة المحلل ، إلى أحد التنسيقات المدعومة. استخدم الأداة المساعدة
plog-Converter للقيام بذلك. على سبيل المثال ، يمكنك إنشاء تقرير HTML ، والذي يتيح لك عرض التعليمات البرمجية المصدر ، باستخدام هذا الأمر:
plog-converter -a GA:1,2 -t fullhtml /path/project.log -o /path/report_dir
تم وصف تحويل التقرير بمزيد من التفصيل في مقالة "
الشروع في العمل مع محلل ثابت PVS-Studio لتطوير C ++ تحت Linux ".
يحتوي إصدار Windows أيضًا على أداة مساعدة تسمى
PlogConverter ، والتي تشبه الاستخدام لنظام نظير Linux الخاص به:
PlogConverter.exe <path>\out.plog --renderTypes= FullHtml --analyzer=GA:1,2
أو
PlogConverter.exe D:\Projct\out.plog -t FullHtml -a GA:1,2
يمكنك أيضًا عرض التقارير بتنسيق
plog باستخدام الأداة المساعدة "
C و C ++ Monitor UI " من خلال أمر القائمة
File-> Open PVS-Studio Log ....على سبيل المثال:
إذا كنت بحاجة إلى ذلك ، يمكنك تصدير التقرير إلى أحد التنسيقات المدعومة عبر قائمة
ملف الأداة المساعدة.
Misra الترميز القياسية
يصنف PVS-Studio تحذيراته وفقًا لـ
CWE و
SEI CERT ، والتي تعمل بشكل جيد تمامًا لاختبار الأمان الثابت (
SAST ) للتطبيقات العادية. ومع ذلك ، فإن الأنظمة المدمجة لها متطلبات أمنية مختلفة ، مغطاة بمعايير
MISRA المطورة خصيصًا. الإصدار الحالي من PVS-Studio يدعم جزئيًا MISRA C و MISRA C ++. يمكنك الاطلاع على قائمة توسيع القواعد المنتظمة
هنا بشكل منتظم.
يعد استخدام قواعد MISRA عند التحقق من المشروعات غير المضمنة عادةً فكرة سيئة ، بسبب تفاصيل المعيار. في معظم الحالات ، إذا لم يكن الكود في البداية موجهًا إلى MISRA ، فقد ينتج عن الفحص العديد من الإيجابيات الخاطئة وتحذيرات الضوضاء بشكل عام. وبالتالي ، يتم إيقاف تشغيل قواعد MISRA افتراضيًا.
لتمكين MISRA في نظام Linux ، قم بإجراء التحليل باستخدام المفتاح
-a واجتاز معلمة رقمية ، وفقًا للوضع المطلوب. هذه المعلمة هي مزيج من حقول البت:
-a [MODE], --analysis-mode [MODE] MODE defines the type of warnings: 1 - 64-bit errors; 2 - reserved; 4 - General Analysis; 8 - Micro-optimizations; 16 - Customers Specific Requests; 32 - MISRA. Modes can be combined by adding the values Default: 4
مثال (مع تمكين قواعد GA و MISRA):
pvs-studio-analyzer analyze -a 36 -o /path/report.log
تحتاج أيضًا إلى إخبار
plog- Converter لتضمين تحذيرات MISRA في التقرير الناتج:
plog-converter -a MISRA:1,2,3 -m misra ....
ضمن Windows ، يمكنك استخدام إعدادات الأداة المساعدة "
C و C ++ مراقبة مترجم UI ":
راجع
مقالة "
PVS-Studio: دعم معايير MISRA C و MISRA C ++ " لمعرفة المزيد حول دعم MISRA.
استنتاج
في هذه المقالة ، ناقشنا باختصار ميزات محلل PVS-Studio للتحقق من المشاريع المستهدفة المضمنة. إذا كنت بحاجة إلى مزيد من المعلومات حول استخدام المحلل ، أوصيك بالرجوع إلى المقالات التالية: