簡體   English   中英

如何獲取Android / Java中調試輸出的方法名稱?

[英]How to get method name for debug output in Android/Java?

我想創建一個在Log.d和Log.e輸出期間打印出當前方法名稱的宏。 現在,我只需在硬編碼的字符串中鍵入方法名稱,但是如果將來更改方法名稱,這顯然效率不高,因為需要搜索並替換每個字符串。

我知道如這篇文章所述使用getMethodName():

如何在Java中獲取方法名稱

這個看起來也很有希望:

使用輔助程序擴展方法進行調試

SO上有無數此類帖子,但我想找到一種最佳的調試方法,該方法不會對運行時性能產生太大影響。 由於我使用的是Eclipse,因此我想找到一個可以與該IDE一起很好地工作的解決方案。

我知道這對於您當前的執行情況是可用的。

    Thread current = Thread.currentThread();
    StackTraceElement[] stack = current.getStackTrace();
    for(StackTraceElement element : stack)
    {
        if (!element.isNativeMethod()) {
            String className = element.getClassName();
            String fileName = element.getFileName();
            int lineNumber = element.getLineNumber();
            String methodName = element.getMethodName();
        }
    }

這是我在上面的評論中提到的一個簡單但非常有用的Eclipse插件: 下載插件

它是一個增量構建器,因此典型的構建時間以秒為單位。 將其作為新生<buildCommand>添加到您的.project文件中,其名稱為:

<name>org.pskink.logger.builder</name>

它應該是<buildSpec>列表中的最后一個生成器

安裝:只需將其復制到plugins文件夾並重新啟動eclipse

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM