<p>KSCrash يلتقط الحادث ، لكن مكدس الأعطال فارغ</p>

تم إنشاؤها على ٢٧ يوليو ٢٠١٧  ·  17تعليقات  ·  مصدر: kstenerud/KSCrash

لقد تلقيت بعض تقارير الأعطال من مستخدمنا ، لكنني اكتشفت أن بعض مكدس الأعطال فارغ.
2017-07-27 3 00 07

هذه بعض من تقارير تحطم json الأولية.
1.txt
2.txt
3.txt

التعليق الأكثر فائدة

سألقي نظرة على هذه المشكلة الأسبوع المقبل

ال 17 كومينتر

لدي نفس المشكلة.

أواجه نفس المشكلة. أي شخص يصلحه؟

أواجه نفس المشكلة ولكن لماذا؟

كيفية إعادة إنتاج المشكلة?

عيّن KSCrash صورة المؤشر على 0 في الوظيفة kssymbolicator_symbolicate () عند تحليل جدول الرموز بدون تصحيح الأخطاء (Xcode -> إعدادات البناء -> نمط الشريط -> رموز التصحيح)
حظ سعيد ...

أواجه نفس المشكلة. أي شخص يصلحه؟

ترتبط جميع مشكلات التقارير الثلاثة المقدمة باستثناءات C ++. هل تلقى أي شخص غير C ++ - أعطال بدون تتبع خلفي؟

يوضح @ bamx23 # 205 سبب عدم تمكن أعطال C ++ من الحصول على المكدس المحطم. لدي سؤال حتى الآن هل تم حل المشكلة؟ لا يزال بإمكاني الحصول على مكدس فارغ عند استثناءات C ++ في الأطر المدمجة؟

سألقي نظرة على هذه المشكلة الأسبوع المقبل

@ bamx23 أحصل على الكثير من المكدس المحطم الفارغ ، "التشخيص": "محاولة إلغاء إشارة إلى مؤشر فارغ."
فارغ. txt

في حالة تلبية المكدس الفارغ لاستثناء C ++ ، يمكنك العثور على سبب هذه المشكلة. https://github.com/kstenerud/KSCrash/issues/205

عذرا ، كان من الأفضل أن أقول "الشهر المقبل".
لقد تحققت من KSCrash على C ++ تعطل من نموذج التطبيق الخاص بي ، لكن المواضيع كانت على ما يرام. هل يمكن لشخص ما تقديم مثال على رمز يعيد إنتاج المشكلة؟

@ chzhij5 أخي ، أي إصدار من ks تستخدمه؟ 1.15.8؟

أهلا! لقد بحثنا في المشكلة والحلول الممكنة في فريقنا. هناك واحد:

أثناء عملية تثبيت KSCrashMonitor_CPPException ، يمكننا استخدام "hack" الموصوف والمنفذ في https://github.com/facebook/fishhook. يسمح بربط أي استدعاء لوظيفة ثنائية مرتبطة ديناميكيًا. لذلك قمنا بتوصيل __cxa_throw لجميع الثنائيات المحملة.

إذا كانت أي مكتبة بها رمز ضعيف __cxa_throw (مثل KSCrash حاليًا) فسوف نسميها بنفس الطريقة التي نقوم بها الآن. سيكون الطلب مثل [fishhooked one] -> [weak one] -> [libc++abi one] .

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

@ kstenerud ، ما رأيك؟ لقد قرأنا رسالتك في stackoverflow ، ويبدو أن الفكرة أعلاه قد تحلها ، جزئيًا على الأقل.

يمكننا المضي قدمًا وإنشاء طلب سحب حيث يكون خطاف الصيد تابعًا لـ KSCrash (أو KSCrash subspec مثل "KSCrash / Recording / ImprovedCPPExceptionsHandling").

[fishhooked one] -> [weak one] -> [libc++abi one] .

يمكننا بالفعل الاتصال بـ [libc++abi one] من [fishhooked one] في حالة عدم استدعاء [weak one] ، فهذا يفي بمتطلباتkstenerud .

هذا يبدو جيدًا ، سنحاول الأسبوع المقبل في تطبيقنا الداخلي.

هنا العلاقات العامة: # 375

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات