سؤال

ما هي الأدوات هل تعرف، وغيرها من تلك التي في Visual Studio، لتحليل اختناقات الأداء في ويندوز CE / تطبيق تليفون؟ أنا أبحث عن شيء من هذا القبيل AQTime لCE / المحمول، لمحة C / C ++ التطبيقات ترجمة التعليمات البرمجية الأصلية.

هل كانت مفيدة؟

المحلول

ولم أجد أي أدوات من هذا القبيل لWindowsMobile للتنمية المحلية.

والأقرب لقد وجدت هو مجموعة أدوات EnTrek (CodeSnitch / ProcMan)، ولكنها ليست أدوات التنميط حقا. http://www.entrek.com/products.htm

وماذا فعلنا به هو بناء بلدكم دعم التنميط الخاص في منتجاتنا الخاصة باستخدام ستوديو Vistual "/ callcap" التبديل لVC ++. استخدام هذا التبديل يمكنك بناء مكتبة التنميط أن يفرغ من توقيت والتهم، ما تريد. وهي تعمل في الغالب بشكل جيد بالنسبة لنا، ولكن في بعض الأحيان فوق هذه الوظائف هوك يمكن أن يكون أكثر من اللازم وأنها يمكن أن تؤثر على النتائج توقيت لمجالات عدد هائل من المكالمات وظيفة.

ومن مستندات MSDN:

<اقتباس فقرة>   

والخيار / callcap يتسبب   مترجم لإدراج المكالمات إلى التنميط   خطاطيف في بداية ونهاية كل   وظيفة.

     

ويجب تجميع السنانير التنميط   بدون مفتاح callcap. اذا أنت   تجميع وظائف التنميط هوك   مع التبديل callcap، وظائف   سوف تؤدي دعوات متكررة لانهائية   لأنفسهم.

     

ومثال التعليمة البرمجية التالية،   Callcaphooks.c، ويظهر هوك التنميط   وظيفة، _CAP_Enter_Function، ل   تجميع دون callcap.

// File: callcaphooks.c

#include <stdio.h>
int main();

void _CAP_Enter_Function(void *p) 
{
    if (p != main) 
        printf("Enter function   (at address %p) at %d\n", 
            p, GetTickCount());
        return;
}
void _CAP_Exit_Function(void *p) 
{
    if (p != main) 
        printf("Leaving function (at address %p) at %d\n", 
            p, GetTickCount());
    return;
}

نصائح أخرى

ويندوز CE يدعم بعد نداء التعريف (وإذا أضفت OEM دعم لذلك) من خارج منطقة الجزاء. صور WinMo، على ما أعتقد، وعادة ما يكون الدعم بالفعل في الصور لذلك. لCE، تحتاج إلى مجموعة متغير البيئة IMAGEPROFILER (usnder خصائص المشروع).

ما هو غير واضح في MSDN هو كيفية أداة التطبيق التي لم يتم بناؤها مع منشئ النظام الأساسي، ولكنها في الواقع بسيط جدا. لديك لإضافة سويث / callcap إلى سطر الأوامر مترجم وإضافة cecap.lib إلى إعدادات رابط الخاص بك.

وبالطبع ستحتاج إلى أداة لالتقاط وعرض البيانات التعريف. لذلك يمكنك استخدام إصدار تقييم من منشئ النظام الأساسي (<لأ href = "http://www.microsoft.com/downloads/details.aspx؟familyid=486e8250-d311-4f67-9fb3-23e8b8944f3e&displaylang=en" يختلط = " noreferrer "> 5.0 أو 6.0 ) (وحدة التقييم غير مجانية) أو <وأ href = "http://www.microsoft.com/downloads/details.aspx؟FamilyId=1DACDB3D-50D1-41B2-A107-FA75AE960856&displaylang=en" يختلط = "noreferrer"> التعلم المسبق 4.0 (وأيضا مجانا).

لمزيد من المعلومات حول استخدام منشئ ملفات التعريف، وسو لوه من فريق CE الأساسية والمدون قليلا عن ذلك.

ولقد كتب التعريف نداء الرسم البياني ويندوز موبايل. هو حاليا (اعتبارا من يناير 2010) في مرحلة بيتا، ويمكن تحميلها مجانا.

http://www.codeprophet.co.cc

وHTH

و-Zak

إذا كنت تفعل تطوير CF .NET، تحقق من في Toys الطاقة ل. NET CF 3.5 للحصول على المساعدة التي يمكن أن تساعدك على تحديد الاختناقات، وخاصة تلك المتعلقة بالذاكرة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top