在Android Studio(和IntelliJ afaik)中出现错误时,堆栈跟踪似乎仅限于一定数量的行。例如:
(我在这个解释和示例下面发布了完整的堆栈跟踪。)
library(shiny)
ui <- shinyUI(fluidPage(
tags$style(HTML("div#distPlot img {width: auto; height: auto; max-width: auto; max-height: 400px;}")),
titlePanel("Old Faithful Geyser Data"),
sidebarLayout(
sidebarPanel(
sliderInput("bins",
"Number of bins:",
min = 1,
max = 50,
value = 30)
),
mainPanel(
plotOutput("distPlot")
)
)
))
server <- shinyServer(function(input, output) {
output$distPlot <- renderPlot({
x <- faithful[, 2]
bins <- seq(min(x), max(x), length.out = input$bins + 1)
hist(x, breaks = bins, col = 'darkgray', border = 'white')
}, width=600, height=1200)
})
shinyApp(ui = ui, server = server)
我不确定37实际上是什么,但我觉得这些编辑正在切断完整的堆栈跟踪。我这样说,因为在我的代码中,我可以证明空指针异常导致启动堆栈跟踪的问题。这次我很幸运能找到它,但由于某种原因它似乎忽略了问题的根源。
也许是因为Android的工作方式,但是当我给自定义视图充气时会出现空指针异常,并且这些行告诉我错误已经开启并不是问题的根源;问题出在构造函数创建视图时。
重申一下,我知道这次问题是什么,但这不是我第一次遇到这个问题。它使调试极具挑战性。
这是我的完整堆栈跟踪。
**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
很抱歉缩进,但复制和粘贴并不完美来自编辑器并不完美,我想省略几行,因为我非常重视我的工作:)。我剪下的所有线条在后面的线条上都有不同的缩进,并且删除的线条都引用了相同的类。