الانجليزيةالفرنسيةالألمانيّةالإيطاليةالبرتغاليّةالروسيةإسباني

OnWorks فافيكون

mips64el-linux-gnuabi64-gcov-5 - عبر الإنترنت في السحابة

قم بتشغيل mips64el-linux-gnuabi64-gcov-5 في مزود الاستضافة المجانية OnWorks عبر Ubuntu Online أو Fedora Online أو Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو الأمر mips64el-linux-gnuabi64-gcov-5 الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


gcov - أداة اختبار التغطية

موجز


gcov [-v|--الإصدار] [-h|--مساعدة]
[-a|- كل الكتل]
[-b|- احتمالات فرع]
[-c|- تهم الفرع]
[-d|- عرض التقدم]
[-f|- ملخصات الوظائف]
[-i|- تنسيق متوسط]
[-l|- أسماء الملفات الطويلة]
[-m|- الأسماء المشوهة]
[-n|- لا الإخراج]
[-o|- كائن- دليل دليل | ملف]
[-p|- مسارات حفظ]
[-r|- نسبي فقط]
[-s|- المصدر- بادئة دليل]
[-u|- الفروع غير المشروطة]
ملفات

وصف


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

تساعدك أدوات التنميط في تحليل أداء التعليمات البرمجية الخاصة بك. استخدام ملف تعريف مثل gcov
or gprof، يمكنك معرفة بعض إحصاءات الأداء الأساسية ، مثل:

* كم مرة يتم تنفيذ كل سطر من التعليمات البرمجية

* ما هي سطور التعليمات البرمجية التي يتم تنفيذها بالفعل

* مقدار الوقت الحوسبي الذي يستخدمه كل قسم من الكود

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

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

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

gcov ينشئ ملف سجل يسمى sourcefile.gcov مما يشير إلى عدد مرات كل سطر من
ملف المصدر ج نفذت. يمكنك استخدام ملفات السجلات هذه مع ملفات gprof إلى
تساعد في ضبط أداء برامجك. gprof يعطي معلومات التوقيت لك
يمكن استخدامها مع المعلومات التي تحصل عليها من gcov.

gcov يعمل فقط على الكود المترجم مع GCC. لا يتوافق مع أي تنميط آخر
أو آلية تغطية الاختبار.

OPTIONS


-h
--مساعدة
اعرض تعليمات حول استخدام ملفات gcov (على الإخراج القياسي) ، والخروج دون القيام بأي شيء
مزيد من المعالجة.

-v
--الإصدار
عرض gcov رقم الإصدار (على الإخراج القياسي) ، والخروج دون القيام بأي شيء
مزيد من المعالجة.

-a
- كل الكتل
اكتب حسابات التنفيذ الفردي لكل كتلة أساسية. نواتج gcov عادة
التنفيذ مهم فقط للكتل الرئيسية للخط. مع هذا الخيار يمكنك
تحديد ما إذا كانت الكتل داخل سطر واحد لا يتم تنفيذها.

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

-c
- تهم الفرع
اكتب تكرارات الفروع على أنها عدد الفروع المأخوذة بدلاً من النسبة المئوية
من الفروع المأخوذة.

-n
- لا الإخراج
لا تخلق gcov ملف إلاخراج.

-l
- أسماء الملفات الطويلة
قم بإنشاء أسماء ملفات طويلة لملفات المصدر المضمنة. على سبيل المثال ، إذا كان ملف الرأس xh
يحتوي على رمز ، وتم تضمينه في الملف أ، ثم الجري gcov في الملف أ
سينتج ملف إخراج يسمى أس ## xhgcov بدلا من xhgcov. هذا يمكن أن يكون
مفيد إذا xh مضمن في ملفات مصدر متعددة وتريد أن ترى الفرد
مساهمات. إذا كنت تستخدم ملف -p الخيار ، بما في ذلك وأسماء الملفات المدرجة
ستكون أسماء مسار كاملة.

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

-r
- نسبي فقط
فقط معلومات الإخراج حول الملفات المصدر ذات اسم المسار النسبي (بعد المصدر
إزالة البادئة). عادةً ما تكون المسارات المطلقة عبارة عن ملفات رأس النظام وتغطية أي منها
عادة ما تكون الوظائف المضمنة فيه غير مهمة.

-f
- ملخصات الوظائف
ملخصات الإخراج لكل وظيفة بالإضافة إلى ملخص مستوى الملف.

-o دليل | ملف
- كائن- دليل دليل
--ملف الكائن ملف
حدد إما الدليل الذي يحتوي على ملفات بيانات gcov ، أو اسم مسار الكائن.
أفضل .gcnoو .gcda يتم البحث عن ملفات البيانات باستخدام هذا الخيار. إذا كان الدليل هو
المحدد ، ملفات البيانات موجودة في هذا الدليل وسميت باسم ملف الإدخال ،
بدون امتداده. إذا تم تحديد ملف هنا ، فسيتم تسمية ملفات البيانات باسم
هذا الملف ، بدون امتداده.

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

-u
- الفروع غير المشروطة
عندما يتم إعطاء احتمالات الفرع ، قم بتضمين الفروع غير المشروطة.
عادة ما تكون الفروع غير المشروطة غير مثيرة للاهتمام.

-d
- عرض التقدم
عرض التقدم في الإخراج القياسي.

-i
- تنسيق متوسط
إخراج ملف gcov بتنسيق نصي سهل التحليل يمكن استخدامه بواسطة لكوف
أو أدوات أخرى. الإخراج هو واحد .gcov ملف لكل .gcda ملف. لا يوجد كود المصدر
مطلوب.

شكل الوسيط .gcov الملف هو نص عادي مع إدخال واحد في كل سطر

ملف:
وظيفة: و و
lcount: و
فرع: و

أين ال يكون
notexec (الفرع لم يتم تنفيذه)
مأخوذ (تم تنفيذ الفرع وأخذ)
nottaken (تم تنفيذ الفرع ، ولكن لم يؤخذ)

يمكن أن يكون هناك عدة إدخالات في gcov وسيطة
ملف. جميع الإدخالات التالية أ تتعلق بهذا الملف المصدر
حتى التالي دخول.

هنا عينة متى -i يستخدم بالتزامن مع -b الخيار:

ملف: array.cc
الوظيفة: 11,1،3 ، _Z6sumRKSt0vectorIPiSaISXNUMX_EE
الوظيفة: 22,1،XNUMX ، رئيسي
العدد: 11,1
العدد: 12,1
العدد: 14,1
الفرع: 14 ، مأخوذ
العدد: 26,1
الفرع: 28 ، غير مأخوذ

-m
- الأسماء المشوهة
عرض أسماء الوظائف غير المتشابكة في الإخراج. الافتراضي هو إظهار وظيفة مشوهة
أسماء.

gcov يجب أن يتم تشغيله مع الدليل الحالي كما هو الحال عند استدعاء ملف
مترجم. وإلا فلن يكون قادرًا على تحديد موقع الملفات المصدر. gcov تنتج الملفات
تسمى mangledname.gcov في الدليل الحالي. هذه تحتوي على معلومات التغطية
من الملف المصدر الذي يتوافقون معه. واحد .gcov يتم إنتاج ملف لكل مصدر (أو
header) يحتوي على رمز تم تجميعه لإنتاج ملفات البيانات. ال
اسم شرير عادةً ما يكون جزء من اسم ملف الإخراج هو اسم الملف المصدر ، ولكن يمكن ذلك
يكون شيئًا أكثر تعقيدًا إذا كان -l or -p يتم إعطاء الخيارات. الرجوع إلى تلك الخيارات
للتفاصيل.

إذا استدعيت gcov مع ملفات الإدخال المتعددة ، تكون المساهمات من كل ملف إدخال
لخص. عادةً ما تستدعيه بنفس قائمة الملفات مثل الارتباط النهائي لـ
الملف القابل للتنفيذ الخاص بك.

أفضل .gcov تحتوي الملفات على الامتداد : حقول منفصلة مع كود مصدر البرنامج. التنسيق
is

: :

قد تنجح معلومات الحظر الإضافية في كل سطر ، عند طلب ذلك من خلال خيار سطر الأوامر.
أفضل عدد_التنفيذ is - للأسطر التي لا تحتوي على كود. تم وضع علامة على الخطوط غير المنفذة #####
or ====، اعتمادًا على ما إذا كان يمكن الوصول إليها من خلال مسارات غير استثنائية أو فقط
مسارات استثنائية مثل معالجات استثناء C ++ ، على التوالي.

بعض سطور المعلومات في البداية لها رقم السطر من الصفر. خطوط التمهيد هذه هي
النموذج

-: 0: :

سيتم زيادة ترتيب وعدد سطور التمهيد هذه gcov تطوير
يتقدم --- لا تعتمد على بقائها دون تغيير. يستخدم بطاقة لتحديد موقع معين
خط الديباجة.

معلومات الكتلة الإضافية من النموذج



أفضل معلومات يمكن قراءتها من قبل الإنسان ، ولكنها مصممة لتكون بسيطة بما يكفي لتحليل الآلة
أيضا.

عند طباعة النسب المئوية ، تتم طباعة 0٪ و 100٪ فقط عندما تكون القيم بالضبط 0٪ و
100٪ على التوالي. القيم الأخرى التي يتم تقريبها تقليديًا إلى 0٪ أو 100٪ هي
بدلاً من ذلك ، تمت طباعته كأقرب قيمة غير حدية.

عند استخدام gcov، يجب عليك أولاً تجميع برنامجك بخيارين خاصين لدول مجلس التعاون الخليجي:
-fprofile- أقواس -تغطية -ftest. هذا يخبر المترجم أن يولد المزيد
المعلومات التي يحتاجها gcov (بشكل أساسي رسم بياني لتدفق البرنامج) وتشمل أيضًا
تعليمات برمجية إضافية في ملفات الكائن لتوليد معلومات التوصيف الإضافية المطلوبة
بواسطة gcov. يتم وضع هذه الملفات الإضافية في الدليل حيث يوجد ملف الكائن
يقع.

سيؤدي تشغيل البرنامج إلى إنشاء إخراج الملف الشخصي. لكل ملف مصدر
جمعت مع -fprofile- أقواس، المصاحب .gcda سيتم وضع الملف في ملف الكائن
الدليل.

الركض gcov باستخدام أسماء الملفات المصدر للبرنامج الخاص بك كوسيطات ستنتج الآن قائمة
من الكود مع تكرار التنفيذ لكل سطر. على سبيل المثال ، إذا كان البرنامج الخاص بك
يسمى tmp.c، هذا ما تراه عند استخدام الأساسي gcov منشأة:

$ gcc -fprofile-arcs -ftest-cover tmp.c
$ a.out
$ gcov tmp.c
تم تنفيذ 90.00٪ من 10 سطور مصدر في ملف tmp.c
إنشاء tmp.c.gcov.

الملف tmp.c.gcov يحتوي على إخراج من gcov. هنا عينة:

-: 0: المصدر: tmp.c
-: 0: رسم بياني: tmp.gcno
-: 0: البيانات: tmp.gcda
-: 0: عدد مرات التشغيل: 1
-: 0: برامج: 1
-: 1: # تضمين
-: 2:
-: 3: رئيسي (باطل)
1: 4: {
1: 5: int i ، المجموع ؛
-: 6:
1: 7: المجموع = 0 ؛
-: 8:
11: 9: لـ (أنا = 0 ؛ أنا <10 ؛ أنا ++)
10: 10: المجموع + = أنا ؛
-: 11:
1:12: إذا (المجموع! = 45)
#####: 13: printf ("فشل \ n")؛
-: 14: آخر
1:15: printf ("نجاح \ n") ؛
1:16: إرجاع 0 ؛
-: 17:}

عند استخدام -a الخيار ، سوف تحصل على عدد الكتل الفردية ، ويبدو الإخراج
مثله:

-: 0: المصدر: tmp.c
-: 0: رسم بياني: tmp.gcno
-: 0: البيانات: tmp.gcda
-: 0: عدد مرات التشغيل: 1
-: 0: برامج: 1
-: 1: # تضمين
-: 2:
-: 3: رئيسي (باطل)
1: 4: {
1: 4 بلوك 0
1: 5: int i ، المجموع ؛
-: 6:
1: 7: المجموع = 0 ؛
-: 8:
11: 9: لـ (أنا = 0 ؛ أنا <10 ؛ أنا ++)
11: 9 بلوك 0
10: 10: المجموع + = أنا ؛
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 يتم إعطاء الخيار.

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

عند استخدام -b الخيار ، يبدو الإخراج الخاص بك كما يلي:

$ gcov -b tmp.c
تم تنفيذ 90.00٪ من 10 سطور مصدر في ملف tmp.c
تم تنفيذ 80.00٪ من 5 فروع في ملف tmp.c
80.00٪ من 5 فروع مأخوذة مرة واحدة على الأقل في ملف tmp.c
تم تنفيذ 50.00٪ من مكالمتين في ملف tmp.c
إنشاء tmp.c.gcov.

هنا عينة من الناتج tmp.c.gcov ملف:

-: 0: المصدر: tmp.c
-: 0: رسم بياني: tmp.gcno
-: 0: البيانات: tmp.gcda
-: 0: عدد مرات التشغيل: 1
-: 0: برامج: 1
-: 1: # تضمين
-: 2:
-: 3: رئيسي (باطل)
الوظيفة الرئيسية تسمى 1 أعادت 1 كتلة نفذت 75٪
1: 4: {
1: 5: int i ، المجموع ؛
-: 6:
1: 7: المجموع = 0 ؛
-: 8:
11: 9: لـ (أنا = 0 ؛ أنا <10 ؛ أنا ++)
الفرع 0 مأخوذ 91٪ (سقوط)
الفرع 1 مأخوذ 9٪
10: 10: المجموع + = أنا ؛
-: 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٪ ، ولكنه قد يكون أقل بالنسبة للوظائف التي تستدعي "exit" أو
"longjmp" ، وبالتالي قد لا تعود في كل مرة يتم استدعاؤها.

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

البيانات في .gcda يتم حفظ الملفات مباشرة قبل خروج البرنامج. لكل
تم تجميع ملف المصدر بامتداد -fprofile- أقواس، يحاول رمز التنميط القراءة أولاً في ملف
القائمة .gcda ملف؛ إذا كان الملف لا يتطابق مع الملف القابل للتنفيذ (يختلف عدد ملفات
عدد الكتل) سيتجاهل محتويات الملف. ثم يضيف في التنفيذ الجديد
يحسب ويكتب البيانات إلى الملف في النهاية.

يمكّن إستخدام برنامج gcov مع مجلس التعاون الخليجي التحسين

إذا كنت تخطط للاستخدام gcov للمساعدة في تحسين التعليمات البرمجية الخاصة بك ، يجب عليك أولاً تجميع البرنامج الخاص بك
مع خيارين خاصين لدول مجلس التعاون الخليجي: -fprofile- أقواس -تغطية -ftest. بصرف النظر عن ذلك ، يمكنك
استخدام أي خيارات خليجية أخرى ؛ ولكن إذا كنت تريد إثبات أن كل سطر في برنامجك
تم تنفيذه ، لا يجب التحويل البرمجي باستخدام التحسين في نفس الوقت. في بعض الأجهزة
يمكن للمحسن إزالة بعض خطوط التعليمات البرمجية البسيطة من خلال دمجها مع سطور أخرى.
على سبيل المثال ، كود مثل هذا:

إذا (أ! = ب)
ج = 1 ؛
آخر
ج = 0 ؛

يمكن تجميعها في تعليمات واحدة على بعض الأجهزة. في هذه الحالة ، لا توجد طريقة ل
gcov لحساب عدد عمليات التنفيذ المنفصلة لكل سطر لأنه لا يوجد منفصل
رمز لكل سطر. ومن ثم gcov يبدو الإخراج مثل هذا إذا قمت بترجمة البرنامج
مع التحسين:

100: 12: إذا (أ! = ب)
100: 13: ج = 1 ؛
100: 14: آخر
100: 15: ج = 0 ؛

يُظهر الإخراج أن كتلة التعليمات البرمجية هذه ، جنبًا إلى جنب مع التحسين ، تم تنفيذها 100 مرة.
من ناحية ، هذه النتيجة صحيحة ، لأنه كان هناك تعليمات واحدة فقط تمثل
كل هذه الأسطر الأربعة. ومع ذلك ، لا يشير الإخراج إلى عدد مرات النتيجة
كانت 0 وكم مرة كانت النتيجة 1.

يمكن للوظائف القابلة للإدخال إنشاء تعداد غير متوقع للأسطر. يتم عرض عدد الأسطر لـ
الكود المصدري للدالة القابلة للإدخال ، ولكن ما يتم عرضه يعتمد على مكان الوظيفة
مضمنة ، أو إذا لم تكن مضمّنة على الإطلاق.

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

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

يمكن للتطبيقات التي تعمل لفترة طويلة استخدام تسهيلات "_gcov_reset" و "_gcov_dump" من أجل
تقييد جمع الملفات الشخصية على منطقة البرنامج محل الاهتمام. استدعاء "_gcov_reset (void)"
سيؤدي إلى مسح كافة عدادات ملف التعريف إلى الصفر ، وسيؤدي استدعاء "_gcov_dump (void)" إلى ظهور ملف
معلومات الملف الشخصي التي تم جمعها في تلك المرحلة ليتم إغراقها .gcda ملفات الإخراج.

استخدم mips64el-linux-gnuabi64-gcov-5 عبر الإنترنت باستخدام خدمات onworks.net


Ad


Ad

أحدث برامج Linux و Windows عبر الإنترنت