多くの場合、同じメソッドXが異なる別のメソッドA、B、Cから呼び出されます。メソッドXの内部から呼び出し元メソッド(A、B、C)の名前を取得できますか?最も好ましいのはGDBコンソールコマンド(デバッグ時)ですが、NSLogのものでも十分です。発信者メソッド名を取得する方法は?
1
A
答えて
5
bt
と入力すると、呼び出された関数の内部で助けになります。これは呼び出された関数のバックトレースを出力します。コール階層内の呼び出された関数のすぐ下にある関数が呼び出された関数です。
(gdb) bt
#0 factorial (n=10) at recursive.c:13
#1 0x0040135e in main() at recursive.c:9
main
がfactorial
と呼ばれることを、ここでは、観察します。
1
コールスタックを表示するには、gdbでbacktrace
というコマンドを使用できます。
1
X
のブレークポイントにいる場合は、where
を使用してスタックを印刷すると、X
への呼び出しがどこから発生しているかを確認できます。
0
typedefののNSLog関数名を印刷し、メソッドの開始と終了時に、それを追加します。
#define CustomLogEnter(fmt, ...) NSLog((@"Function entered %s " fmt), __PRETTY_FUNCTION__, ##__VA_ARGS__);
あなたはまた、上記の代替は、gdbをすると、ブレークポイントを使用せずに、あなたが試すことができますしたいので、あなたができます行番号は__LINE__
で記録してください。
関連する問題
- 1. 発信者IDを取得する
- 2. コードで自分の発信者IDの名前を取得するには?
- 3. 既知のメソッドからメソッド名を取得する方法は?
- 4. 署名から受信者としてメッセージを取得する方法
- 5. メソッド内でメソッド名を取得する方法
- 6. メソッドのメソッド名を取得する方法
- 7. リクエストダイアログ - 送信者IDを取得する方法
- 8. 送信者からタグ値を取得する方法
- 9. UIMenuControllerの親送信者を取得する方法
- 10. MPI_Request - 送信者を取得
- 11. 静的な子メソッドからクラス名を取得する方法
- 12. SpringインターセプタpreHandleメソッドでコントローラメソッド名を取得する方法
- 13. JavaScriptファイルからメソッド名を取得する方法
- 14. pythonでPDB形式の発信者情報を取得
- 15. 呼び出し元のファイル名、メソッド名をPythonで取得する方法
- 16. WPF:Window_Loadedにマウス位置を取得する方法(オブジェクト送信者、RoutedEventArgs e)のイベント
- 17. AndroidでSMS受信者の電話番号を取得する方法
- 18. Delphi 7で現在のメソッドの名前を取得する方法は?
- 19. YII - コントローラのinit()関数でメソッドの名前を取得する方法は?
- 20. 匿名メソッドのターゲットを取得する
- 21. WCFサービス発信者のActive Directoryドメインユーザー名を確認する
- 22. Gmailの受信トレイの件名と送信者の名前を取得するためのpython imaplib
- 23. ISP名を取得する方法
- 24. スクリーンショット名を取得する方法
- 25. asp.netでpostメソッドで送信するデータの値を取得する方法
- 26. Buddypressでユーザー名/表示名を取得する方法は?
- 27. EWSで送信された電子メールから受信者の電子メールを取得する方法は?
- 28. PostgreSQLのDB所有者名を取得
- 29. JavaでTCPで送信者のIPを取得するには?
- 30. ファイル名の取得方法