
यह लेख आपको बताएगा कि किसी एम्बेडेड प्रोजेक्ट का विश्लेषण कैसे शुरू किया जाए और विश्लेषक की रिपोर्ट के साथ कैसे काम किया जाए। PVS-Studio विश्लेषक एम्बेडेड सिस्टम के लिए कई संकलक का समर्थन करता है। वर्तमान संस्करण विंडो, लिनक्स और macOS के तहत निम्नलिखित कंपाइलरों में से किसी एक के साथ निर्मित परियोजनाओं की जाँच करने की अनुमति देता है:
स्थापना
स्थापना प्रक्रिया उस ऑपरेटिंग सिस्टम पर निर्भर करती है जिसका आप विकास में उपयोग करते हैं। लिनक्स के तहत, आप विश्लेषक को रिपॉजिटरी, या इंस्टॉलेशन पैकेज से स्थापित कर सकते हैं।
उदाहरण के लिए, डेबियन-आधारित प्रणाली पर:
wget -q -O - https:
या
sudo gdebi pvs-studio-VERSION.deb
MacOS के तहत, आप स्थापना और अद्यतन के लिए
Homebrew का उपयोग कर सकते हैं:
brew install viva64/pvs-studio/pvs-studio brew upgrade pvs-studio
एक अन्य विकल्प -
डीएमजी पैकेज से स्थापित करना, या संग्रह से मैन्युअल रूप से अनपैक करना।
विंडोज के तहत, आपको इंस्टॉलर का उपयोग करने की आवश्यकता है:
आप प्रत्येक समर्थित सिस्टम के लिए इंस्टॉलेशन पैकेज डाउनलोड कर सकते हैं, साथ ही "कुंजी
डाउनलोड करें और पीवीएस-स्टूडियो का मूल्यांकन करें " पृष्ठ पर, आपको परीक्षण कुंजी का अनुरोध करना चाहिए।
एक बार इंस्टॉलेशन हो जाने के बाद, आपको लाइसेंस कुंजी दर्ज करनी होगी। "
पीवीएस-स्टूडियो लाइसेंस कैसे दर्ज करें और अगली चाल क्या है " प्रलेखन लेख विभिन्न प्लेटफार्मों के संबंध में इस प्रक्रिया का विस्तार से वर्णन करता है।
अपने प्रोजेक्ट की जाँच कर रहा है
एम्बेडेड सिस्टम के लिए बनाई गई परियोजनाओं की जाँच करना विंडोज, लिनक्स, या मैकओएस के लिए विकसित की गई जाँच के समान है।
लिनक्स में उपलब्ध विकल्पों का वर्णन "
लिनक्स के तहत सी ++ विकास के लिए पीवीएस-स्टूडियो स्टेटिक विश्लेषक के साथ शुरू करना " है। ध्यान रखें कि एम्बेडेड प्रोजेक्ट्स क्रॉस-संकलित हैं, और आपके कंपाइलर में एक गैर-मानक नाम हो सकता है। इसके कारण, आपको विश्लेषण शुरू करते समय इसे निर्दिष्ट करने की आवश्यकता हो सकती है, जिसे आप
-compiler , या
-c , कमांड-लाइन कुंजी के माध्यम से कर सकते हैं।
pvs-studio-analyzer analyze -c MyCompiler
इसका उपयोग करना आवश्यक है अगर विश्लेषक कंपाइलर प्रकार का पता नहीं लगा सकता है, अर्थात, यदि यह "कोई संकलन इकाइयां नहीं मिली" त्रुटि जारी करता है।
चूंकि लक्ष्य प्लेटफ़ॉर्म क्रॉस-संकलन के कारण विकास से भिन्न होता है, इसलिए संभवतः आपको प्रीप्रोसेसर प्रकार (
--preprocessor ) के साथ -
प्लेटफ़ॉर्म कुंजी के माध्यम से लक्ष्य प्लेटफ़ॉर्म निर्दिष्ट करने की आवश्यकता होगी।
समर्थित प्लेटफ़ॉर्म:
win32, x64, linux32, linux64, macos, arm।समर्थित पूर्वज:
gcc, clang
, keil।लिनक्स के तहत,
linux64 प्लेटफॉर्म और
gcc प्रीप्रोसेसर डिफॉल्ट हैं।
यदि आप विंडोज का उपयोग कर रहे हैं, तो आप अपने प्रोजेक्ट को कंपाइलर मॉनिटरिंग मोड में देख सकते हैं। ऐसा करने के लिए, "
सी और सी ++ कंपाइलर मॉनिटरिंग यूआई " उपयोगिता का उपयोग करें, जो विश्लेषक के साथ आता है। निगरानी शुरू करने के लिए,
टूल मेनू पर जाएं और
अपनी फ़ाइलों का विश्लेषण करें ... यह डायलॉग खुलेगा:
"
प्रारंभ निगरानी " बटन पर क्लिक करें और अपनी परियोजना का निर्माण शुरू करें। जब निर्माण पूरा हो जाए, तो स्क्रीन के निचले-दाएं कोने में स्थित संवाद विंडो में "
स्टॉप मॉनिटरिंग " बटन पर क्लिक करें:
"
सी और सी ++ कंपाइलर मॉनिटरिंग यूआई " उपयोगिता की मुख्य विंडो आपको विश्लेषण परिणामों को देखने की अनुमति देती है।
इसके अलावा, CLMonitor उपयोगिता का उपयोग करके कमांड लाइन से विश्लेषण शुरू करना संभव है। यहां वह कमांड है जो निगरानी शुरू करेगी:
CLMonitor.exe monitor
निर्माण के बाद, इसे फिर से विश्लेषण मोड में शुरू करें:
CLMonitor.exe analyze -l "<path>\out.plog"
विश्लेषक आपकी परियोजना की जांच करेगा और परिणाम को
-l कुंजी के माध्यम से निर्दिष्ट फ़ाइल में बचाएगा।
"
पीवीएस-स्टूडियो में कंपाइलर मॉनिटरिंग सिस्टम " भी देखें।
रिपोर्ट के साथ काम करना
लिनक्स के तहत रिपोर्ट देखने के लिए, आपको विश्लेषक द्वारा समर्थित लॉग प्रारूप में लॉग फ़ाइल को परिवर्तित करने की आवश्यकता है। ऐसा करने के लिए
plog- कनवर्टर उपयोगिता का उपयोग करें। उदाहरण के लिए, आप एक HTML रिपोर्ट तैयार कर सकते हैं, जो आपको इस आदेश के साथ स्रोत कोड देखने की अनुमति देती है:
plog-converter -a GA:1,2 -t fullhtml /path/project.log -o /path/report_dir
रिपोर्ट रूपांतरण को "
लिनक्स के तहत सी ++ विकास के लिए पीवीएस-स्टूडियो स्टेटिक विश्लेषक के साथ शुरू करना " लेख में अधिक विस्तार से वर्णित किया गया है।
विंडोज संस्करण में
PlogConverter नाम की एक उपयोगिता भी है, जो अपने लिनक्स समकक्ष के उपयोग के समान है:
PlogConverter.exe <path>\out.plog --renderTypes= FullHtml --analyzer=GA:1,2
या
PlogConverter.exe D:\Projct\out.plog -t FullHtml -a GA:1,2
आप
फ़ाइल-> ओपन पीवीएस-स्टूडियो लॉग ... मेनू कमांड के माध्यम से "
सी और सी ++ कंपाइलर मॉनिटरिंग यूआई " उपयोगिता के साथ
रोकें प्रारूप में रिपोर्ट देख सकते हैं।
उदाहरण:
यदि आपको जरूरत है, तो आप उपयोगिता के
फ़ाइल मेनू के माध्यम से रिपोर्ट को एक समर्थित प्रारूप में निर्यात कर सकते हैं।
मिश्रा कोडिंग मानक
पीवीएस-स्टूडियो
सीडब्ल्यूई और
एसईआई सीईआरटी के अनुसार अपनी चेतावनी को वर्गीकृत करता है, जो नियमित रूप से ऐप के स्थैतिक सुरक्षा परीक्षण (
एसएएसटी ) के लिए काफी अच्छी तरह से काम करता है। हालांकि, एम्बेडेड सिस्टम की अलग-अलग सुरक्षा आवश्यकताएं हैं, जिन्हें विशेष रूप से विकसित
MISRA मानक द्वारा कवर किया गया है। वर्तमान PVS-Studio संस्करण आंशिक रूप से MISRA C और MISRA C ++ का समर्थन करता है। आप
यहां समर्थित नियमों की नियमित रूप से विस्तारित सूची देख सकते हैं।
मानक की बारीकियों के कारण, गैर-एम्बेडेड प्रोजेक्ट्स की जाँच करते समय MISRA नियमों का उपयोग करना आमतौर पर एक बुरा विचार है। ज्यादातर मामलों में, यदि कोड शुरू में MISRA- उन्मुख नहीं था, तो चेक कई झूठी सकारात्मक और आम तौर पर शोर चेतावनी में परिणाम होगा। इस प्रकार, MISRA नियम डिफ़ॉल्ट रूप से बंद हैं।
लिनक्स के तहत MISRA को सक्षम करने के लिए, वांछित मोड के अनुसार
-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
इसके अलावा, आपको परिणामी रिपोर्ट में MISRA चेतावनियों को शामिल करने के लिए
plog- कनवर्टर बताना
होगा :
plog-converter -a MISRA:1,2,3 -m misra ....
विंडोज के तहत, आप "
C और C ++ कंपाइलर मॉनिटरिंग UI " उपयोगिता की सेटिंग्स का उपयोग कर सकते हैं:
“
PVS-Studio: MISRA C और MISRA C ++ कोडिंग मानकों का समर्थन” लेख देखें MRARA समर्थन के बारे में अधिक जानने के लिए।
निष्कर्ष
इस लेख में, हमने एम्बेडेड-लक्षित परियोजनाओं की जाँच के लिए पीवीएस-स्टूडियो विश्लेषक की विशेषताओं के बारे में संक्षेप में चर्चा की है। यदि आपको विश्लेषक का उपयोग करने के बारे में अधिक जानकारी की आवश्यकता है, तो मेरा सुझाव है कि आप निम्नलिखित लेखों को देखें: