تدمج أداة استوديو Android for Platform (ASfP) تصحيح الأخطاء في المنصات المتعددة اللغات حول علامة التبويب ربط في نافذة أداة تصحيح الأخطاء:
- انقر على تشغيل (Run) > الربط بعملية Android (Attach to Android Process) (Control+Alt+A) لربط مصحّح أخطاء Java أو مصحّح الأخطاء الأصلي (الذي يتضمّن LLDB) أو كليهما بأي تطبيق أو عملية نظام قيد التشغيل على جهاز فعلي أو جهاز Cuttlefish الظاهري.
- افحص كل مكتبة مشترَكة تم تحميلها (
.so) ورقم تعريف الإصدار المكوّن من ثمانية أحرف بتنسيق ELF في لوحة المكتبات قبل الربط، مع التأكّد من تطابق رموز تصحيح الأخطاء المحلية باستخدام رموز علامة الاختيار ضمنout/target/product/<device>/symbols. - يمكنك إدارة المتطلبات الأساسية للجهاز من شريط الأدوات: فلترة النتائج باستخدام عرض عمليات النظام، والنقر على جهاز الجذر لتشغيل
adb root(يظهر الجهاز مزوّد بإذن الوصول إلى الجذر عند التفعيل)، والنقر على تفعيل JDWP لتفعيل JDWP على إصداراتuserdebug. - يمكنك ضبط نقاط توقّف شرطية ونقاط توقّف للاستثناءات، وعرض قيم المتغيّرات المضمّنة في المحرّر، واستخدام إزالة الإطارات والتنفيذ الذكي خطوة بخطوة، وفحص أنواع C++ وRust المنظَّمة في وقت التشغيل.
قبل استخدام أداة تصحيح الأخطاء، أنشئ هدف lunch ليتوفّر فهرس رموز out/target/product/<device>/symbols/.build-id المحلي، ثم شغِّل صورة جهاز متوافقة أو ثبّتها.
تصحيح أخطاء Java والأخطاء المزدوجة في Java والرمز البرمجي الأصلي
لتصحيح أخطاء تطبيق Java أو Kotlin أو تطبيق نظام (مثل com.android.messaging أو "الإعدادات" أو SystemUI) أو عملية تستدعي JNI ورموز C++ أو Rust البرمجية، اتّبِع الخطوات التالية:
- ضبط نقاط توقّف في ملفات رموز المصدر Java أو Kotlin أو C أو C++ أو Rust
- انقر على تشغيل (Run) > الربط بعملية Android (Attach to Android Process) (Control+Alt+A). يفتح ASfP علامة التبويب إرفاق المثبَّتة داخل نافذة أدوات تصحيح الأخطاء.
- اختَر جهاز الاختبار من القائمة المنسدلة للأجهزة. إذا لم يكن JDWP مفعَّلاً في إصدار
userdebug، انقر على تفعيل JDWP، وسيضبط ASfP قيمةpersist.debug.dalvik.vm.jdwp.enabled=1ويعيد تشغيل الجهاز. عندما يكون الزر نشطًا، يعرض تم تفعيل JDWP مع إجراء إيقاف JDWP عند النقر بزر الماوس الأيمن. - اختَر العملية المستهدَفة من الجدول (تعرض عمليات Java وART رمز فنجان قهوة).
- في أسفل علامة التبويب ربط، اختَر أداة تصحيح أخطاء Java أو أداة تصحيح أخطاء الرمز البرمجي الأصلي أو كليهما. يؤدي تحديد كليهما إلى فتح علامتَي تبويب مرتبطتَين في نافذة أداة تصحيح الأخطاء:
<process> (<pid>)لبرنامج LLDB المضمّن و<process> (<pid>)-jdwpلبرنامج Java. وترتبط دورات حياتهما معًا، لذا يؤدي إيقاف أي منهما إلى إيقاف كليهما. - انقر على إرفاق وتفاعَل مع التطبيق على جهازك للوصول إلى نقاط التوقّف.

تصحيح أخطاء عملية النظام (C وC++) والتحقّق من الرموز
لتصحيح أخطاء برامج النظام أو طبقات تجريد الأجهزة أو خدمات النظام (مثل
android.hardware.bluetooth-service.cuttlefish أو surfaceflinger أو
audioserver)، أكمِل الخطوات التالية:
- افتح تشغيل > الربط بعملية Android (Control+Alt+A). إذا كان شريط الأدوات يعرض الجهاز الجذر، انقر عليه لتشغيل ASfP
adb rootوعرض الجهاز الجذر. - انقر على عرض عمليات النظام في شريط الأدوات العلوي، ثم فلتر العملية المستهدَفة.
- تأكيد رموز تصحيح الأخطاء المحلية في لوحة "المكتبات": يؤدي اختيار عملية إلى ملء جدول المكتبات بكل مكتبة مشتركة بتنسيق ELF (
.so) تم تحميلها في العملية وأول ثمانية أحرف سداسية عشرية من رقم تعريف الإصدار بتنسيق ELF. تطابق ASfP كل رقم تعريف إصدار معout/target/product/<device>/symbols(يجب توفُّرsymbols/.build-idلحلّ المكتبات داخل حِزم APEX):- تعرض المكتبات التي تم التحقّق منها رمز علامة صح. ضَع مؤشر الماوس على أي صف تم حله
لمعاينة مسار رمز
.debugالمحلي الكامل. - تعرض المكتبات التي لم يتم حلّها بدون رموز محلية مطابقة رمز تحذير.
- تعرض المكتبات التي تم التحقّق منها رمز علامة صح. ضَع مؤشر الماوس على أي صف تم حله
لمعاينة مسار رمز
- رصد العمليات غير المستندة إلى Java: عند اختيار عملية C++ أو Rust (المميّزة برمز سداسي الأضلاع
C)، يخفي ASfP برنامج تصحيح الأخطاء في Java ويعرض لا تتوفّر إمكانية تصحيح الأخطاء في Java، هذه العملية غير مستندة إلى Java مع إبقاء المربّع برنامج تصحيح الأخطاء Native محدّدًا. - اضبط نقاط توقّف في ملفات المصدر C أو C++ أو Rust، وانقر على ربط (Attach)، ثم شغِّل مسار الرمز البرمجي على الجهاز.

تصحيح أخطاء رمز Rust البرمجي
تصحّح "أدوات Android Studio لنظام Android" أخطاء رمز منصة Rust باستخدام مصحّح أخطاء LLDB المضمّن نفسه المستخدَم مع C وC++. ولا يلزم استخدام محوّل خارجي أو إعداد خادم يدويًا، لأنّ "أدوات Android Studio لنظام Android" تستخدم lldb-dap من سلسلة الأدوات المجمّعة وتحمّل تلقائيًا أدوات الطباعة المنسّقة لـ Rust من الإصدارات المسبقة المجمّعة في AOSP، وبالتالي تعرض الأنواع العادية، مثل String وVec وHashMap وOption، قيمًا منظَّمة في لوحة المتغيرات.
ربط عملية Rust قيد التشغيل على جهاز
اتّبِع الخطوات الواردة في تصحيح أخطاء عملية النظام (C وC++): افتح تشغيل > الربط بعملية Android، وتأكَّد من وضع علامة في المربّع الجهاز مزوّد بإذن الوصول إلى الجذر وظهور علامة اختيار بجانب الرموز المحلية في اللوحة المكتبات، وأبْقِ المربّع أداة تصحيح الأخطاء الأصلية محدّدًا، ثم انقر على ربط. تظهر إطارات حزمة التكديس في Rust وC أو C++ معًا في جلسة تصحيح الأخطاء نفسها.
تصحيح أخطاء وحدة rust_test أو rust_test_host
- افتح ملف
Android.bpالذي يعرّف هدفrust_testأوrust_test_hostوانقر على رمز تشغيل في الهامش بجانب نوع الوحدة. - انقر على Debug '<ModuleName>'. ينشئ ASfP الهدف ويشغّل اختبار الثنائي ضمن LLDB على جهازك المضيف أو الجهاز المتصل، ويتوقف عند نقاط توقّف Rust.
- لتصحيح أخطاء دالة اختبار واحدة أو تخصيص أوامر بدء تشغيل LLDB، افتح تشغيل > تعديل الإعدادات (Run > Edit Configurations)، واختَر إعداد اختبار Soong (Soong Test) الذي تم إنشاؤه، واضبط الطريقة (Method) أو وسِّع خيارات أداة تصحيح الأخطاء (Debugger). لمزيد من المعلومات حول خيارات إعداد اختبار Soong، يُرجى الاطّلاع على اختبار رمز النظام الأساسي باستخدام atest.
