4

symbolicatecrash ~~~.crash と dSYM ファイルを使用して、Apple Store から提供されたクラッシュ iOS アプリのクラッシュ ログを分析してみました。しかし、crash.log を作ろうとすると以下のようなエラーが出ました。問題の解決方法を教えていただけますか?

$ ./symbolicatecrash ~~~.crash ~~~.dSYM > crash.log

sh: ”/Applications/Xcode.app/Contents/Developer”/usr/bin/xcrun: No such file or directory
Error: can't find tool named 'otool' in the macosx SDK or any fallback SDKs at ./symbolicatecrash line 115.

以下はsymbolicatecrashファイルです

#symbolicatecrash
sub getToolPath {
    my ($toolName, $sdkGuess) = @_;

    if (!defined($sdkGuess)) {
        $sdkGuess = "macosx";
    }

    my $toolPath = `'$DEVELOPER_DIR/usr/bin/xcrun' -sdk $sdkGuess -find $toolName`;
    if (!defined($toolPath) || $? != 0) {
        if ($sdkGuess eq "macosx") {
            die "Error: can't find tool named '$toolName' in the $sdkGuess SDK or any fallback SDKs"; <------ This line is line115
        } elsif ($sdkGuess eq "iphoneos") {
            print STDERR "## Warning: can't find tool named '$toolName' in iOS SDK, falling back to searching the Mac OS X SDK\n";
            return getToolPath($toolName, "macosx");
        } else {
            print STDERR "## Warning: can't find tool named '$toolName' in the $sdkGuess SDK, falling back to searching the iOS SDK\n";
            return getToolPath($toolName, "iphoneos");
        }
    }

    chomp $toolPath;
    print STDERR "$toolName path is '$toolPath'\n" if $opt{v};

    return $toolPath;
}
4

2 に答える 2

1

1)

コマンド ラインで次のように入力します。

xcode-select --print-path

/Application/Xcode.app/Contents/Developer のパスが表示されている場合は、手順 2 に進みます。表示されていない場合は、" sudo xcode-select -s /path/to/your/Xcode/Contents/Developer" フォルダーを使用してパスを変更します。

2)

http://developer.apple.com/xcodeサイトの「追加ツール」リンクから入手できる Xcode コマンド ライン ツールをインストールしてみてください。

3)

.tcshrc / .bashrc " $PATH" 環境変数が正しいことを確認してください。私のローカル マシンでは、" "xcrunは " /usr/bin" にotool住んでおり、" " にも住んで/usr/binいます。

于 2015-10-27T02:10:56.553 に答える
-1

私は同じ操作をbash(zshを使用する前)で試しましたが、うまくいきました。.zshrc の設定に問題があるようです。

于 2015-10-27T23:12:33.967 に答える