表示: Object Pascal C++
表示設定

iOS アプリケーションのデバッグ

提供: Appmethod Topics
移動先: 案内, 検索

マルチデバイス アプリケーションのデバッグ への移動

Appmethod では、iOS シミュレータ(Object Pascal でのみ使用可能)または iOS デバイスで動作している iOS アプリケーションを IDE でデバッグすることができます。 IDE での iOS アプリケーションのデバッグは、Appmethod での Windows アプリケーションや Mac OS X アプリケーションのデバッグと似たやり方で行うことができます。しかし、提供されているデバッガ機能は、ターゲット プラットフォームやオペレーティング システムによって異なります。具体的には、iOS シミュレータ ターゲット プラットフォーム(Mac OS X オペレーティング システム)用のデバッガでは、iOS デバイス - 32 ビットおよび iOS デバイス - 64 ビット ターゲット プラットフォーム(iOS オペレーティング システム)用のデバッガよりも多くの機能を IDE で使用することができます。

この後のセクションでは、iOS シミュレータiOS デバイス - 32 ビットiOS デバイス - 64 ビットでどのデバッガ機能を使用できるか(または使用できないか)を説明します。

iOS シミュレータ:iOS シミュレータで動作しているアプリケーションのデバッグ

一般に、このデバッガでは、iOS デバイス用のデバッガよりも充実した機能を使用することができます。

プロパティの評価および変更は、iOS シミュレータでは完全にサポートされてはいません。

メモ: iOS シミュレータ アプリケーションのデバッグは、Object Pascal でのみ使用可能です。

iOS デバイス:iOS デバイス上で動作するアプリケーションのデバッグ

32 ビット iOS デバイスと 64 ビット iOS デバイスのデバッガの機能は、Windows のものとは異なります。

[モジュール]ウィンドウ

  • 関数エントリはサポートされていません。
  • [エントリ ポイント][アドレス]の列に内容が表示されません([エントリ ポイント]のコンテキスト メニューが空であるためです)。

[デバッグ インスペクタ]

  • [データ]列のみ内容が設定されています。
  • [メソッド][プロパティ]は表示されません。

bfd_mach_o_scan_read 系エラーの解決

SDK または OS の新しいバージョンに更新すると、次のような警告が表示される可能性があります。

bfd_mach_o_scan_read_symtab_symbol: symbol "_strcmp" is unsupported 'indirect' reference: setting to undefined
bfd_mach_o_scan_read_symtab_symbol: symbol "_bzero" is unsupported 'indirect' reference: setting to undefined
bfd_mach_o_scan_read_symtab_symbol: symbol "_strchr" is unsupported 'indirect' reference: setting to undefined
bfd_mach_o_scan_read_symtab_symbol: symbol "_memset_pattern16" is unsupported 'indirect' reference: setting to undefined
bfd_mach_o_scan_read_symtab_symbol: symbol "_memcpy" is unsupported 'indirect' reference: setting to undefined
bfd_mach_o_scan_read_symtab_symbol: symbol "_memcmp" is unsupported 'indirect' reference: setting to undefined
bfd_mach_o_scan_read_symtab_symbol: symbol "_memchr" is unsupported 'indirect' reference: setting to undefined
bfd_mach_o_scan_read_symtab_symbol: symbol "_memccpy" is unsupported 'indirect' reference: setting to undefined
bfd_mach_o_scan_read_symtab_symbol: symbol "_memset_pattern8" is unsupported 'indirect' reference: setting to undefined

これらの警告が発生するのは、実際のデバイス ライブラリではなく SDK ライブラリがデバッガで使用されるためです。ファイルを再同期させるには、iOS プロジェクトを Xcode の iOS プロジェクト テンプレート(たとえば[Empty Application]など)から実行します。警告がなくなるはずです。そうでない場合は、デバイスを iOS の次のサブマイナー バージョンにアップグレードすると、警告がなくなります。これらの警告はデバッグ作業には影響を及ぼしません。

[デバッガを使わずに実行]で iOS アプリケーションが停止しない可能性がある

デバッガを使わずにデバイス上で iOS アプリケーションを実行すると、iOS インストーラがプログラムにまだアタッチされているため、アプリケーションが実行したままになる可能性があります。デバッガが動作しておらずアプリケーションを停止できないため、iOS アプリケーションを閉じても終了しない可能性があります。

その場合には、Mac 上の接続している PAServer インスタンスを終了する必要があります。(PAServer のコマンド プロンプト(>)に q コマンドを入力してください。)

64 ビット iOS デバイス上で動作するアプリケーションのデバッグ

次のように、[iOS デバイス - 32 ビット]をターゲット プラットフォームとするアプリケーションのデバッグ時に使用できる機能の一部は、[iOS デバイス - 64 ビット]をターゲット プラットフォームとするアプリケーションの場合には使用できない可能性があります。

  • デバッガでは、TObject から継承した仮想メソッドを持つ動的配列またはオブジェクトなどの多くの Object Pascal 構文要素の評価をサポートしていません。
  • ツールチップは無効になっています。
  • Object Pascal 式を評価するための Object Pascal 構文が完全にはサポートされていません。C++ 構文を回避策として使用します。
  • Object Pascal 識別子では大文字/小文字が区別されるため、評価時には、大文字/小文字をソース コードと同じにする必要があります。
  • 例外が発生するおそれのある評価を防ぐことはできません。初期化されていないデータにアクセスしたり例外を発生させるおそれのある関数を評価しないように気をつけます。

上記のオプションを使ってデバッグする必要がある場合は、できるだけ[iOS デバイス - 32 ビット]をターゲット プラットフォームとして設定してデバッグを完了することをお勧めします。

関連項目

個人用ツール
他言語版