3

Objective C で使用される環境変数のリストが必要です。

たとえばNSObjCMessageEnabled: YES、メソッドのログ記録に使用されます。そのような方法をすべてリストアップしてください。

4

1 に答える 1

4

Apple のドキュメントに関しては、リストはリリースごとに異なります。たとえば、私の OSX 10.2.8 では、次のデバッグ環境変数が存在します ( NSObjCMessageLoggingEnabledのほかに):

  • OBJC_PRINT_OPTIONS : 設定されているオプションのリスト
  • OBJC_PRINT_IMAGES : ロードされたイメージとライブラリの名前をログに記録します
  • OBJC_PRINT_LOAD_METHODS : クラスとカテゴリへの呼び出しをログに記録 + メソッドの読み込み
  • OBJC_PRINT_INITIALIZE_METHODS : クラスへの呼び出しを記録 + メソッドの初期化
  • OBJC_PRINT_RESOLVED_METHODS : +resolveClassMethod: および +resolveInstanceMethod: によって作成されたメソッドをログに記録します。
  • OBJC_PRINT_CLASS_SETUP : クラスとカテゴリのセットアップの進行状況をログに記録します
  • OBJC_PRINT_PROTOCOL_SETUP : プロトコル設定の進行状況をログに記録します
  • OBJC_PRINT_IVAR_SETUP : 壊れにくい ivar のログ処理
  • OBJC_PRINT_VTABLE_SETUP : クラス vtable のログ処理
  • OBJC_PRINT_VTABLE_IMAGES : オーバーライドされたメソッドを示す vtable イメージを出力します
  • OBJC_PRINT_CACHE_SETUP : メソッドキャッシュのログ処理
  • OBJC_PRINT_FUTURE_CLASSES : フリーダイヤル ブリッジングのための将来のクラスの使用をログに記録します
  • OBJC_PRINT_GC : いくつかの GC 操作をログに記録します
  • OBJC_PRINT_PREOPTIMIZATION : dyld 共有キャッシュによるログの事前最適化
  • OBJC_PRINT_CXX_CTORS : インスタンス変数の C++ ctors および dtors への呼び出しをログに記録します
  • OBJC_PRINT_EXCEPTIONS : ログ例外処理
  • OBJC_PRINT_EXCEPTION_THROW : すべての objc_exception_throw() のバックトレースをログに記録します
  • OBJC_PRINT_ALT_HANDLERS : 例外代替ハンドラーのログ処理
  • OBJC_PRINT_REPLACED_METHODS : カテゴリの実装に置き換えられたログ メソッド
  • OBJC_PRINT_DEPRECATION_WARNINGS : 非推奨のランタイム関数の呼び出しについて警告します
  • OBJC_PRINT_POOL_HIGHWATER : 自動解放プールの上限基準点をログに記録します
  • OBJC_PRINT_CUSTOM_RR:最適化されていないカスタム保持/解放メソッドを持つログ クラス
  • OBJC_PRINT_CUSTOM_AWZ : 最適化されていないカスタム allocWithZone メソッドを持つログ クラス
  • OBJC_DEBUG_UNLOAD : アンロード時に動作の悪いバンドルについて警告します
  • OBJC_DEBUG_FRAGILE_SUPERCLASSES : スーパークラスへのその後の変更によって壊れた可能性のあるサブクラスについて警告します
  • OBJC_DEBUG_FINALIZERS : -dealloc を実装するが -finalize を実装しないクラスについて警告する
  • OBJC_DEBUG_NIL_SYNC : 同期を行わない @synchronized(nil) について警告します
  • OBJC_DEBUG_NONFRAGILE_IVARS : 非壊れやすい ivar を気まぐれに再配置します
  • OBJC_DEBUG_ALT_HANDLERS : 不適切な alt ハンドラーの使用に関する詳細情報を記録します
  • OBJC_USE_INTERNAL_ZONE : 専用の malloc ゾーンにランタイム データを割り当てます
  • OBJC_DISABLE_GC : 実行可能ファイルがオンにしたい場合でも、強制的に GC をオフにします
  • OBJC_DISABLE_VTABLES : vtable ディスパッチを無効にします
  • OBJC_DISABLE_PREOPTIMIZATION : dyld 共有キャッシュによる事前最適化を無効にします

システムでリストを取得する場合は、プログラムに設定OBJC_HELPYESて開始します。次に、リストがダンプされます。

于 2013-02-15T11:58:05.063 に答える