問題タブ [symbolicate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Xcode 7 でのクラッシュ ログのシンボル化
クラッシュとクラッシュ ログを生成する AppStore ビルドがあります。元のアーカイブはありません (別のコンピューターにあります) が、.app.dSYM ファイルと .app ファイルはあります。Xcode 7で「symbolicate」を見つけることができないため、Xcode 6.x関連の回答の手順に従っても役に立ちません。明らかな何かが欠けていると確信しています...
ios - Xcode 7 に接続されていないデバイスからのデバッグ クラッシュ - Symbolicate
説明する前に、クラッシュ ログを象徴する多くの方法を試してみました。
私の問題: 私のアプリ (iPhone 上) が Xcode から実行されている場合、アプリは決してクラッシュしません。アプリが自分の電話で実行され、コンピューターにまったく接続されていない場合、毎回同じ場所でクラッシュします。
私のシンボリックな問題: 携帯電話からクラッシュ ファイルを取得しました。アーカイブされたビルドから .dSYM ファイルを取得しましたが、UUID が一致しないため、クラッシュをシンボリケートしてコード行を見つけることができません。問題の原因。
私の目標: このエラーを解決するには。これを行うには Symbolicate コマンドを使用するのが最善の方法のようですが、Xcode 7 には、デバイスからのクラッシュ ファイルのシンボリック化をより簡単にする新しい機能があるのではないでしょうか?
これが明確であることを願っています。本当にありがとう!
macos - OSXでカーネルパニックレポートを象徴する方法は?
カーネル パニック レポート (通常のアプリ クラッシュ レポートではなく) をどのようにシンボル化できるか知りたいです。ユーザーがカーネル パニックを引き起こしたと主張する OSX アプリを持っています。カーネル拡張機能はインストールしませんが、起動デーモンをインストールします。このリンクhttps://developer.apple.com/library/mac/technotes/tn2063/_index.htmlをたどりましたが、カーネルパニックを引き起こすサードパーティのカーネル拡張機能のシンボリック化手順についてのみ説明しています。kext をインストールしていない場合、次のパニック レポートをシンボル化するにはどうすればよいですか? どんな助けもかなりのものです。
ios - クラッシュログを記号化する - XCode 7.0.1
クラッシュしたログを象徴し、さまざまな方法を試しました。
1) xcode(7.0.1) > デバイス > すべてのログ > ログの再シンボル化からのクラッシュ ログのシンボル化
何も起こりません
インストール済みのコマンド ライン ツール、xcode-select --install
2) コマンドラインから、symbolicate “Crash.crash” "MyApp.app"
エラーが出ました、symbolicate: command not found
3)/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash ~/Desktop/Crash/Crash.crash ~/Desktop/Crash/MyApp.app.dSYM
何も見つかりませんでしたDTDeviceKitBase.framework
4)atos -arch armv7 -o ~/Desktop/Crash/MyApp.app/MyAppName 0x00000001001de44c 0x1000d0000 + 1107020
ログを取得しましたが、excat の問題は表示されません。
ステップ4の結果が正しいかどうかを確認するために、以下のコードを書くだけでクラッシュを起こしました
しかし、手順 4 を使用してクラッシュ ログをシンボリック化した後[classname functionName]
、いくつかの異なるクラスのみが表示されます。これは、ステップ 4 のシンボリック化されたログが正しくないと思わせます。
編集 1: クラッシュ ログの追加
何でも役立ちます。
ありがとう
ios - [NSThread callStackSymbols] を「手動で」シンボル化する方法 (atos の開始アドレスを取得する) (iOS)
ゴール:
の「アウトプット」を象徴したい[NSThread callStackSymbols]
。
補足:
クラッシュログでそれを行う方法を知っています。ただし、コール スタックを調べたいいくつかの問題を調査する必要があります。残念ながら、最近ではフレームワークのアドレスはすべて<redacted>
. 適切なポイント(または最後に-質問の最後を参照)でクラッシュを引き起こすことは実際には受け入れられませんが、別の解決策が見つからない場合は、それが道です。
デバイスでテストを実行する必要があるため、シミュレーターを使用できません。
現在のアプローチ:
これを呼び出すと:
私はこの出力を得る:
(この出力の「変換」はアプリです。)
これで、このコマンドを使用してアドレスを「記号化」できます。
そのように実行すると (もちろん に適切な値を指定して-l
)、次のようなアドレスを入力する0x000694b5
と、次のようなものが吐き出されます-[ViewController viewDidLoad] + 128
。もちろん、問題は開始アドレス (-l オプションの値) です。
クラッシュ ログがある場合は、それらを取得できます。とはいえ、無事故で逃げ切りたい。
質問:
Q1:実行時に開始アドレスを決定し、それをログ出力に含めて、atos-l
オプションにフィードすることはできますか?
編集:これは次のように可能であるように見えます:(NSProgrammerの回答に感謝https://stackoverflow.com/a/12464678/1396265 )
/編集
(フレームワークのメソッド呼び出しに興味があるので、フレームワークの開始アドレスが必要なのは確かです。アプリの開始アドレスは頻繁に変更されます (ランダム化)。フレームワークの開始アドレスがランダム化されているかどうかはまだわかりません。)
Q2:コール スタック内のメソッドを調査する他の方法はありますか? (私のシナリオでは、ブレークポイントもかなり不器用です。)
編集:
Q3:フレームワークのアドレスを記号化するにはどうすればよいですか? たとえば、UIKit の dSYM (または必要なもの) はどこにありますか?
(たとえば、私は何かを持っています: ~/Library/Developer/Xcode/iOS\ DeviceSupport/9.1\ \(13B143\)/Symbols/System/Library/Frameworks/UIKit.framework/
。ここで詳細を調べます。)
/編集
多分解決策:
1 つの方法として、ログ出力をファイルに保存し、テストの最後にアプリをクラッシュさせることが考えられます。callStackSymbols
そうすれば、クラッシュ ログで開始アドレスが明らかになり、ログからのコール スタック情報を使用して、出力を記号化できるはずです。次に試してみます。
xcode7 - Xcode 7.3 でクラッシュを象徴する方法は?
クラッシュをシンボル化するのを手伝ってくれませんか?
Xcode 7.3 では、[ウィンドウ] -> [オーガナイザー] -> [クラッシュ] で、最新の TestFlight ビルドからのクラッシュ レポートがあります。それらはこの Mac 上に構築されており、対応する dSYM を含むすべてのアーカイブが [アーカイブ] タブにあります。アプリは多数のフレームワークとメイン アプリに分割されており、多くは Swift と Objective C が混在しています。クラッシュ ログでは、フレームワークとアプリの名前が正しくリストされているのを確認できますが、私のフレームワークとアプリのエントリはすべてapp は 16 進数です。UIKit は問題なくシンボリック化されています。
iTunes Connect を見ると、「シンボルを含む」に「はい」と表示され、dSYM をダウンロードできます。ビルド時に、「デバッグ情報形式」オプションが「dSYM 付きの DWARF」に設定されました。「コピー中にデバッグシンボルを削除する」と「リンクされた製品を削除する」を「いいえ」に設定して、違いが生じるかどうかを確認しました。そうではありませんでした。
/usr/bin または /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash でも、自分のシステムで symbolicatecrash アプリを見つけることができませんが、古い Xcode 5 を使用しています。それをつかむことができました。ただし、シンボルは解決されません。
アプリのプロファイルを作成すると、Instruments でも同じ問題が発生します。UIKit は正常にシンボル化されますが、フレームワークとアプリでは 16 進数しか表示されません。
これについて多くの投稿があったことは知っていますが、7.3 ベータ期間から現在に至るまで、多くの記事を調べてきましたが、解決策が見つかりませんでした。