Mac App Store アプリからのスタック トレースがあります。これを読んで、ユーザーが経験している問題を診断するのに役立てたいと思います。dSYM ファイルと元のアーカイブ ビルドはありますが、完全なクラッシュ レポートはありません。私が知りたいのは、スタック トレース内のメソッドの名前だけです (以下のMyAppNameで 2 つのメソッドを確認できます)。私はこの情報を入手することlldb
も、提供することもできませんでした。atos
スタック トレースは次のようになります。
0 CoreFoundation 0x00007fff92fdd25c __exceptionPreprocess + 172
1 libobjc.A.dylib 0x00007fff918dbe75 objc_exception_throw + 43
2 CoreFoundation 0x00007fff92ebb4f5 -[__NSArrayM objectAtIndex:] + 245
3 MyAppName 0x0000000108e91c6b MyAppName + 126059
4 MyAppName 0x0000000108e7556f MyAppName + 9583
5 AppKit 0x00007fff8d883099 -[NSToolbarButton sendAction:to:] + 75
6 AppKit 0x00007fff8d8830e8 -[NSToolbarButton sendAction] + 65
7 AppKit 0x00007fff8d436f0c -[NSToolbarItemViewer mouseDown:] + 4897
8 AppKit 0x00007fff8d352a58 -[NSWindow sendEvent:] + 11296
9 AppKit 0x00007fff8d2f15d4 -[NSApplication sendEvent:] + 2021
10 AppKit 0x00007fff8d1419f9 -[NSApplication run] + 646
11 AppKit 0x00007fff8d12c783 NSApplicationMain + 940
12 libdyld.dylib 0x00007fff87df35fd start + 1
13 ??? 0x0000000000000001 0x0 + 1
シンボルを取得するには (たとえば、上記のレベル 3 の場合)、どのコマンドを使用できますか? を呼び出したときlldb
、126059 がレベル 3 にある場合、16 進アドレスとオフセットのどちらを使用する必要があるかさえ明確ではありませんでした。
アップデート
atos
ドキュメントによると、次のように呼び出す必要があるようです。
xcrun atos -arch x86_64 -o MyAppName.app/Contents/MacOS/MyAppName -l <LOADED ADDRESS> 0x0000000108e91c6b
しかし、ロードされたアドレスとして何を使用しますか? 私が持っているのは、上に貼り付けたものだけです。0x0000000000000001
、0x00007fff87df35fd
、または-l
完全に省略しても、 0x0000000108e91c6b
(指定したアドレス) が標準出力に出力されます。