Gcov
Gcov என்பது ஒரு மூலக் குறியீடு பாதுகாப்பு பகுப்பாய்வு மற்றும் அறிக்கையின்படி விவரக்குறிப்பு கருவியாகும். ஒரு நிரலில் ஒவ்வொரு அறிக்கையும் எத்தனை முறை செயல்படுத்தப்படுகிறது என்பதற்கான சரியான எண்ணிக்கையை Gcov உருவாக்குகிறது மற்றும் கருவிகளைச் சேர்க்க மூலக் குறியீட்டைக் குறிப்பிடுகிறது. ஜி. சி. ஓ. வி குனு கம்பைலர் கலெக்ஷன் (ஜி. சி. சி) தொகுப்புடன் ஒரு நிலையான பயன்பாடாக வருகிறது. gcov பயன்பாடு ஒரு நிரல் குறியீட்டின் பிரிவுகளை எவ்வளவு அடிக்கடி செயல்படுத்துகிறது என்பதற்கான தகவல்களை வழங்குகிறது. இது மூலக் கோப்பின் நகலை உருவாக்குகிறது, இது செயலாக்க அதிர்வெண்களுடன் குறிப்பிடப்படுகிறது. Gcov பயன்பாடு எந்த நேர அடிப்படையிலான தரவையும் உருவாக்காது மற்றும் GCC தொகுப்புடன் தொகுக்கப்பட்ட குறியீட்டில் மட்டுமே செயல்படுகிறது. கையேடு இது வேறு எந்த விவரக்குறிப்பு அல்லது சோதனை பாதுகாப்பு பொறிமுறையுடன் இணக்கமாக இல்லை என்று கூறுகிறது, ஆனால் இது எல். எல். வி. எம் உருவாக்கிய கோப்புகளுடனும் வேலை செய்கிறது. விளக்கம் ஜி. சி. ஓ. வி ஒரு சிறப்பு கருவி நிரலின் சோதனை பாதுகாப்பு பகுப்பாய்வை உருவாக்குகிறது. கவரேஜ் பகுப்பாய்விற்காக நிரலைத் தொகுக்க விருப்பங்கள்-சுயவிவர-ஆர்க்ஸ்-ஃபெடெஸ்ட்-கவரேஜ் பயன்படுத்தப்பட வேண்டும் (கிளை புள்ளிவிவரங்களைப் பதிவு செய்வதற்கான முதல் விருப்பம் மற்றும் வரி செயலாக்க எண்ணிக்கையை சேமிக்க இரண்டாவது விருப்பம்);-சுயவிவர-ஆர்க்ஸ் நிரலை இணைக்க பயன்படுத்தப்பட வேண்டும். அத்தகைய நிரலை இயக்கிய பிறகு ". bb". "bbg" மற்றும் ". ta" நீட்டிப்புகள் (பின்னொட்டு) கொண்ட பல கோப்புகளை உருவாக்கும், அவை gcov ஆல் பகுப்பாய்வு செய்யப்படலாம். இது மூல கோப்புகளை கட்டளை வரி வாதங்களாக எடுத்து ஒரு சிறுகுறிப்பு மூல பட்டியலை உருவாக்குகிறது. மூலக் குறியீட்டின் ஒவ்வொரு வரியும் அது எத்தனை முறை செயல்படுத்தப்பட்டது என்பதைக் கொண்டு முன்னொட்டு வைக்கப்படுகிறது; செயல்படுத்தப்படாத கோடுகள் "#####" உடன் முன்னொட்டு வைக்கப்படுகின்றன. gcov sourcefile.gcov என்று அழைக்கப்படும் ஒரு பதிவுக் கோப்பை உருவாக்குகிறது, இது ஒரு மூலக் கோப்பின் ஒவ்வொரு வரியும் sourcefile.c எத்தனை முறை செயல்படுத்தப்பட்டுள்ளது என்பதைக் குறிக்கிறது. நிரலைப் பற்றிய நேரத் தகவல்களைப் பிரித்தெடுக்க, இந்த சிறுகுறிப்பு மூலக் கோப்பை மற்றொரு விவரக்குறிப்பு கருவியான ஜிஃப்ரோஃப் உடன் பயன்படுத்தலாம். எடுத்துக்காட்டு C இல் எழுதப்பட்ட பின்வரும் நிரல், 1 முதல் 9 வரையிலான முழு எண்களின் மீது சுழல்கிறது மற்றும் மாடுலஸ் (%) ஆபரேட்டருடன் அவற்றின் வகுத்தல் தன்மையை சோதிக்கிறது. #include <stdio.h> int மெய்ன் (வெற்றிடமானது) {int i; for (i = 1; i <10; i + +) {(i% 3 = = 0) பிரிண்ட்எஃப் ("% d என்பது 3\n ஆல் வகுக்கப்படுகிறது", i); (i% 11 = = 0) பிரிண்ட்எஃப் ("% d என்பது 11\n ஆல் வகுக்கப்படுகிறது", i);} ரிட்டர்ன் 0;} கவரேஜ் சோதனையை செயல்படுத்த நிரல் பின்வரும் விருப்பங்களுடன் தொகுக்கப்பட வேண்டும்ஃ $ஜிசிசி-வால்-ஃப்ரோஃபைல்-ஆர்க்ஸ்-ஃபெஸ்ட்-கவரேஜ் cov.c அங்கு cov.c என்பது நிரல் கோப்பின் பெயர். நிரலின் ஒவ்வொரு வரியும் எத்தனை முறை செயல்படுத்தப்படுகிறது என்பதைப் பதிவுசெய்யும் கூடுதல் அறிவுறுத்தல்களைக் கொண்ட ஒரு கருவியை இது உருவாக்குகிறது. இந்த விருப்பம் தனிப்பட்ட கோடுகள் எத்தனை முறை செயல்படுத்தப்படுகின்றன என்பதைக் கணக்கிடுவதற்கான வழிமுறைகளைச் சேர்க்கிறது, அதே நேரத்தில் திட்டத்தின் ஒவ்வொரு கிளைக்கும் கருவிக் குறியீட்டை உள்ளடக்கியது. 'என்றால்' அறிக்கைகள் மற்றும் பிற நிபந்தனைகள் மூலம் வெவ்வேறு பாதைகள் எவ்வளவு அடிக்கடி எடுக்கப்படுகின்றன என்பதை கிளை கருவி பதிவு செய்கிறது. குறியீட்டை பகுப்பாய்வு செய்வதற்கும் கவரேஜ் தரவை உருவாக்குவதற்கும் செயல்படுத்தக்கூடியதை இயக்கலாம். $./a. out ஓட்டத்திலிருந்து தரவு தற்போதைய கோப்பகத்தில் முறையே '. bb' '. bbg' மற்றும் '. ta' நீட்டிப்புகளுடன் பல கவரேஜ் தரவு கோப்புகளுக்கு எழுதப்படுகிறது. உள்ளீட்டு அளவுருக்கள் அல்லது தரவுகளின் அடிப்படையில் நிரல் செயல்படுத்தல் மாறுபடும் என்றால், அது பல முறை இயக்கப்படலாம் மற்றும் ஒட்டுமொத்த பகுப்பாய்விற்காக கவரேஜ் தரவு கோப்புகளில் முடிவுகள் குவியும். இந்த தரவை gcov கட்டளை மற்றும் ஒரு மூலக் கோப்பின் பெயரைப் பயன்படுத்தி பகுப்பாய்வு செய்யலாம்ஃ $gcov cov.c 88.89 கோப்பில் செயல்படுத்தப்பட்ட 9 மூல வரிகளில்% cov.c உருவாக்கம் cov.c.gcov gcov கட்டளை அசல் மூலக் கோப்பின் ஒரு சிறுகுறிப்பு பதிப்பை உருவாக்குகிறது, கோப்பு நீட்டிப்புடன் '. gcov', ஒவ்வொரு வரியும் எத்தனை முறை செயல்படுத்தப்பட்டது என்பதற்கான எண்ணிக்கையைக் கொண்டுள்ளதுஃ #include <stdio.h> int பிரதான (வெற்றிடமானது) {1 int i; 10 க்கு (i = 1; i <10; i + +) {9 என்றால் (i% 3 = = 0) 3 அச்சிடு ("% d 3", i "ஆல் வகுக்கப்படுகிறது); 9 செயல்படுத்தப்படாத கோடுகள் '######' என்ற ஹாஷ்களால் குறிக்கப்படுகின்றன. கட்டளை-வரி விருப்பங்கள் Gcov கட்டளை வரி பயன்பாடு சுயவிவரத் தரவுகளிலிருந்து சிறுகுறிப்பு கோப்புகளை உருவாக்கும் போது பின்வரும் விருப்பங்களை ஆதரிக்கிறதுஃ-h (-- உதவி): gcov ஐப் பயன்படுத்துவது பற்றிய உதவியைக் காண்பி (நிலையான வெளியீட்டில்), மேலும் எந்த செயலாக்கமும் செய்யாமல் வெளியேறவும். - v (-- பதிப்பு): gcov பதிப்பு எண்ணைக் காட்டுங்கள் (நிலையான வெளியீட்டில்), மேலும் எந்த செயலாக்கமும் செய்யாமல் வெளியேறுங்கள். - a (-- அனைத்து தொகுதிகளும்): ஒவ்வொரு அடிப்படை தொகுதிக்கும் தனிப்பட்ட செயலாக்க எண்ணிக்கையை எழுதுங்கள். பொதுவாக ஜி. சி. ஓ. வி வெளியீடுகள் ஒரு வரியின் முக்கிய தொகுதிகளுக்கு மட்டுமே கணக்கிடப்படுகின்றன. இந்த விருப்பத்தின் மூலம் ஒரு வரியில் உள்ள தொகுதிகள் செயல்படுத்தப்படவில்லையா என்பதை நீங்கள் தீர்மானிக்க முடியும். - b (-- கிளை-சாத்தியக்கூறுகள்): வெளியீட்டு கோப்பில் கிளை அதிர்வெண்களை எழுதுங்கள், மேலும் நிலையான வெளியீட்டிற்கு கிளை சுருக்க தகவல்களை எழுதுங்கள். உங்கள் திட்டத்தின் ஒவ்வொரு கிளையும் எவ்வளவு அடிக்கடி எடுக்கப்பட்டது என்பதைப் பார்க்க இந்த விருப்பம் உங்களை அனுமதிக்கிறது. - u விருப்பம் கொடுக்கப்படாவிட்டால் நிபந்தனையற்ற கிளைகள் காட்டப்படாது. - c (-- கிளை-எண்ணிக்கைகள்): கிளை அதிர்வெண்களை எடுக்கப்பட்ட கிளைகளின் சதவீதத்தை விட எடுக்கப்பட்ட கிளைகளின் எண்ணிக்கையாக எழுதுங்கள். - n (-- இல்லை-வெளியீடு): gcov வெளியீட்டு கோப்பை உருவாக்க வேண்டாம். - l (-- நீண்ட-கோப்பு-பெயர்கள்): சேர்க்கப்பட்ட மூல கோப்புகளுக்கான நீண்ட கோப்பு பெயர்களை உருவாக்கவும். எடுத்துக்காட்டாக, தலைப்பு கோப்பு x. h குறியீட்டைக் கொண்டிருந்தால், அது a. c கோப்பில் சேர்க்கப்பட்டிருந்தால், a. c கோப்பில் gcov ஐ இயக்குவது x.h.gcov க்கு பதிலாக a.c##x.h.gcov என்ற வெளியீட்டு கோப்பை உருவாக்கும். x. h பல மூலக் கோப்புகளில் சேர்க்கப்பட்டிருந்தால், தனிப்பட்ட பங்களிப்புகளை நீங்கள் பார்க்க விரும்பினால் இது பயனுள்ளதாக இருக்கும். நீங்கள் '-p' விருப்பத்தைப் பயன்படுத்தினால், சேர்க்கப்பட்ட மற்றும் சேர்க்கப்பட்ட கோப்பு பெயர்கள் இரண்டும் முழுமையான பாதை பெயர்களாக இருக்கும். - p (-- பாதுகாக்கும்-பாதைகள்): உருவாக்கப்பட்ட. gcov கோப்புகளின் பெயர்களில் முழுமையான பாதைத் தகவல்களைப் பாதுகாக்கவும். இந்த விருப்பம் இல்லாமல், கோப்பு பெயர் கூறு மட்டுமே பயன்படுத்தப்படுகிறது. இந்த விருப்பத்தின் மூலம், அனைத்து அடைவுகளும் பயன்படுத்தப்படுகின்றன, '/' எழுத்துக்கள் '#' எழுத்துக்களுக்கு மொழிபெயர்க்கப்பட்டுள்ளன. அடைவு கூறுகள் அகற்றப்பட்டு அகற்ற முடியாதவை. கூறுகள் '^' என மறுபெயரிடப்பட்டன. மூல கோப்புகள் பல்வேறு கோப்பகங்களில் இருந்தால் இது பயனுள்ளதாக இருக்கும். - r (-- உறவினர்-மட்டும்): உறவினர் பாதை பெயருடன் மூலக் கோப்புகளைப் பற்றிய வெளியீட்டு தகவல் மட்டுமே (மூல முன்னொட்டு நீக்கத்திற்குப் பிறகு). முழுமையான பாதைகள் பொதுவாக கணினி தலைப்பு கோப்புகள் மற்றும் அதில் உள்ள எந்த இன்லைன் செயல்பாடுகளின் கவரேஜ் பொதுவாக ஆர்வமற்றது. - f (-- செயல்பாட்டு-சுருக்கங்கள்): கோப்பு நிலை சுருக்கத்திற்கு கூடுதலாக ஒவ்வொரு செயல்பாட்டிற்கும் வெளியீட்டு சுருக்கங்கள். - o directory|file (-- பொருள்-அடைவு அல்லது-- பொருள்-கோப்பு கோப்பு): gcov தரவு கோப்புகளைக் கொண்ட அடைவை அல்லது பொருள் பாதை பெயரைக் குறிப்பிடவும். இந்த விருப்பத்தைப் பயன்படுத்தி. gcno மற்றும். gcda தரவுக் கோப்புகள் தேடப்படுகின்றன. ஒரு அடைவு குறிப்பிடப்பட்டிருந்தால், தரவு கோப்புகள் அந்த கோப்பகத்தில் உள்ளன மற்றும் அதன் நீட்டிப்பு இல்லாமல் உள்ளீட்டு கோப்பு பெயரின் பெயரால் பெயரிடப்பட்டுள்ளன. ஒரு கோப்பு இங்கே குறிப்பிடப்பட்டிருந்தால், தரவுக் கோப்புகள் அதன் நீட்டிப்பு இல்லாமல், அந்த கோப்பின் பெயரால் பெயரிடப்படுகின்றன. - s அடைவு (-- மூல-முன்னொட்டு அடைவு): வெளியீட்டு கவரேஜ் கோப்புகளை உருவாக்கும் போது அகற்ற வேண்டிய மூல கோப்பு பெயர்களுக்கான முன்னொட்டு. ஒரு தனி கோப்பகத்தில் கட்டமைக்கும்போது இந்த விருப்பம் பயனுள்ளதாக இருக்கும், மேலும் வெளியீட்டு கோப்பு பெயர்களை தீர்மானிக்கும் போது மூல கோப்பகத்தின் பாதை பெயர் தேவையில்லை. மூலக் கோப்பு முழுமையானதா என்பதைத் தீர்மானிப்பதற்கு முன்பு இந்த முன்னொட்டு கண்டறிதல் பயன்படுத்தப்படுகிறது என்பதை நினைவில் கொள்க. - u (-- நிபந்தனையற்ற-கிளைகள்): கிளை சாத்தியக்கூறுகள் கொடுக்கப்படும்போது, நிபந்தனையற்ற கிளைகளை சேர்க்கவும். நிபந்தனையற்ற கிளைகள் பொதுவாக சுவாரஸ்யமானவை அல்ல. - d (-- காட்சி-முன்னேற்றம்): நிலையான வெளியீட்டில் முன்னேற்றத்தைக் காட்டு. கவரேஜ் சுருக்கங்கள் Lcov என்பது gcov க்கான வரைகலை முன் முனை ஆகும். இது பல மூல கோப்புகளுக்கான ஜி. சி. ஓ. வி தரவைச் சேகரித்து, கவரேஜ் தகவல்களுடன் சிறுகுறிப்பு செய்யப்பட்ட மூலக் குறியீட்டைக் கொண்ட எச். டி. எம். எல் பக்கங்களை உருவாக்குகிறது. இது கோப்பு கட்டமைப்பிற்குள் எளிதாக வழிசெலுத்துவதற்காக கண்ணோட்ட பக்கங்களையும் சேர்க்கிறது. Lcov அறிக்கை, செயல்பாடு மற்றும் கிளை கவரேஜ் அளவீட்டை ஆதரிக்கிறது. விண்டோஸ் பதிப்பும் உள்ளது. Gcovr என்பது Gcov இன் பயன்பாட்டை நிர்வகிப்பதற்கும் சுருக்கமான குறியீடு பாதுகாப்பு முடிவுகளை உருவாக்குவதற்கும் ஒரு பயன்பாட்டை வழங்குகிறது. இந்த கட்டளை பைதான் coverage.py தொகுப்பால் ஈர்க்கப்பட்டுள்ளது, இது பைத்தானில் இதே போன்ற பயன்பாட்டை வழங்குகிறது. Gcovr சுருக்கமான மனிதனால் படிக்கக்கூடிய சுருக்க அறிக்கைகள், இயந்திரத்தால் படிக்கக்கூடிய எக்ஸ்எம்எல் அறிக்கைகள் அல்லது வரைகலை எச். டி. எம். எல் சுருக்கத்தை உருவாக்குகிறது. gcovr ஆல் உருவாக்கப்பட்ட XML அறிக்கைகள் வரைகலை குறியீடு கவரேஜ் சுருக்கங்களை வழங்க ஜென்கின்ஸால் பயன்படுத்தப்படலாம். Gcovr அறிக்கை மற்றும் கிளை கவரேஜ் அளவீட்டை ஆதரிக்கிறது SCov என்பது குறியீடு கவரேஜ் குறித்த அறிக்கைகளை உருவாக்க gcov ஆல் உருவாக்கப்பட்ட இடைநிலை உரை வடிவமைப்பை (gcov-i ஐப் பயன்படுத்தி) செயலாக்கும் ஒரு பயன்பாடாகும். இந்த அறிக்கைகள் ஒரு எளிய உரை அறிக்கையாகவோ அல்லது மேலும் விரிவான அறிக்கைகளுடன் கூடிய எச். டி. எம். எல் பக்கங்களாகவோ இருக்கலாம். சன் ஸ்டுடியோ சூட் குறிப்புகள் மென்பொருள் அளவீடுகள் மென்பொருள் சோதனைக் கருவிகளில் வழங்கப்பட்ட சோலாரிஸுக்கான குறியீடு கவரேஜ் கருவியான Tcov ஐயும் பார்க்கவும்.