2016-07-22 6 views
2
私が知っている

、そこにログ・猫に呼び出される関数を確認する方法は、このLogcatでどの関数が呼び出されているか確認できますか?

@Override 
protected void onDestroy() { 
    super.onDestroy(); 
    Log.d("myTag","onDestroy function is called!"); 
    // some logic 
} 

のように、すべての機能のために上にログメッセージを書き込むようにされている。しかし、あなたがより多くの機能を持っているとき、それが刺激になります。

したがって、すべての関数のログメッセージを書き込まずに、どの関数がadb-logcatで呼び出されるかを調べる方法があるのだろうかと思います。

私はスタックのどこかからフェッチできると思っていますが、見つけられませんでした。あなたはより洗練された方法での使用では、この

StackTraceElement[] stacktrace = Thread.currentThread().getStackTrace(); 
StackTraceElement e = stacktrace[1]; //coz 0th will be getStackTrace so 1st 
String methodName = e.getMethodName(); 
System.out.println(methodName); 

出典これら

String name = new Object(){}.getClass().getEnclosingMethod().getName(); 

または

Thread.currentThread().getStackTrace(); 

のいずれかを使用することができます

+0

代わりlogcat – SaravInfern

+0

のブレークポイントを使用しようとするが、この上の外観を持っている:http://stackoverflow.com/questions/421280/how-do -i-find-the-method-using-stacktrace-or-reflection – KishuDroid

答えて

0

:Googleに;)の代わりに、印刷の

0

すべての機能にログインします。私(または大部分の人)はデバッグをするように提案します。

最初にデバッグを使用するには、チェックするすべての関数内にブレークポイントを作成します。ブレークポイントを適用するには、コードの左側の領域をクリックします(ピンクの円はブレークポイントを表します)。

enter image description here

そして、デバッグを使用するには、アプリケーションを正常に実行した後、このボタンを押す必要があります。

enter image description here

とすぐに第一の方法は、アプリケーションと呼ばれているとして(あなたは日食の設定を使用している場合、またはF6)、あなたが移動するために、次の行に移動するにはF8を使用することができ、ブレークポイントで一時停止します次のブレークポイントにF9(またはEclipse設定を使用している場合はF8)を押すことができます。この方法は、呼び出されているすべての機能をチェックすることができます。

このブレークポイントメソッドは、特定の関数が呼び出されていることを確認したい場合に非常に役立ちます。

これ以外にも、すべての機能の詳細を知りたい場合は、スタックトレースを格納することができます。

final StackTraceElement[] trace = new Throwable().getStackTrace()) 
    StackTraceElement STrace  = trace[1]; 
    String className = STrace.getMethodName(); 
2

Hugoを試すことができます。その場合は、メソッドに@DebugLogのみ注釈を付ける必要があります。その後、Hugoはログを生成します(引数を出力して値を返します)。 GitHubのからの例:

@DebugLog 
public String getName(String first, String last) { 
    SystemClock.sleep(15); // Don't ever really do this! 
    return first + " " + last; 
} 

、出力をログ:

V/Example: ⇢ getName(first="Jake", last="Wharton") 
V/Example: ⇠ getName [16ms] = "Jake Wharton" 
関連する問題