
पीवीएस-स्टूडियो सी, सी ++, सी #, और जावा में विकसित परियोजनाओं का विश्लेषण करने का समर्थन करता है। आप विंडोज, लिनक्स और मैकओएस के तहत विश्लेषक का उपयोग कर सकते हैं। यह छोटा लेख आपको लिनक्स वातावरण में C और C ++ कोड का विश्लेषण करने की मूल बातें बताएगा।
स्थापना
आपके डिस्ट्रो प्रकार के आधार पर, लिनक्स के तहत पीवीएस-स्टूडियो को स्थापित करने के विभिन्न तरीके हैं। सबसे सुविधाजनक और पसंदीदा तरीका रिपॉजिटरी का उपयोग करना है, क्योंकि यह नए संस्करणों को जारी करने पर विश्लेषक को ऑटो-अपडेट करने की अनुमति देता है। एक अन्य विकल्प इंस्टॉलेशन पैकेज का उपयोग करना है, जिसे आप
यहां प्राप्त कर सकते
हैं ।
आपके द्वारा उपयोग किए जा रहे लिनक्स डिस्ट्रो के आधार पर इंस्टॉलेशन कमांड अलग-अलग हैं। उदाहरण के लिए, यह है कि डेबियन-आधारित सिस्टम के तहत रिपॉजिटरी से इंस्टॉलेशन कैसा दिखता है:
wget -q -O - https:
डाउनलोड करने योग्य पैकेज से पीवीएस-स्टूडियो स्थापित करने के लिए, आप
gdebi उपयोगिता का उपयोग कर सकते हैं:
sudo gdebi pvs-studio-VERSION.deb
इंस्टॉलेशन प्रक्रिया को "
लिनक्स पर पीवीएस-स्टूडियो को स्थापित करने और अपडेट करने " प्रलेखन अनुभाग में अधिक विस्तार से वर्णित किया गया है। आप वहां गैर-डेबियन प्रणालियों के बारे में भी जानकारी पा सकते हैं।
पीवीएस-स्टूडियो स्थापित होने के बाद, आपको लाइसेंस डेटा दर्ज करना होगा। यहाँ उस के लिए आदेश है:
pvs-studio-analyzer credentials NAME KEY [-o LIC-FILE]
NAME और
KEY पंजीकृत उपयोगकर्ता नाम और लाइसेंस कुंजी हैं। वैकल्पिक पैरामीटर
–o आपको स्थान निर्दिष्ट करने की अनुमति देता है, जहां एक लाइसेंस फ़ाइल उत्पन्न होगी। डिफ़ॉल्ट रूप से, इसे
~ / .config / PVS-Studio / निर्देशिका में संग्रहीत किया जाएगा।
यदि आपको परीक्षण कुंजी की आवश्यकता है, तो आप इसे "
पीवीएस-स्टूडियो डाउनलोड और मूल्यांकन " पृष्ठ पर प्राप्त कर सकते हैं।
अपने प्रोजेक्ट की जाँच कर रहा है
एक बार जब आप विश्लेषक स्थापित हो जाते हैं, तो आप परियोजनाओं की जांच शुरू कर सकते हैं। ऐसा करने के दो मुख्य तरीके हैं:
- संकलन की निगरानी।
- बिल्ड सिस्टम से सीधे चल रहा है।
पहले तरीके की बात करते हैं। लिनक्स के तहत निगरानी शुरू करने के लिए, आपको
स्ट्रेस यूटिलिटी की आवश्यकता होती है। पीवीएस-स्टूडियो इसका उपयोग प्रक्रियाओं की एक सूची और मापदंडों को इकट्ठा करने के लिए करता है, जो निर्माण के दौरान लॉन्च किए गए थे।
बिल्ड शुरू करने के लिए नीचे दिए गए कमांड का उपयोग करें:
pvs-studio-analyzer trace -- make
यहां,
मेक का उपयोग किया जाता है, लेकिन आपकी परियोजना के निर्माण के लिए आप जो भी अन्य कमांड चला रहे हैं, वह अपनी जगह पर हो सकता है। यदि आवश्यक हो, तो आप इसे सामान्य तरीके से कमांड-लाइन पैरामीटर पास कर सकते हैं।
निर्माण के बाद,
स्ट्रेस एक फाइल बनाएगा, जो विश्लेषक तब स्रोत कोड की जांच करने के लिए उपयोग करेगा। विश्लेषण शुरू करने के लिए, नीचे दिए गए कमांड का उपयोग करें।
pvs-studio-analyzer analyze -o /path/to/project.log
नतीजतन, एक एन्कोडेड लॉग फ़ाइल उत्पन्न होगी, जिसे आप समर्थित स्वरूपों में से एक में बदल सकते हैं। हम बाद में रिपोर्ट के साथ काम करने के बारे में बात करेंगे।
स्ट्रेस के अलावा, आप
compile_commands.json (JSON Compilation Database) फ़ाइल पर विश्लेषण को आधार बना सकते हैं। कई बिल्ड सिस्टम में कंपाइल कमांड के निर्यात के लिए अंतर्निहित साधन हैं, या आप ऐसा करने के लिए
BEAR उपयोगिता का उपयोग कर सकते हैं। इस मामले में विश्लेषण शुरू करने का आदेश यहां दिया गया है:
pvs-studio-analyzer analyze –f /path/to/compile_commands.json
ध्यान दें कि एनालाइज़र कंपाइलर को, उसके निष्पादन योग्य नाम से, बिल्ड प्रक्रिया में उपयोग किया जाता है। यदि आपको "कोई संकलन इकाइयाँ नहीं मिलीं" तो आपकी परियोजना का विश्लेषण करने का प्रयास करते समय त्रुटि हुई,
-कंपलर या
-सी -कमांड लाइन कुंजी के माध्यम से अपने संकलक के नाम को स्पष्ट रूप से निर्दिष्ट करने का प्रयास करें:
pvs-studio-analyzer analyze -c MyCompiler
यदि आप क्रॉस-संकलन का उपयोग कर रहे हैं, या यदि आपके कंपाइलर में एक गैर-मानक निष्पादन योग्य नाम है, तो आपको इसकी आवश्यकता हो सकती है।
मॉनिटरिंग मोड के अलावा, आप विश्लेषक को सीधे अपने बिल्ड सिस्टम या आईडीई में एकीकृत कर सकते हैं। हमारे आधिकारिक
GitHub रिपॉजिटरी उदाहरण परियोजनाएं प्रदान करता है जहां एकीकरण पहले से ही कॉन्फ़िगर किया गया है:
लिनक्स के तहत विश्लेषक चलाने पर अधिक जानने के लिए,
दस्तावेज देखें।
रिपोर्ट के साथ काम करना
किसी प्रोजेक्ट की जाँच करने के बाद, विश्लेषक एक एन्कोडेड रिपोर्ट बनाता है। इसे समर्थित स्वरूपों में से एक में बदलने के लिए, आपको
plog- कनवर्टर उपयोगिता का उपयोग करने की आवश्यकता है, जो पीवीएस-स्टूडियो इंस्टॉलेशन के साथ आता है।
यहाँ समर्थित स्वरूपों की एक सूची है:
- xml- विश्लेषण के परिणामों के आगे के प्रसंस्करण के लिए एक सुविधाजनक प्रारूप, जो सोनारक्यूब के लिए प्लगइन द्वारा समर्थित है;
- सीएसवी - फ़ाइल सादे पाठ में सारणीबद्ध डेटा (संख्या और पाठ) संग्रहीत करता है;
- errorfile, gcc और clang का आउटपुट स्वरूप है;
- टास्कलिस्ट - एक त्रुटि प्रारूप जिसे QtCreator में खोला जा सकता है;
- html - विश्लेषण परिणामों के संक्षिप्त विवरण के साथ HTML रिपोर्ट;
- fullhtml - स्रोत कोड के साथ अलग-अलग मापदंडों और नेविगेशन के अनुसार विश्लेषण परिणामों की छँटाई के साथ रिपोर्ट।
रिपोर्ट को देखने के लिए फुलहैम प्रारूप सबसे सुविधाजनक है, क्योंकि यह उस कोड की पंक्ति में कूदने की अनुमति देता है, जिस पर आपको रुचि है। निम्न आदेश आपको रिपोर्ट को इस प्रारूप में बदलने की अनुमति देता है:
plog-converter -a GA:1,2 -t fullhtml /path/project.log -o /path/report_dir
जब आप इसे लॉन्च करते हैं, तो एक नया बनाया गया निर्देशिका नाम
/ पथ / report_dir में सभी रिपोर्ट फ़ाइलें होंगी।
-A पैरामीटर पर ध्यान दें। यह आपको निर्दिष्ट करने की अनुमति देता है, जिसके परिणामस्वरूप रिपोर्ट में चेतावनी दिखाई देनी चाहिए। यह सुविधाजनक है यदि आपको विश्लेषक के आउटपुट को फ़िल्टर करने की आवश्यकता है। उपरोक्त कमांड एक रिपोर्ट बनाएगी, जिसमें पहले और दूसरे निश्चित स्तर (
उच्च और
मध्यम ) के केवल सामान्य विश्लेषण संदेश होंगे।
एक उदाहरण रिपोर्ट:
किसी संदेश के
स्थान कक्ष में क्लिक करके, आप कोड की संबंधित पंक्ति पर जा सकते हैं:
कोड कॉलम में डायग्नोस्टिक कोड पर क्लिक करके, आप इस डायग्नोस्टिक पर प्रलेखन खोल सकते हैं।
दमनकारी विश्लेषक चेतावनियाँ
स्रोत कोड की जांच करने के लिए किसी भी स्थिर विश्लेषक का उपयोग करते समय, आपको झूठी सकारात्मक या बस अवांछनीय शोर चेतावनी मिल सकती है। पीवीएस-स्टूडियो के पास ऐसे संदेशों को दबाने का साधन है। व्यक्तिगत चेतावनियों को लक्षित करने के लिए, आप "
गलत अलार्म का दमन " प्रलेखन लेख में वर्णित विधियों में से एक का उपयोग कर सकते हैं।
इसके अलावा, पुराने कोड की जाँच करते समय आप सभी चेतावनियों को दबा सकते हैं। एक नियम के रूप में, आपको इसकी आवश्यकता हो सकती है यदि आप केवल नए कोड की जांच करना चाहते हैं जो आप मौजूदा कोडबेस में जोड़ते हैं। ऐसा करने के लिए,
pvs-studio-विश्लेषक उपयोगिता के
शमन पैरामीटर का उपयोग करें।
आप इस आदेश का उपयोग करके एक रिपोर्ट में चेतावनी को दबा सकते हैं:
pvs-studio-analyzer suppress /path/to/report.log
दबी हुई चेतावनियों की जानकारी suppress_base.json नामक एक फ़ाइल में संग्रहीत है, जो परियोजना के बगल में स्थित है। इस तरह के संदेशों को बाद की जाँचों की रिपोर्टों से बाहर रखा गया है।
इस तंत्र का विस्तार से वर्णन
यहाँ किया गया है ।
निष्कर्ष
यह लिनक्स के तहत पीवीएस-स्टूडियो का उपयोग करने में एक संक्षिप्त परिचय था। मुझे उम्मीद है कि यह उपयोगी था और सबसे लगातार सवालों के जवाब देने में कामयाब रहा। यदि आपको इस लेख के विषय पर अधिक जानकारी की आवश्यकता है, तो
यहां प्रलेखन देखें।