symbolicatecrashは私のdSYMファイル好きではありません
-
22-09-2019 - |
質問
私はsymbolicatecrashを使用しようと、興味深い結果を持っています。同僚は、別のマシン上で私たちの配布ビルドを建てたので、彼は私にdSYMファイルを送りました。
で見つかったsymbolicatecrashファイルを実行した後/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash
これは、すべてのAppleの機能ではなく、鉱山で埋めます。問題は、それはそれで私の同僚のマシンの情報を持っている潜在的にあるため、dSYMファイルを見つけることができない(あるいはしない)ということであるように思われます。私はクラッシュレポートから16進数アドレスをコピーすると、私はこのようにdwarfdump使用することができます:
dwarfdump --lookup 0x0001f892 --arch ARMv6のパス/ TO / MyApp.app.dSYM
これは正しく私にその単一の呼び出しの行番号を示します。また、symbolicatecrashは、私たちのコードからゲームの行番号をうまくすることができますが、ないAppleの。彼はAppleのものを見ることができない理由を私は知らないが、このすべてのリードに私はこの問題は、前述したように、dSYMを見つけることであると信じてます。
ですから。ちょうどsymbolicatecrashコマンドにdSYMのパスを渡すためにどのような方法、またはそれを動作させるいくつかの他の方法はありますか?そのため、真剣に、それは魔法のいくつかの並べ替えが唯一、それはしたくないので、それを見つけることができませんし、あなたのファイルのための「検索」んなツールを作るために、完全に馬鹿だ。
また、任意のアイデアなぜ私の同僚のビルドは、Appleの機能のいずれかが表示されないのだろうか? 私がここにいる間、そして、「+」は、クラッシュファイルに何を意味するのでしょうか?このように:
0x00059f8c - [UIWindowのSendEvent:] + 108
解決
symbolicatecrashは、あなたができる最善のは、それはあなたから期待したとおりに物事を行うことを学ぶで、1つの巨大なハックです。それともの内部を読んで、それを修正するが、その後、あなたは次のSDKのアップデート...
の再修正をしなければなりませんこの場合、私はあなたの問題はあなたがアプリケーションバンドルと同じフォルダにdSYMファイルを配置しなかったことだと思います。これは、XCodeのは、それを左にまったく同じである必要があり、それはスポットライトがそれを見つけるだろう場所にする必要があります。また、期待通りに必ず名前が正確であることを確認してください - 「dSYM」の正確なケースは重要であり、私はドットがバグのためのアプリ名でサポートされていないことを聞いた。
。疑わしい場合、必ず詳細なエラーがメッセージとして送らGETに-vオプションを試してみます。
個人的に私は、少なくとも、関数名を取得する超幸せです、アップルのバイナリの行番号情報がありません。悪化している可能性があります。
で " - [UIWindowのSendEvent:] + 108" 機能を開始してから手段108バイト。このデータの唯一の有益な解釈は数が少ない場合の数は、あなたのsymbolicationは調子が悪いです大きい場合、それは、おそらく正確であるということです。