1

インターネットでこのプロジェクトを見つけました: https://github.com/x2on/OpenSSL-for-iPhone

MD5 値を計算し、編集ボックスからテキスト入力を取得するデモ アプリがあります。デモ アプリ内で、MD5 値を計算する OpenSSL コードにステップ インできます。

XCode 4.3.2 を使用しています。OpenSSLも使用するプロジェクトがあります。プロジェクト内で SSL ハンドシェイクに問題が発生します (このコードは OpenSSL 内で実行されます)。

「x2on」のビルド スクリプトを使用してライブラリ (libcrypto.a および libssl.a) をビルドし、これらのライブラリをプロジェクトに追加しましたが、自分のプロジェクト内から OpenSSL メソッドの呼び出しにステップ インできません。

また、設定を自分のアプリと比較すると、デモ アプリ (「x2on」から) に存在する関連する設定を見つけることができませんでした。OpenSSL 呼び出しにステップインしようとすると、実行は次の行に移動します (.asm コードにも OpenSSL コードにも入りません)。また、マウスの右ボタンを使用して [Jump to Definition] を選択すると、実装 (.c) の代わりに OpenSSL ヘッダー ファイルが表示されます。

誰かがここでいくつかのヒントを与えることができますか? 「踏み込む」は一般的にどのように機能するはずですか? ライブラリ (.a) には、ソース コードの場所への参照が含まれていますか? XCode でソース コードの検索パスをどこに設定できますか? XCode が OpenSSL コードを含むコードを再インデックスし、「定義へのジャンプ」が機​​能するようにするにはどうすればよいですか?

この問題に苦しんでいる、または苦しんでいる人をもっと見つけたので、どんな助けも感謝しています.

追加: 小さなテスト アプリを作成し、libcrypto.a と libssl.a を Frameworks フォルダーに追加し、OpenSSL のヘッダー ファイルへのパスをビルド設定 | に含めました。ヘッダー検索パス。OpenSSL コード/メソッドの一部にステップインすることは問題ありません...しかし、同じ戦略を私の巨大なプロジェクトに適用すると、OpenSSL 呼び出しにステップインする代わりに OpenSSL 呼び出しをステップオーバーします...各プロジェクトが静的ライブラリを一度だけ参照する必要がありますか? プロジェクトが静的ライブラリを複数回参照する場合、そのライブラリのコードにステップインする機能が壊れますか?

追加するのを忘れました: 小さなテスト アプリの場合、OpenSSL のソース ファイルの場所を示す必要はありませんでした。したがって、私の暫定的な結論は、.a ライブラリには OpenSSL のソース ファイルへの参照が含まれているということです (そうでなければ、XCode はソース ファイルの場所をどのように知ることができるでしょうか?)。

さらに情報を共有するには、私の巨大なプロジェクトとテスト アプリケーションの両方で、[定義にジャンプ] を選択してソース コードにジャンプすることはできません。したがって、コードに足を踏み入れることと「定義にジャンプ」は無関係のようです。

4

0 に答える 0