سؤال

لقد بدأت المحاكي الخاص بي مع. قمت بعد ذلك بتتبع ملفات التتبع إلى ~/.android/avd/rodgers_emulator_15.avd/traces/profile ، حيث يوجد ستة ملفات: qtrace.bb ، qtrace.exc ، qtrace.ins ، qtrace.method ، qtrace.pid ، qtrace .ثابتة. لا يمكنني معرفة ما يجب فعله مع هذه الملفات. لقد جربت كل من dmtracedump و TraceView على جميع الملفات ، ولكن لا شيء يبدو أنه يولد أي إخراج يمكنني فعل أي شيء معه.

كيف يمكنني عرض نسبة الوقت الذي تستغرقه استدعاء الأسلوب الأصلي على Android؟

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

المحلول

تحتاج إلى استخدام tracedmdump لتحويل الإخراج. هذه وظيفة قذيفة محددة في build/envsetup.sh في مصادر Android الكاملة. إذا كنت تستخدم SDK ، بدلاً من البناء من شجرة كاملة ، لست متأكدًا من أن هذا سيعمل.

(إذا لم يكن لديك المصادر وترغب في إلقاء نظرة خاطفة على وظيفة TracredMdump ، يمكنك رؤيتها هنا.)

إذا كنت تستخدم emulator -trace profile, ، كنت تعمل tracedmdump profile. سيؤدي ذلك إلى حفر العديد من الثنائيات لاسترداد المعلومات الرمزية وربطها بالبيانات التتبع ، وإنشاء ملخص HTML وملف تتبع متوافق مع TraceView.

تجدر الإشارة إلى أن VM سيتم تنفيذها ببطء أكثر من خلال تمكين التنميط (يتم تمكين المترجم المترجم على كل استدعاء وعودة طريقة ، ويعمل في مترجم "Debug" الأبطأ) ، بينما يستمر الشفرة الأصلية في العمل بأقصى سرعة ، لذلك لديك لتوخي الحذر عند استخلاص الاستنتاجات.

تعليق عام: لا تنس استخدام F9 أو إحدى مكالمات الطريقة لبدء/إيقاف التتبع - -trace العلم فقط يتيح الميزة.

نصائح أخرى

من أجل استخدام هذه الملفات الستة ، هناك نصوص أخرى في نفس الدليل مثل DMTracedump مثل read_pid ، read_trace ، profile_trace ، لهم للحصول على معلومات الملف الشخصي مثل عدد المرات التي يتم فيها تنفيذ كل كتلة أساسية ، و PIDs التي ينتمون إليها وما إلى ذلك.

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