WebHU - Programozási kérdések és válaszok

A tárolóalkalmazás összeomlik: További információra van szükség a Crashlyticstől

A fejlesztőcsapat, amellyel dolgozom, készített egy konténeralkalmazást, amely az ügyfél mobilwebhelyét szolgálja ki. Láthatjuk, hogy a tárolóalkalmazás összeomlik iOS 10 rendszeren, de nincs sok információnk a probléma okáról. A verem nyomkövetése nem sok másra utal, mint a Webkit és a JS Core lehetséges problémájára:

Crashed: com.apple.main-thread
0  WebKit                         0x19673fddc API::Object::ref() + 2
1  WebKit                         0x1968bb35c WebKit::WebPageProxy::didStartProvisionalLoadForFrame(unsigned long long, unsigned long long, WTF::String const&, WTF::String const&, WebKit::UserData const&) + 192
2  WebKit                         0x1968d621c void IPC::handleMessage<Messages::WebPageProxy::DidStartProvisionalLoadForFrame, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WTF::String const&, WTF::String const&, WebKit::UserData const&)>(IPC::MessageDecoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WTF::String const&, WTF::String const&, WebKit::UserData const&)) + 100
3  WebKit                         0x1967941d0 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::MessageDecoder&) + 120
4  WebKit                         0x196917614 WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&) + 32
5  WebKit                         0x19675d3e8 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::MessageDecoder, std::__1::default_delete<IPC::MessageDecoder> >) + 160
6  WebKit                         0x19675fa00 IPC::Connection::dispatchOneMessage() + 204
7  JavaScriptCore                 0x191b4c834 WTF::RunLoop::performWork() + 172
8  JavaScriptCore                 0x191b4ca60 WTF::RunLoop::performWork(void*) + 36
9  CoreFoundation                 0x18d332b5c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
10 CoreFoundation                 0x18d3324a4 __CFRunLoopDoSources0 + 524
11 CoreFoundation                 0x18d3300a4 __CFRunLoopRun + 804
12 CoreFoundation                 0x18d25e2b8 CFRunLoopRunSpecific + 444
13 GraphicsServices               0x18ed12198 GSEventRunModal + 180
14 UIKit                          0x1932a57fc -[UIApplication _run] + 684
15 UIKit                          0x1932a0534 UIApplicationMain + 208
16 Betfred                        0x10005c250 main (main.m:16)
17 libdispatch.dylib              0x18c2415b8 (Missing)

Senki sem tudta megbízhatóan összeomlani az alkalmazást (beleértve a tesztcsapatot is, akik éjjel-nappal használják), és amennyire tudjuk, nincs probléma a mobiloldallal.

Megkértek, hogy vizsgáljam meg a problémát, de egy kicsit tanácstalan vagyok, mivel nem tudok valamit diagnosztizálni és kijavítani, ha nem tudom folyamatosan tönkretenni.

Van mód arra, hogy több információt kapjunk a Crashlyticstől a baleset okáról?


Válaszok:


1

Mike a Fabricból, és az ehhez hasonló összeomlásokat nehéz nyomon követni. Ki kell adnia az alkalmazás új verzióját, de három különböző módon szerezhet további információkat.

1) Adjon hozzá egyéni kulcsokat például a követéshez mely oldalak töltődnek be, vagy mely végpontokat érik el, további kontextust biztosíthatnak:

- (void)setObjectValue:(id)value forKey:(NSString *)key;

// calls -description on value, perfect for NSStrings!
- (void)setIntValue:(int)value forKey:(NSString *)key;

- (void)setBoolValue:(BOOL)value forKey:(NSString *)key;

- (void)setFloatValue:(float)value forKey:(NSString *)key;

2) Adjon hozzá egyéni naplókat kenyérmorzsaként a felhasználó által az összeomlás előtti lépések reprodukálásának megkönnyítése érdekében:

CLS_LOG(@"User clicked on menu %@", attributesDict);

3) Adjon hozzá felhasználói azonosítókat:

[CrashlyticsKit setUserIdentifier:@"123456789"];
[CrashlyticsKit setUserEmail:@"[email protected]"];
[CrashlyticsKit setUserName:@"Awesome AppUser"];

Ha minden más kudarcot vall, az is segíthet nyomon követni, ha további információkért fordul a felhasználóhoz.

11.09.2017
  • Azt kellett választanunk, hogy itt megkeressük az ügyfelet. Mivel az alkalmazás WebView, a natív csapat azt mondta nekem, hogy nem használhatjuk az 1., 2. és 3. lehetőséget. 12.09.2017
  • Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..