私は最近、Googleに問題の解決策がなかったという問題に直面しました。私はコンソールまたはファイルにアプリケーションのObjective-Cメッセージを記録したいと思います。私はアプリケーションを書いていないので、ログを再コンパイルするためのソースコードは含まれていません。私はjailbroken iPhoneを持っているので、これを実現する方法に制限はありません。私はMobileSubstrateエクステンション(これはobjc_msgSendをいくつかのロギングを行うアプリケーションにフックしてもよいですか?これで私を助けてもらえますか?iPhoneでobjc_msgSend()をログに記録
答えて
ObjCメッセージのロギングメカニズムはありますが、シンボルファイルなしでメソッド名を取得するかどうかはわかりません。あなたのジェイルブレイク携帯電話は、デバッガ(GDB)の制御下で任意のアプリケーションを実行することができます、あなたがアプリを起動することができるはず、初期化時に早期にブレークポイントを設定すると仮定すると、次の操作を行います。
(gdb) call (void)instrumentObjcMessageSends(YES)
は、ログファイルはtmpフォルダ内のテキストファイルに書き込まれます。ここでは詳細:
http://www.dribin.org/dave/blog/archives/2006/04/22/tracing_objc/
Cbranchありがとう、本当に助けてくれました。私はこれを試してみる。 (oops、もう1つ質問:私はどのようにブレークポイントを設定するのですか?) –
まあ、私はこれを試しましたが、int/tmpファイルがありませんでした。 –
はシミュレータを試しましたか?私のためにそこで働いた。 – Kaiserludi
- 1. ユーザーアクティビティをログに記録
- 2. SpringでJedisクライアントをログに記録
- 3. Alfresco 4.2+でCMISクエリーをログに記録
- 4. RailsアプリケーションでRestClientをログに記録
- 5. シェフがテストキッチンでログに記録
- 6. PreparedStatementをログに記録するには?
- 7. ユーザーアクティビティをログに記録するには
- 8. プログラムでElmahでエラーをログに記録する:特定の情報をログに記録する
- 9. Postgres Windows用のログ記録
- 10. 治療スプラッシュ - ログ記録中
- 11. Grails log4J linuxのログ記録
- 12. エンタープライズライブラリのログ記録ログファイル
- 13. 特定のメッセージをログに記録
- 14. セロリタスクのキューにログを記録する
- 15. エルヴィスオペレータにログを記録しますか?
- 16. SQLスクリプトエラーをログに記録する
- 17. Authlogic。ログアウトタイムアウトをログに記録する
- 18. アクセスログのGWTメソッド名をログに記録
- 19. PythonロギングモジュールがMacではログに記録されますが、Linuxではログに記録されません。
- 20. RoR:テスト前にログに記録する
- 21. ログに記録されましたが、ログに記録されたユーザーのページにアクセスできませんか?
- 22. ログに記録する方法
- 23. Firebaseがログに記録しないITEM_ID
- 24. 構成によるログ記録
- 25. NLogがログに記録されない
- 26. IntelliTraceがログに記録されない
- 27. エンタープライズライブラリがログに記録されない
- 28. 通話終了後に通話記録をログに記録する方法
- 29. iphoneのキーデータを記録するには?
- 30. すべてのブラウザのDOM/JQueryイベントを記録またはログに記録
あなたは文句を言わないメソッド名を取得ログインするとき。あなたはポインタだけを得るでしょう。メソッド名は最後のバイナリには格納されません。別のファイル(.dSYM)に保存されます – mackross
メソッドセレクタはバイナリに格納されます。 Objective-cはそれらなしでは動作しません。 objc_msgSendの2番目の引数はセレクタで、これは文字列に変更できます。 – ughoavgfhw
ughoavgfhwは正しいです(Objective-Cソースからldによって生成されたバイナリをオープンしようとしたことがありますか?)これは良いことですが、objc_msgSendを使ってログを作成する方法は? –