انگلیسیفرانسویآلمانیایتالیاییپرتغالیسكس با دختر روسیاسپانیایی

فاویکون OnWorks

mips64-linux-gnuabi64-gcov - آنلاین در ابر

mips64-linux-gnuabi64-gcov را در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا کنید.

این فرمان mips64-linux-gnuabi64-gcov است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


gcov - ابزار تست پوشش

خلاصه


gcov [-v|- نسخه] [-h|--کمک]
[-a|-- همه بلوک ها]
[-b|--شاخه-احتمالات]
[-c|--شاخه-شمارش]
[-d|--نمایش-پیشرفت]
[-f|--عملکرد-خلاصه]
[-i|- فرمت متوسط]
[-l|- نام های طولانی فایل]
[-m|- نام‌های متلاشی‌شده]
[-n|--بدون خروجی]
[-o|---object-directory دایرکتوری|فایل]
[-p|- مسیرهای حفاظتی]
[-r|--فقط نسبی]
[-s|-- منبع-پیشوند فهرست راهنما]
[-u|--بدون قید و شرط-شاخه ها]
فایل ها

شرح


gcov یک برنامه پوشش تست است. از آن در هماهنگی با GCC برای تجزیه و تحلیل برنامه های خود استفاده کنید
به ایجاد کدهای کارآمدتر و سریع‌تر در حال اجرا و کشف بخش‌های تست نشده از خود کمک کنید
برنامه شما می توانید استفاده کنید gcov به عنوان یک ابزار پروفایل برای کمک به کشف محل بهینه سازی شما
تلاش ها به بهترین شکل روی کد شما تأثیر می گذارد. همچنین می توانید استفاده کنید gcov همراه با پروفایل های دیگر
ابزار، gprof، برای ارزیابی اینکه کدام بخش از کد شما بیشترین مقدار زمان محاسباتی را مصرف می کند.

ابزارهای پروفایل به شما کمک می کنند تا عملکرد کد خود را تجزیه و تحلیل کنید. استفاده از پروفایلر مانند gcov
or gprof، می توانید برخی از آمارهای عملکرد پایه را پیدا کنید، مانند:

* هر خط کد چند بار اجرا می شود

* چه خطوطی از کد در واقع اجرا می شوند

* زمان محاسبه هر بخش از کد چقدر است

هنگامی که این موارد را در مورد نحوه عملکرد کد خود در هنگام کامپایل دانستید، می توانید به هر یک نگاه کنید
ماژول برای دیدن اینکه کدام ماژول ها باید بهینه شوند. gcov به شما کمک می کند تا تعیین کنید کجا کار کنید
در مورد بهینه سازی

توسعه دهندگان نرم افزار همچنین برای اطمینان از تست پوشش در هماهنگی با مجموعه های آزمایشی استفاده می کنند
نرم افزار در واقع به اندازه کافی برای انتشار خوب است. Testsuites می تواند آن برنامه را تأیید کند
مطابق انتظار عمل می کند؛ یک برنامه پوششی آزمایش می کند تا ببیند چه مقدار از برنامه توسط برنامه اجرا شده است
مجموعه آزمایشی سپس توسعه دهندگان می توانند تعیین کنند که چه نوع موارد آزمایشی باید به آن اضافه شود
مجموعه آزمایشی برای ایجاد تست بهتر و محصول نهایی بهتر.

اگر قصد استفاده از آن را دارید، باید کد خود را بدون بهینه سازی کامپایل کنید gcov به این دلیل که
بهینه سازی، با ترکیب برخی از خطوط کد در یک تابع، ممکن است به اندازه کافی به شما ندهد
اطلاعاتی که باید به دنبال «نقاط داغ» بگردید که در آن کد از مقدار زیادی از کد استفاده می کند
زمان کامپیوتر به همین ترتیب، زیرا gcov آمار را به خط (در کمترین مقدار) جمع می کند
وضوح)، با یک سبک برنامه نویسی که فقط یک عبارت را روی هر کدام قرار می دهد، بهترین کار را دارد
خط اگر از ماکروهای پیچیده استفاده می کنید که به حلقه ها یا سایر ساختارهای کنترلی گسترش می یابند،
آمار کمتر مفید است --- آنها فقط در خطی که در آن تماس ماکرو است گزارش می دهند
ظاهر می شود. اگر ماکروهای پیچیده شما مانند توابع عمل می کنند، می توانید آنها را با درون خطی جایگزین کنید
توابع برای حل این مشکل.

gcov یک logfile به نام ایجاد می کند sourcefile.gcov که نشان می دهد هر خط چند بار از
یک فایل منبع sourcefile.c اجرا کرده است. می توانید از این لاگ فایل ها به همراه استفاده کنید gprof به
به تنظیم دقیق عملکرد برنامه های شما کمک می کند. gprof اطلاعات زمان بندی را به شما می دهد
می توانید به همراه اطلاعاتی که از آنها دریافت می کنید استفاده کنید gcov.

gcov فقط روی کد کامپایل شده با GCC کار می کند. با هیچ پروفایل دیگری سازگار نیست
یا مکانیزم پوشش تست.

OPTIONS


-h
--کمک
نمایش راهنمایی در مورد استفاده gcov (در خروجی استاندارد)، و بدون انجام هیچ کاری خارج شوید
پردازش بیشتر.

-v
- نسخه
نمایش gcov شماره نسخه (در خروجی استاندارد)، و بدون انجام هیچ کاری خارج شوید
پردازش بیشتر.

-a
-- همه بلوک ها
برای هر بلوک اصلی تعداد اجراهای جداگانه بنویسید. به طور معمول gcov خروجی می دهد
اجرا فقط برای بلوک های اصلی یک خط حساب می شود. با این گزینه می توانید
تعیین کنید که آیا بلوک های داخل یک خط اجرا نمی شوند یا خیر.

-b
--شاخه-احتمالات
فرکانس های شاخه را در فایل خروجی بنویسید و خلاصه اطلاعات شاخه را در آن بنویسید
خروجی استاندارد این گزینه به شما این امکان را می دهد که ببینید هر شاخه در برنامه شما چند بار است
گرفته شد. شاخه های بدون قید و شرط نشان داده نمی شوند، مگر اینکه -u گزینه داده شده است.

-c
--شاخه-شمارش
فرکانس های انشعاب را به عنوان تعداد شاخه های گرفته شده بنویسید نه درصد
از شاخه های گرفته شده

-n
--بدون خروجی
را ایجاد نکنید gcov فایل خروجی.

-l
- نام های طولانی فایل
نام فایل های طولانی را برای فایل های منبع گنجانده شده ایجاد کنید. به عنوان مثال، اگر فایل هدر xh
حاوی کد است و در فایل گنجانده شده است ac، سپس در حال اجرا gcov روی فایل ac
یک فایل خروجی به نام تولید می کند ac##xhgcov بجای xhgcov. این میتواند باشد
مفید اگر xh در چندین فایل منبع گنجانده شده است و می خواهید فرد مورد نظر را ببینید
مشارکت ها اگر از -p گزینه، هر دو شامل و شامل نام فایل
نام مسیرهای کامل خواهد بود.

-p
- مسیرهای حفاظتی
اطلاعات کامل مسیر را در نام های تولید شده حفظ کنید .gcov فایل ها. بدون
این گزینه فقط از کامپوننت نام فایل استفاده می شود. با این گزینه همه دایرکتوری ها
استفاده می شوند، با / شخصیت های ترجمه شده به # شخصیت ها، . اجزای دایرکتوری حذف شدند
و غیر قابل جابجایی .. اجزای تغییر نام به ^. اگر فایل های منبع در داخل باشند، این کار مفید است
چندین دایرکتوری مختلف

-r
--فقط نسبی
فقط اطلاعات مربوط به فایل های منبع را با نام مسیر نسبی (پس از منبع
پیشوند elision). مسیرهای مطلق معمولاً فایل های هدر سیستم و پوشش هر کدام هستند
توابع درون خطی در آن معمولاً جالب نیستند.

-f
--عملکرد-خلاصه
خلاصه خروجی برای هر تابع علاوه بر خلاصه سطح فایل.

-o دایرکتوری|فایل
---object-directory فهرست راهنما
--object-file پرونده
دایرکتوری حاوی فایل های داده gcov یا نام مسیر شی را مشخص کنید.
La .gcnoو gcda فایل های داده با استفاده از این گزینه جستجو می شوند. اگر دایرکتوری باشد
مشخص شده است، فایل های داده در آن دایرکتوری هستند و با نام فایل ورودی نامگذاری شده اند،
بدون تمدید آن اگر فایلی در اینجا مشخص شده باشد، فایل های داده به نام نامگذاری می شوند
آن فایل، بدون پسوند آن.

-s فهرست راهنما
-- منبع-پیشوند فهرست راهنما
پیشوندی برای نام فایل های منبع برای حذف هنگام تولید فایل های پوشش خروجی.
این گزینه در هنگام ساختن در یک دایرکتوری جداگانه و نام مسیر به مفید است
هنگام تعیین نام فایل های خروجی، دایرکتوری منبع مورد نظر نیست. توجه داشته باشید که این
تشخیص پیشوند قبل از تعیین مطلق بودن فایل منبع اعمال می شود.

-u
--بدون قید و شرط-شاخه ها
هنگامی که احتمالات شاخه داده می شود، احتمالات شاخه های بدون قید و شرط را نیز شامل شود.
شاخه های بدون قید و شرط معمولاً جالب نیستند.

-d
--نمایش-پیشرفت
نمایش پیشرفت در خروجی استاندارد.

-i
- فرمت متوسط
خروجی فایل gcov در قالب متنی میانی که به راحتی قابل تجزیه است که می تواند توسط lcov
یا ابزارهای دیگر خروجی تک است .gcov فایل در gcda فایل. هیچ کد منبعی وجود ندارد
مورد نیاز است.

قالب میانی .gcov فایل متنی ساده با یک ورودی در هر خط است

فایل:
عملکرد: ، ،
lcount: ،
شاخه: ،

جایی که است
notexec (شاخه اجرا نشد)
گرفته شده (شعبه اجرا و گرفته شده)
گرفته نشده (شعبه اجرا شد، اما گرفته نشد)

می تواند چندگانه باشد ورودی های یک gcov متوسط
فایل. تمام ورودی های زیر a مربوط به آن فایل منبع است
تا بعدی ورود

در اینجا یک نمونه زمانی است -i همراه با استفاده می شود -b گزینه:

file:array.cc
تابع:11,1،3،_Z6sumRKSt0vectorIPiSaISXNUMX_EE
تابع: 22,1،XNUMX، اصلی
lcount: 11,1
lcount: 12,1
lcount: 14,1
شاخه: 14، گرفته شده
lcount: 26,1
شاخه: 28، نگرفته

-m
- نام‌های متلاشی‌شده
نمایش نام تابع جدا شده در خروجی. پیش فرض این است که عملکرد مخدوش را نشان دهد
نامها

gcov باید با دایرکتوری فعلی اجرا شود، همان چیزی که در هنگام فراخوانی دایرکتوری
کامپایلر در غیر این صورت نمی تواند فایل های منبع را پیدا کند. gcov فایل ها را تولید می کند
نام mangledname.gcov در دایرکتوری فعلی اینها حاوی اطلاعات پوشش هستند
فایل منبعی که با آن مطابقت دارند. یکی .gcov فایل برای هر منبع (یا
هدر) فایل حاوی کد، که برای تولید فایل های داده کامپایل شده است. در
نام مخدوش بخشی از نام فایل خروجی معمولاً به سادگی نام فایل منبع است، اما می تواند
چیزی پیچیده تر است اگر -l or -p گزینه ها داده شده است. به آن گزینه ها مراجعه کنید
برای جزئیات بیشتر.

اگر استناد کنید gcov با فایل های ورودی متعدد، مشارکت های هر فایل ورودی هستند
خلاصه شد. معمولاً شما آن را با همان لیستی از فایل‌ها به عنوان پیوند نهایی فراخوانی می‌کنید
فایل اجرایی شما

La .gcov فایل ها حاوی : فیلدهای جدا شده به همراه کد منبع برنامه قالب
is

: :

هنگامی که گزینه خط فرمان درخواست شود، اطلاعات بلوک اضافی ممکن است در هر خط موفق شود.
La execution_count is - برای خطوطی که کد ندارند خطوط اجرا نشده علامت گذاری شده اند #####
or ====بسته به اینکه آیا آنها از طریق مسیرهای غیر استثنایی قابل دسترسی هستند یا فقط
مسیرهای استثنایی مانند کنترل کننده های استثنای C++ به ترتیب.

برخی از خطوط اطلاعات در شروع شماره خط از صفر این خطوط مقدمه هستند
از فرم

-:0: :

ترتیب و تعداد این خطوط مقدمه به صورت اضافه می شود gcov توسعه
پیشرفت می کند --- به ثابت ماندن آنها تکیه نکنید. استفاده کنید برچسب برای یافتن یک مکان خاص
خط مقدمه

اطلاعات بلوک اضافی از این شکل است



La اطلاعات برای انسان قابل خواندن است، اما برای تجزیه ماشینی به اندازه کافی ساده طراحی شده است
بیش از حد.

هنگام چاپ درصد، 0٪ و 100٪ فقط زمانی چاپ می شوند که مقادیر باشند کاملا 0٪ و
100% به ترتیب. مقادیر دیگری که معمولاً به 0٪ یا 100٪ گرد می شوند، هستند
در عوض به عنوان نزدیکترین مقدار غیر مرزی چاپ می شود.

هنگام استفاده از gcov، ابتدا باید برنامه خود را با دو گزینه ویژه GCC کامپایل کنید:
-fprofile-arcs -آزمایش-پوشش. این به کامپایلر می گوید که اضافی تولید کند
اطلاعات مورد نیاز gcov (در اصل یک نمودار جریان برنامه) و همچنین شامل
کد اضافی در فایل های شی برای تولید اطلاعات پروفایل اضافی مورد نیاز
توسط gcov. این فایل های اضافی در دایرکتوری که فایل شی در آن قرار دارد قرار می گیرند
واقع شده است.

اجرای برنامه باعث تولید خروجی پروفایل می شود. برای هر فایل منبع
تدوین شده با -fprofile-arcs، همراه است gcda فایل در فایل شی قرار می گیرد
دایرکتوری.

در حال اجرا gcov با نام فایل منبع برنامه شما به عنوان آرگومان، اکنون یک لیست تولید می شود
کد به همراه فرکانس اجرا برای هر خط. به عنوان مثال، اگر برنامه شما
نامیده میشود tmp.c، این همان چیزی است که هنگام استفاده از پایه می بینید gcov امکانات:

$ gcc -fprofile-arcs -ftest-coverage tmp.c
$ a.out
$ gcov tmp.c
90.00٪ از 10 خط منبع اجرا شده در فایل tmp.c
ایجاد tmp.c.gcov.

پرونده tmp.c.gcov شامل خروجی از gcov. در اینجا یک نمونه است:

-: 0:منبع:tmp.c
-: 0: Graph:tmp.gcno
-: 0:داده:tmp.gcda
-: 0: اجرا: 1
-: 0:برنامه ها:1
-: 1: #شامل
-: 2:
-: 3:int main (void)
1:4:{
1: 5: int i، مجموع;
-: 6:
1: 7: کل = 0;
-: 8:
11: 9: برای (i = 0؛ i < 10؛ i++)
10: 10: مجموع += i;
-: 11:
1: 12: اگر (مجموع != 45)
#####: 13: printf ("شکست\n");
-: 14: دیگر
1: 15: printf ("موفقیت\n")؛
1: 16: بازگشت 0;
-: 17:}

هنگامی که شما استفاده می کنید -a گزینه، تعداد بلوک های فردی را دریافت خواهید کرد و خروجی به نظر می رسد
مثل این:

-: 0:منبع:tmp.c
-: 0: Graph:tmp.gcno
-: 0:داده:tmp.gcda
-: 0: اجرا: 1
-: 0:برنامه ها:1
-: 1: #شامل
-: 2:
-: 3:int main (void)
1:4:{
1: 4 بلوک 0
1: 5: int i، مجموع;
-: 6:
1: 7: کل = 0;
-: 8:
11: 9: برای (i = 0؛ i < 10؛ i++)
11: 9 بلوک 0
10: 10: مجموع += i;
10: 10 بلوک 0
-: 11:
1: 12: اگر (مجموع != 45)
1: 12 بلوک 0
#####: 13: printf ("شکست\n");
$$$$$: 13 بلوک 0
-: 14: دیگر
1: 15: printf ("موفقیت\n")؛
1: 15 بلوک 0
1: 16: بازگشت 0;
1: 16 بلوک 0
-: 17:}

در این حالت، هر بلوک اصلی فقط در یک خط نشان داده می شود - آخرین خط بلوک. آ
بلوک چند خطی فقط به تعداد اجرای آن خط آخر کمک می کند و موارد دیگر
خطوط حاوی کد نشان داده نمی شوند، مگر اینکه بلوک های قبلی به آن خطوط ختم شوند. در
تعداد کل اجرای یک خط نشان داده شده است و خطوط بعدی تعداد اجراها را نشان می دهد.
برای بلوک های فردی که به آن خط ختم می شود. پس از هر بلوک، شعبه و تماس شمارش می شود
از بلوک نشان داده خواهد شد، اگر -b گزینه داده شده است.

به دلیل نحوه تماس ابزارهای GCC، شمارش تماس را می توان بعد از یک خط با شماره نشان داد
بلوک های فردی همانطور که می بینید، خط 13 شامل یک بلوک اصلی است که اجرا نشده است.

هنگامی که شما استفاده می کنید -b گزینه، خروجی شما به این صورت است:

$ gcov -b tmp.c
90.00٪ از 10 خط منبع اجرا شده در فایل tmp.c
80.00% از 5 شاخه اجرا شده در فایل tmp.c
80.00٪ از 5 شاخه حداقل یک بار در فایل tmp.c گرفته شده است
50.00٪ از 2 تماس اجرا شده در فایل tmp.c
ایجاد tmp.c.gcov.

در اینجا یک نمونه از نتیجه است tmp.c.gcov فایل:

-: 0:منبع:tmp.c
-: 0: Graph:tmp.gcno
-: 0:داده:tmp.gcda
-: 0: اجرا: 1
-: 0:برنامه ها:1
-: 1: #شامل
-: 2:
-: 3:int main (void)
تابع main به نام 1 بازگشت 1 بلوک 75% اجرا شد
1:4:{
1: 5: int i، مجموع;
-: 6:
1: 7: کل = 0;
-: 8:
11: 9: برای (i = 0؛ i < 10؛ i++)
شعبه 0 91% گرفته شد (سقوط)
شعبه 1 گرفته شده 9%
10: 10: مجموع += i;
-: 11:
1: 12: اگر (مجموع != 45)
شعبه 0 0% گرفته شد (سقوط)
شعبه 1 گرفته شده 100%
#####: 13: printf ("شکست\n");
تماس 0 هرگز اجرا نشد
-: 14: دیگر
1: 15: printf ("موفقیت\n")؛
تماس 0 با 1 100% برگشت داده شد
1: 16: بازگشت 0;
-: 17:}

برای هر تابع، یک خط چاپ می شود که نشان می دهد چند بار تابع، چگونه فراخوانی شده است
چند بار برمی گردد و چند درصد از بلوک های تابع اجرا شده است.

برای هر بلوک اصلی، یک خط بعد از آخرین خط توصیف بلوک اصلی چاپ می شود
شاخه یا فراخوانی که به بلوک اصلی پایان می دهد. ممکن است چندین شعبه و تماس وجود داشته باشد
اگر چندین بلوک اصلی وجود داشته باشد که به آن خط ختم می شود، برای یک خط منبع منفرد فهرست می شود.
در این حالت به شعب و تماس ها هر کدام یک شماره داده می شود. هیچ راه ساده ای وجود ندارد
این شاخه ها و فراخوانی ها را به ساختارهای منبع ترسیم کنید. به طور کلی، هر چند، کمترین
شاخه یا فراخوان شماره گذاری شده با ساختار سمت چپ خط منبع مطابقت دارد.

برای یک شاخه، اگر حداقل یک بار اجرا شده باشد، درصدی نشان دهنده تعداد آن است
تعداد دفعاتی که شعبه گرفته شده است تقسیم بر تعداد دفعاتی که شعبه اجرا شده است خواهد بود
چاپ شده. در غیر این صورت پیغام "هرگز اجرا نشد" چاپ می شود.

برای یک تماس، اگر حداقل یک بار اجرا شده باشد، درصدی نشان دهنده تعداد
تعداد تماس برگشتی تقسیم بر تعداد دفعات انجام تماس خواهد بود
چاپ شده. این معمولاً 100٪ خواهد بود، اما ممکن است برای توابعی که "خروج" یا فراخوانی می کنند کمتر باشد
"longjmp"، و بنابراین ممکن است هر بار که آنها فراخوانی می شوند برنگردند.

تعداد اعدام ها تجمعی هستند. اگر برنامه مثال دوباره بدون اجرا شد
از بین بردن gcda فایل، تعداد دفعاتی که هر خط در منبع بوده است
اجرا شده به نتایج اجرای قبلی اضافه می شود. این به طور بالقوه مفید است
از چند جهت برای مثال، می‌توان از آن برای جمع‌آوری داده‌ها بر روی تعدادی استفاده کرد
برنامه به عنوان بخشی از مجموعه تأیید آزمایشی یا برای ارائه طولانی مدت دقیق تر اجرا می شود
اطلاعات در مورد تعداد زیادی از اجراهای برنامه

داده ها در gcda فایل ها بلافاصله قبل از خروج برنامه ذخیره می شوند. برای هر
فایل منبع کامپایل شده با -fprofile-arcs، کد پروفایل ابتدا سعی می کند در یک بخواند
موجود gcda فایل؛ اگر فایل با فایل اجرایی مطابقت نداشته باشد (تعداد مختلف پایه
تعداد بلوک ها) محتویات فایل را نادیده می گیرد. سپس به اجرای جدید اضافه می کند
شمارش می کند و در نهایت داده ها را در فایل می نویسد.

با استفاده از gcov با GCC بهینه سازی

اگر قصد استفاده دارید gcov برای کمک به بهینه سازی کد خود، ابتدا باید برنامه خود را کامپایل کنید
با دو گزینه ویژه GCC: -fprofile-arcs -آزمایش-پوشش. جدا از آن، شما می توانید
از هر گزینه دیگر GCC استفاده کنید. اما اگر می خواهید ثابت کنید که تک تک خط های برنامه شما
اجرا شد، نباید همزمان با بهینه سازی کامپایل کنید. روی بعضی ماشین ها
بهینه ساز می تواند برخی از خطوط کد ساده را با ترکیب آنها با خطوط دیگر حذف کند.
به عنوان مثال، کدی مانند این:

اگر (a != b)
c = 1;
دیگر
c = 0;

را می توان در یک دستورالعمل در برخی از ماشین ها کامپایل کرد. در این مورد، هیچ راهی برای
gcov برای محاسبه تعداد اجراهای جداگانه برای هر خط، زیرا جداگانه وجود ندارد
کد برای هر خط از این رو gcov اگر برنامه را کامپایل کرده باشید، خروجی به این شکل است
با بهینه سازی:

100: 12:اگر (a != b)
100: 13: c = 1;
100: 14:دیگر
100: 15: c = 0;

خروجی نشان می دهد که این بلوک کد که با بهینه سازی ترکیب شده است، 100 بار اجرا شده است.
از یک جهت این نتیجه درست است، زیرا تنها یک دستورالعمل وجود داشت
تمام این چهار خط با این حال، خروجی نشان نمی دهد که چند برابر نتیجه است
0 بود و چند بار نتیجه 1 شد.

توابع Inlineable می توانند تعداد خطوط غیرمنتظره ایجاد کنند. تعداد خطوط برای نشان داده شده است
کد منبع تابع inlineable، اما آنچه نشان داده می‌شود بستگی به این دارد که تابع کجا باشد
خط کشی شده، یا اگر اصلا خط کشی نشده باشد.

اگر تابع درون خطی نباشد، کامپایلر باید یک کپی خارج از خط از تابع منتشر کند
تابع، در هر فایل شی که به آن نیاز دارد. اگر fileA.o و fileB.o هر دو شامل خارج از
بدنه های خطی از یک تابع خطی خاص، همچنین هر دو دارای پوشش هستند
برای آن تابع به حساب می آید. چه زمانی fileA.o و fileB.o به هم مرتبط هستند، پیوند دهنده خواهد شد،
در بسیاری از سیستم ها، یکی از بدنه های خارج از خط را برای همه فراخوانی های آن تابع انتخاب کنید،
و دیگری را حذف یا نادیده بگیرید. متأسفانه شمارنده های پوشش را حذف نمی کند
برای بدنه عملکردی استفاده نشده از این رو هنگام ابزار دقیق، همه به جز یک مورد از آن تابع استفاده می کنند
شمارش صفر را نشان خواهد داد.

اگر تابع در چندین مکان خطی باشد، ساختار بلوک در هر مکان ممکن است
یکسان نباشد به عنوان مثال، اکنون ممکن است یک شرط در زمان کامپایل قابل محاسبه باشد
برخی از موارد زیرا پوشش تمامی کاربردهای تابع inline نشان داده خواهد شد
برای خطوط منبع یکسان، شمارش خطوط ممکن است ناسازگار به نظر برسد.

برنامه های طولانی مدت می توانند از امکانات "_gcov_reset" و "_gcov_dump" برای
مجموعه پروفایل را به منطقه برنامه مورد علاقه محدود کنید. فراخوانی "_gcov_reset(void)"
تمام شمارنده های نمایه را صفر می کند و فراخوانی "_gcov_dump(void)" باعث
اطلاعات نمایه جمع آوری شده در آن نقطه برای ریختن به gcda فایل های خروجی

از mips64-linux-gnuabi64-gcov به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید


Ad


Ad

جدیدترین برنامه های آنلاین لینوکس و ویندوز