簡體   English   中英

如何在Android Studio中查看整個堆棧跟蹤?

[英]How to view the entire stack trace in Android Studio?

在Android Studio(和IntelliJ afaik)中,當出現錯誤時,堆棧跟蹤似乎僅限於一定數量的行。 例如:

(我已在此說明和示例下方發布了完整的堆棧跟蹤。)

     **MANY MANY LINES BEFORE THIS**
     Caused by: java.lang.reflect.InvocationTargetException
     at java.lang.reflect.Constructor.newInstance(Native Method)
     at android.view.LayoutInflater.createView(LayoutInflater.java:631)
         ... 37 

我不確定37到底是什么,但是我覺得這些編輯器正在切斷完整的堆棧跟蹤。 我這樣說是因為,在我的代碼中,我可以證明空指針異常導致了啟動堆棧跟蹤的問題。 這次我很幸運能找到它,但是由於某種原因,它似乎無視我的問題的根源。

可能是由於Android的工作方式引起的,但是當我向自定義視圖充氣時,會發生空指針異常,並且這些行告訴我錯誤不是問題的根源。 問題在於創建視圖時的構造函數中。

重申一下,我知道這次是什么問題,但這不是我第一次遇到這個問題。 這使得調試非常困難。

這是我的完整堆棧跟蹤。

    06-12 12:59:31.766 31807-31807/
E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                Process: , PID: 31807
                                                                                android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class <unknown>
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:551)
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
                                                             at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5228)
                                                                                    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4453)
                                                                                    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4363)
                                                                                    at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961)
                                                                                    at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370)
                                                                                    at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333)
                                                                                    at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:562)
                                                                                    at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900)
                                                                                    at android.support.v7.widget.RecyclerView.consumePendingUpdateOperations(RecyclerView.java:1418)
                                                                                    at android.support.v7.widget.RecyclerView.access$400(RecyclerView.java:144)
                                                                                    at android.support.v7.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:3783)
                                                                                    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)
                                                                                    at android.view.Choreographer.doCallbacks(Choreographer.java:695)
                                                                                    at android.view.Choreographer.doFrame(Choreographer.java:628)
                                                                                    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)
                                                                                    at android.os.Handler.handleCallback(Handler.java:739)
                                                                                    at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                                    at android.os.Looper.loop(Looper.java:158)
                                                                                    at android.app.ActivityThread.main(ActivityThread.java:7224)
                                                                                    at java.lang.reflect.Method.invoke(Native Method)
                                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
                                                                                 Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
                                                                                    at android.view.LayoutInflater.createView(LayoutInflater.java:657)
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 

                                                                                    at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5228) 
                                                                                    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4453) 
                                                                                    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4363) 
                                                                                    at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961) 
                                                                                    at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370) 
                                                                                    at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333) 
                                                                                    at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:562) 
                                                                                    at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900) 
                                                                                    at android.support.v7.widget.RecyclerView.consumePendingUpdateOperations(RecyclerView.java:1418) 
                                                                                    at android.support.v7.widget.RecyclerView.access$400(RecyclerView.java:144) 
                                                                                    at android.support.v7.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:3783) 
                                                                                    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920) 
                                                                                    at android.view.Choreographer.doCallbacks(Choreographer.java:695) 
                                                                                    at android.view.Choreographer.doFrame(Choreographer.java:628) 
                                                                                    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906) 
                                                                                    at android.os.Handler.handleCallback(Handler.java:739) 
                                                                                    at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                                                    at android.os.Looper.loop(Looper.java:158) 
                                                                                    at android.app.ActivityThread.main(ActivityThread.java:7224) 
                                                                                    at java.lang.reflect.Method.invoke(Native Method) 
                                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
                                                                                 Caused by: java.lang.reflect.InvocationTargetException
                                                                                    at java.lang.reflect.Constructor.newInstance(Native Method)
                                                                                    at android.view.LayoutInflater.createView(LayoutInflater.java:631)
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776) 
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716) 
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
                                                                                                                                                                  at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5228) 
                                                                                    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4453) 
                                                                                    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4363) 
                                                                                    at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961) 
                                                                                    at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370) 
                                                                                    at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333) 
                                                                                    at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:562) 
                                                                                    at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900) 
                                                                                    at android.support.v7.widget.RecyclerView.consumePendingUpdateOperations(RecyclerView.java:1418) 
                                                                                    at android.support.v7.widget.RecyclerView.access$400(RecyclerView.java:144) 
                                                                                    at android.support.v7.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:3783) 
                                                                                    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920) 
                                                                                    at android.view.Choreographer.doCallbacks(Choreographer.java:695) 
                                                                                    at android.view.Choreographer.doFrame(Choreographer.java:628) 
                                                                                    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906) 
                                                                                    at android.os.Handler.handleCallback(Handler.java:739) 
                                                                                    at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                                                    at android.os.Looper.loop(Looper.java:158) 
                                                                                    at android.app.ActivityThread.main(ActivityThread.java:7224) 
                                                                                    at java.lang.reflect.Method.invoke(Native Method) 
                                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
                                                                                 Caused by: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class 
                                                      at android.view.LayoutInflater.inflate(LayoutInflater.java:551)
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
                                                                                    at com.subliroid.subliroidlib.customviews.InfoHeaderCard.init(InfoHeaderCard.java:47)
                                                                                    at com.subliroid.subliroidlib.customviews.InfoHeaderCard.<init>(InfoHeaderCard.java:23)
                                                                                    at java.lang.reflect.Constructor.newInstance(Native Method) 
                                                                                    at android.view.LayoutInflater.createView(LayoutInflater.java:631) 
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776) 
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716) 
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
                                                                     at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5228) 
                                                                                    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4453) 
                                                                                    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4363) 
                                                                                    at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961) 
                                                                                    at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370) 
                                                                                    at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333) 
                                                                                    at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:562) 
                                                                                    at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900) 
                                                                                    at android.support.v7.widget.RecyclerView.consumePendingUpdateOperations(RecyclerView.java:1418) 
                                                                                    at android.support.v7.widget.RecyclerView.access$400(RecyclerView.java:144) 
                                                                                    at android.support.v7.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:3783) 
                                                                                    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920) 
                                                                                    at android.view.Choreographer.doCallbacks(Choreographer.java:695) 
                                                                                    at android.view.Choreographer.doFrame(Choreographer.java:628) 
                                                                                    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906) 
                                                                                    at android.os.Handler.handleCallback(Handler.java:739) 
                                                                                    at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                                                    at android.os.Looper.loop(Looper.java:158) 
                                                                                    at android.app.ActivityThread.main(ActivityThread.java:7224) 
                                                                                    at java.lang.reflect.Method.invoke(Native Method) 
                                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
                                                                                 Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class 
                                                                 at android.view.LayoutInflater.createView(LayoutInflater.java:657)
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:380) 
                                                                                    at com.subliroid.subliroidlib.customviews.InfoHeaderCard.init(InfoHeaderCard.java:47) 
                                                                                    at com.subliroid.subliroidlib.customviews.InfoHeaderCard.<init>(InfoHeaderCard.java:23) 
                                                                                    at java.lang.reflect.Constructor.newInstance(Native Method) 
                                                                                    at android.view.LayoutInflater.createView(LayoutInflater.java:631) 
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776) 
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716) 
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:429)     
                                                                                    at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5228) 
                                                                                    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4453) 
                                                                                    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4363) 
                                                                                    at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961) 
                                                                                    at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370) 
                                                                                    at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333) 
                                                                                    at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:562) 
                                                                                    at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900) 
                                                                                    at android.support.v7.widget.RecyclerView.consumePendingUpdateOperations(RecyclerView.java:1418) 
                                                                                    at android.support.v7.widget.RecyclerView.access$400(RecyclerView.java:144) 
                                                                                    at android.support.v7.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:3783) 
                                                                                    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920) 
                                                                                    at android.view.Choreographer.doCallbacks(Choreographer.java:695) 
                                                                                    at android.view.Choreographer.doFrame(Choreographer.java:628) 
                                                                                    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906) 
                                                                                    at android.os.Handler.handleCallback(Handler.java:739) 
                                                                                    at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                                                    at android.os.Looper.loop(Looper.java:158) 
                                                                                    at android.app.ActivityThread.main(ActivityThread.java:7224) 
                                                                                    at java.lang.reflect.Method.invoke(Native Method) 
                                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
                                                                                 Caused by: java.lang.reflect.InvocationTargetException
                                                                                    at java.lang.reflect.Constructor.newInstance(Native Method)
                                                                                    at android.view.LayoutInflater.createView(LayoutInflater.java:631)
                                                                                    ... 37 

很抱歉縮進,但是來自編輯器的復制和粘貼並不完美,我想省略幾行,因為我非常重視我的作品:)。 我剪切的所有行之后的行都有不同的縮進,並且刪除的行均引用同一類。

您可以使用ACRA查看完整的堆棧跟蹤

暫無
暫無

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

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