PVS- ستوديو لبرنامج Visual Studio


تركز العديد من مقالاتنا على أي شيء ، ولكن ليس على أداة PVS-Studio نفسها. بينما نفعل الكثير لجعل استخدامه مناسبًا للمطورين. ومع ذلك ، غالبا ما يتم إخفاء جهودنا وراء الكواليس. قررت علاج هذا الموقف وإخبارك بالبرنامج المساعد PVS-Studio لبرنامج Visual Studio. إذا كنت تستخدم Visual Studio ، فهذه المقالة لك.

ما هو تحليل الكود الثابت ولماذا نحتاجه؟


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

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

هناك العديد من أجهزة تحليل الشفرات الثابتة التجارية والمجانية. تتوفر قائمة كبيرة من أجهزة التحليل الثابتة على ويكيبيديا: قائمة أدوات لتحليل الشفرات الثابتة . قائمة اللغات التي توجد بها أجهزة تحليل الشفرات الثابتة كبيرة جدًا (C ، C ++ ، C # ، Java ، Ada ، Fortran ، Perl ، Ruby ، ​​...). وغني عن القول ، سنخبرك عن محلل PVS-Studio.

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

الشكل 1. متوسط ​​تكلفة تصحيح العيوب اعتمادًا على وقت ظهورها واكتشافها في الكود (يتم أخذ البيانات الموجودة في الجدول من كتاب "Code Complete" من تأليف S. McConnell)

الشكل 1. متوسط ​​تكلفة تصحيح العيوب اعتمادًا على وقت ظهورها واكتشافها في الكود (يتم أخذ البيانات الموجودة في الجدول من كتاب "Code Complete" من تأليف S. McConnell)

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

PVS-Studio محلل كود ثابت


PVS-Studio هو محلل ثابت يكتشف الأخطاء ونقاط الضعف المحتملة في الكود المصدري للتطبيقات في C و C ++ (الامتدادات المدعومة الأخرى: C ++ / CLI و C ++ / CX ) و C # و Java على أنظمة Windows و Linux و macOS. تم دمج المحلل بشكل رائع في Visual Studio 2010 - 2019 و IntelliJ IDEA IDEs. في هذه المقالة ، سنلقي نظرة فاحصة على PVS-Studio ، ونتحقق من الشفرة بلغات C و C ++ و C #. يمكنك قراءة حول كيفية استخدام PVS-Studio للتحقق من تعليمات Java البرمجية في IntelliJ IDEA هنا .

بعد تثبيت PVS-Studio وتكامله في Visual Studio ، يحصل المستخدمون على عنصر إضافي "PVS-Studio" في القائمة الرئيسية ونافذة العمل مع رسائل الخطأ:

الشكل 2. العناصر الرئيسية التي يضيفها محلل PVS-Studio عند الاندماج في Visual Studio.

الشكل 2. العناصر الرئيسية التي يضيفها محلل PVS-Studio عند الاندماج في Visual Studio.

الإعدادات الأولية


المحلل جاهز للعمل مباشرة بعد التثبيت. في معظم الحالات ، لا تحتاج إلى تكوين أي شيء للتشغيل الأول. الإعداد الوحيد الذي قد تحتاجه في البداية هو استبعاد مكتبات الجهات الخارجية. لن تقوم بإصلاح أي شيء في الملفات الأصلية ، على سبيل المثال ، مكتبة jpeg ، لذلك ليست هناك حاجة للتحقق منها. بالإضافة إلى ذلك ، يؤدي استثناء المجلدات غير الضرورية إلى تسريع عملية تحليل المشروع. يتم تعيين استثناءات الدليل هنا: PVS-Studio> خيارات ...> عدم التحقق من الملفات> PathMasks (انظر الشكل 3).

الشكل 3. تحرير قائمة الدلائل التي لن يتحقق المحلل.

الشكل 3. تحرير قائمة الدلائل التي لن يتحقق المحلل.

إذا كان هناك اسم محدد في اسم الملف الكامل ، فلن يتم إجراء التحليل لهذا الملف. بشكل افتراضي ، يتم تضمين أسماء بعض الدلائل بالفعل في القائمة. ومع ذلك ، في المشروع الخاص بك ، يمكن تسمية الدليل مع مكتبة ZLib ليس "zlib" ، ولكن ، على سبيل المثال ، "zip_lib". لذلك ، يجب تحرير هذه القائمة. لبدء التحرير ، تحتاج إلى النقر فوق زر مع ثلاث نقاط.

أمثلة من الأقنعة المقبولة لقائمة PathMasks:

  • c: \ Libs \ - سيتم استبعاد جميع الملفات في هذا الدليل والأدلة الفرعية الخاصة به.
  • \ Libs \ أو * \ Libs \ * - جميع الملفات الموجودة في الدلائل ، سيتم استبعاد المسار الذي يحتوي على الدليل الفرعي "Libs". إذا لم يتم تحديد الرموز "*" ، فسيتم إضافتها تلقائيًا على أي حال ، لذلك يكون كلا الخيارين متساويين.
  • Libs أو * Libs * - جميع الملفات ، المسار الذي يحتوي على الدليل الفرعي ، الذي يساوي اسمه أو يحتوي على "Libs". وفي هذه الحالة أيضًا ، سيتم استبعاد جميع الملفات التي تحتوي على Libs باسمها ، على سبيل المثال ، c: \ project \ mylibs.cpp. لتجنب الالتباس ، نوصي دائمًا باستخدام الخطوط المائلة.

بالإضافة إلى استبعاد الدلائل بالكامل ، يمكنك تعيين أقنعة لاستبعاد الملفات الفردية. للقيام بذلك ، هناك الإعداد FileNameMasks. تعرف على المزيد حول كيفية التعامل مع قوائم الاستثناءات في الوثائق: الإعدادات: لا تحقق من الملفات .

فحص المشروع


عند إكمال الإعدادات الأولية ، يمكنك البدء في التحقق من المشروع. يدعم PVS-Studio لبرنامج Visual Studio التحقق من مشاريع C ++ (.vcxproj) و C # (.csproj). يمكنك أيضًا محاولة التحقق من الحل بالكامل ، والذي يحتوي على مشاريع من هذه الأنواع. للقيام بذلك ، حدد عنصر قائمة الامتدادات ملحقات> PVS-Studio> فحص> حل (انظر الشكل 4).

الشكل 4. تحقق من حل باستخدام محلل PVS-Studio.

الشكل 4. تحقق من حل باستخدام محلل PVS-Studio.

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

العمل مع قائمة الرسائل التشخيصية


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

الشكل 5. نافذة مع رسائل التشخيص.

الشكل 5. نافذة مع رسائل التشخيص.

  1. حسنًا ، إليك نافذة PVS-Studio.
  2. قائمة إضافية. يتيح لك الوصول إلى خيارات مثل وضع علامة على التحذيرات على أنها رسائل خاطئة أو مخفية أو إضافة ملفات إلى الاستثناءات (اقرأ عن هذا أدناه).
  3. يمكّن الزر الرسائل "حدث خطأ ما". على سبيل المثال ، لا يمكن معالجة أحد الملفات مسبقًا.
  4. انتقل إلى الرسالة السابقة / التالية. هذا يفتح الملف ذي الصلة ويوضع المؤشر على السطر مع وجود خطأ محتمل. كما يمكنك دائمًا تحديد تشخيص من القائمة بنقرة مزدوجة. يمكنك تعيين مفاتيح التشغيل السريع للانتقالات إلى الرسالة السابقة / التالية. بشكل افتراضي ، يكون Alt + '[' و Alt + ']'.
  5. الأزرار التي تتضمن تحذيرات من مستويات مختلفة. يتم الآن تمكين مستويين التشخيص الأولين. في الوقت نفسه ، تعرض النافذة 90 تحذيرات من المستوى الأول ، 6700 تحذير من المستوى الثاني. يظهر مستوى الرسالة على الجانب الأيسر من النافذة كشريط ، يتوافق مع لون الشريط على زر مستوى المطابقة. لماذا هناك الكثير من الاثاره؟ لماذا 6700 تحذيرات؟ لإثبات قدرات الواجهة ، يتم تمكين مجموعة من قواعد MISRA ، وهذا غير مناسب للتطبيقات العادية :).
  6. مجموعات نشطة من قواعد التشخيص. عام - التشخيص العام ، التحسين - التحسين الجزئي ، تشخيصات 64 بت - 64 بت ، تشخيصات MISRA - MISRA C و MISRA C ++. يتم الآن عرض جميع أنواع التحذيرات في النافذة.
  7. يوضح المؤشر عدد التحذيرات التي تحمل علامة "خطأ" (False Alarms). يمكنك تمكين / تعطيل عرض الرسائل المميزة في الإعدادات - PVS-Studio> الخيارات ...> إعدادات محلل محددة> عرض الإنذارات الكاذبة.
  8. مرشحات سريعة. على سبيل المثال ، يمكنك تقصير القائمة إلى الرسائل التي تحتوي على رمز V501 والرسائل الموجودة في مشروع XYZ فقط.
  9. بعض التشخيصات تشير إلى عدم الاهتمام بواحد ، ولكن عدة سطور. في هذه الحالة ، تظهر النقاط بجانب رقم السطر. بالنقر فوقه ، يمكنك رؤية قائمة الخطوط واختيار واحد منها.

ينقسم الجدول الذي يحتوي على رسائل تشخيصية إلى الأعمدة التالية:

  • المستوى. مستوى اليقين الذي يشير إلى أنه تم العثور على خطأ ، وليس رائحة الكود. المستوى 1 (أحمر) يظهر أكثر الأماكن المشبوهة. المستوى 3 (الأصفر) هو عدم دقة غير ضروري في الكود.
  • نجوم. ليس لديها غرض محدد. يمكن للمستخدمين تفسير ذلك كما يحلو لهم. على سبيل المثال ، يمكن للمستخدم تحديد التحذيرات الأكثر إثارة للاهتمام لمزيد من التحليل الدقيق. هذا التشبيه هو العلامة المميزة لرسائل البريد الإلكتروني في عملاء البريد مثل Thunderbird أو Outlook.
  • ID. رقم الرسالة الفريدة. يمكن أن يكون مفيدًا عند التعامل مع قائمة كبيرة. على سبيل المثال ، يمكنك الانتقال إلى رسالة برقم محدد (راجع "التنقل إلى المعرف ..." في قائمة السياق ).
  • التعليمات البرمجية. رمز الرسالة. إذا قمت بالنقر فوقه ، فستفتح صفحة تصف التحذير.
  • CWE. يسمح لك بتحديد تحذير من خلال كود CWE (تعداد الضعف العام). عند النقر فوق الارتباط ، يمكنك رؤية وصف لهذا CWE في الشبكة.
  • ميسرا. كما ذكر أعلاه ، ولكن بالنسبة لمعيار MISRA .
  • الرسالة. نص رسالة التشخيص.
  • المشروع. اسم المشروع (يمكنك تعطيل هذا العمود باستخدام قائمة السياق).
  • الملف. اسم الملف.
  • الخط. رقم الخط. ! المهم لاحظ أن بعض الخطوط تنتهي بالنقاط. مثال: "123 (...)". بالنقر فوق هذا الرقم ، ستحصل على قائمة بجميع أسطر التعليمات البرمجية المتعلقة بهذه الرسالة. في الوقت نفسه ، يمكنك الانتقال إلى كل سطر في القائمة.

نعم ، لقد كان مرهقا أن نقرأ كل شيء. ومع ذلك ، أؤكد لك أنه بعد البدء في استخدامه ، سوف تعتاد بسرعة على الأداة. ونادراً ما تنقر فوق شيء للإعداد.

قائمة السياق


لذلك ، بالنقر المزدوج على الرسالة ، انتقلت إلى الجزء المتعلق بالكود. عند النقر على زر الماوس الأيمن ، تفتح قائمة السياق.

القائمة بسيطة للغاية ، ولن أقوم بفوضى المقالة مع وصف كل عنصر. إذا كان هناك شيء غير واضح ، يمكنك البحث في الوثائق.

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

انتبه إلى خيار القائمة "لا تحقق من الملفات وإخفاء جميع الرسائل من ...". عند النقر فوقه ، ستحصل على قائمة بالمسارات التي يمكنك إضافتها إلى الاستثناءات (انظر الشكل 6).

الشكل 6. باستثناء الملفات من الاختيار.

الشكل 6. باستثناء الملفات من الاختيار.

يمكنك اختيار ملف منفصل أو أحد الأدلة. توضح الصورة أنه تم اختيار المجلد "SDL2-2.0.9 \ src \ haptic \ windows". هذا يعني أن جميع الملفات الموجودة في هذا المجلد وجميع المجلدات الفرعية سيتم استبعادها من التحليل. علاوة على ذلك ، ستختفي جميع الرسائل المتعلقة بهذه الملفات من القائمة على الفور. مريحة جدا. لا تحتاج إلى إعادة تشغيل التحليل لإزالة جميع الرسائل المتعلقة بالاختبارات.

وضع التحليل التزايدي


ستكون مقدمة PVS-Studio غير مكتملة ، إذا أخفينا إحدى أهم الميزات - تحليل الكود الإضافي .

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

عند العثور على خطأ ، تظهر نافذة منبثقة ، تحذير من الخطر (انظر الشكل 7).

الشكل 7. رسالة منبثقة ، تفيد بوجود أماكن مشبوهة في ملفات تم تحريرها.

الشكل 7. رسالة منبثقة ، تفيد بوجود أماكن مشبوهة في ملفات تم تحريرها.

إذا نقرت على الأيقونة ، فسوف تفتح IDE بنتيجة فحص المشروع (انظر الشكل 2) ويمكنك الحفر إلى أجزاء التعليمات البرمجية المشبوهة.

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

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

if (in[0] == '\\' && in[1] == '.' && in[1] == '\\') { in += 2; continue; } 

حسنا ، الأكثر إثارة للاهتمام لم يأت بعد. يمكن أن يكون محلل PVS-Studio في بعض الأحيان أكثر فائدة من ذلك. إليك أحد المراجعات حول محللنا: " تجربة المستخدم في العمل مع المحلل ". النص يجعلني أتساءل.

اسمحوا لي أن ألخص ذلك. التحليل التدريجي هو شيء يجب أن تجربه بالتأكيد. ستعجبك بمجرد العثور على بعض الأخطاء في التعليمات البرمجية الجديدة.

PVS- استوديو القدرات


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

الشكل 8. قدرات PVS- الاستوديو.

الشكل 8. قدرات PVS- الاستوديو.

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

لرؤية هذه التشخيصات في العمل ، ألق نظرة على قاعدة الخطأ . نقوم بتجميع جميع الأخطاء التي وجدناها ، والتحقق من مختلف المشاريع مفتوحة المصدر باستخدام PVS-Studio.

كبار المستشارين


PVS-Studio هي أداة اختبار أمان تطبيق ثابت. يمكن للمحلل اكتشاف نقاط الضعف المحتملة في رمز المشروع وإظهار معرف الخطأ المناسب في تصنيف معين.

يدعم PVS-Studio تصنيفات الخطأ التالية:

  1. CWE
  2. SEI CERT
  3. ميسرا

يمكنك تمكين عرض رموز CWE من خلال قائمة السياق في نافذة محلل عن طريق إظهار الأعمدة> CWE

الشكل 9. قائمة السياق ومثال مخرجات CWE.

الشكل 9. قائمة السياق ومثال مخرجات CWE.

أو في القائمة الرئيسية (ملحقات> PVS-Studio> عرض رموز CWE في نافذة الإخراج)

الشكل 10. قائمة التمديد.


الشكل 10. قائمة التمديد.

يتم تمكين تشخيصات MISRA بشكل منفصل في الإعدادات:

الشكل 11. قائمة بالأخطاء المكتشفة.


الشكل 11. قائمة بالأخطاء المكتشفة.

يمكنك قراءة المزيد عن هذه التصنيفات هنا .

التحقق من المشاريع من سطر الأوامر


PVS-Studio_Cmd.exe - أداة مساعدة لفحص مشاريع C ++ / C # Visual Studio (.vcxproj / .csproj) وحلول .sln من سطر الأوامر. يمكن أن يكون من المفيد لأتمتة التحليل. يوجد البرنامج في الدليل الذي تم إجراء التثبيت فيه - بشكل افتراضي هو "C: \ Program Files (x86) \ PVS-Studio".

يحتوي البرنامج على العديد من المعلمات ، لكننا نحتاج أولاً إلى 3 منها فقط:

  • - الهدف: ملف المشروع أو الحل الذي يجب التحقق منه.
  • - الإخراج: ملف plog حيث يجب كتابة التقرير.
  • - التقدم: عرض التقدم المحرز في الاختيار.

إليك ما سيبدو عليه التشغيل:

الشكل 12. ناتج برنامج PVS-Studio_Cmd.exe.


الشكل 12. ناتج برنامج PVS-Studio_Cmd.exe.

بعد التشغيل ، سنحصل على ملف plog مع تقرير ، وهو المسار الذي حددناه في خيارات التشغيل. يمكنك تحويل هذا التقرير بتنسيقات أخرى باستخدام الأداة المساعدة PlogConverter.exe. لعرض التقرير في IDE ، انقر نقرًا مزدوجًا فوق ملف plog في الباحث.

كما يمكنك فتح ملف التقرير في قائمة الامتداد عن طريق امتداد الإضافات> PVS-Studio> فتح / حفظ> فتح تقرير التحليل ...

صورة 4


يمكن العثور على معلومات مفصلة حول الأداة المساعدة ومعلماتها في الوثائق .

ايجابيات كاذبة قمع


بعض الرسائل التي يصدرها المحلل ستكون حتما خاطئة. لا يوجد شيء يمكننا القيام به حيال ذلك. المحلل الثابت هو مجرد برنامج لا يتمتع بذكاء اصطناعي ولا يمكنه تحديد ما إذا كان خطأ حقيقيًا أم لا.

لمحاربة الإيجابيات الخاطئة ، يقدم المحلل مجموعة من الآليات المختلفة. وهي مفصلة في أقسام الوثائق التالية:

  • ضبط غرامة .
  • طريقة تقريبية تسمح لك فقط بالعمل مع التحذيرات المتعلقة بالكود الجديد أو المعدل.

استنتاج


بالطبع ، لم نخبرك بكل شيء عن الأداة. إذا قلت كل شيء ، فإن المادة سوف تتحول إلى وثائق. كان الهدف هو إظهار مدى سهولة العمل مع الأداة داخل بيئة Visual Studio. يمكنك أن تقرأ عن البيئات وأنماط العمل الأخرى في الوثائق والمقالات الأخرى على موقعنا. هناك الكثير من الأشياء المثيرة للاهتمام للمبرمجين ، بالمناسبة. تعال وتسكع.

تجدر الإشارة إلى أن PVS-Studio لا يعمل فقط في بيئة Microsoft. نحن ندعم أيضًا لغة Java ، ويمكننا العمل على نظامي Linux و macOS ، والاندماج في CMake والمزيد. يمكنك معرفة المزيد في الوثائق .

أتمنى لك رمزًا سيئًا بلا أخطاء وأتمنى أن تستمتع بـ PVS-Studio. إذا كان هناك أي أسئلة ، فسوف نساعد دائمًا ونقدم المشورة. اكتب لنا

روابط إضافية:


  1. مراجعة الكود .
  2. تحليل كود ثابت .
  3. أدوات تحليل الشفرة الثابتة .
  4. SAST .
  5. التقنيات المستخدمة في محلل PVS-Studio .
  6. قم بتنزيل وتجربة PVS-Studio.
  7. Visual Studio 2019 الدعم .
  8. ناقش سعر محلل PVS-Studio لك مع فريقك وكيفية شرائه: شراء PVS-Studio .
  9. مثال على استخدام محلل ثابت .
  10. إجابات على الأسئلة التي تطرح غالباً في المؤتمرات.
  11. كيفية تشغيل PVS-Studio Java
  12. كيفية تشغيل PVS-Studio على لينكس وماك

Source: https://habr.com/ru/post/ar458068/


All Articles