处理切断堆栈跟踪

Processing cuts off stack trace

在 macOS 10.14.6 的 Terminal.app.

中使用 Command line edition for Processing 0269 (Java Mode) 运行ning

我正在使用 processing-java 到 运行 一个 Processing 程序,它产生了一个错误。因此打印了以下堆栈跟踪:

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at processing.core.PApplet.runSketch(PApplet.java:10845)
    at processing.core.PApplet.main(PApplet.java:10613)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at processing.core.PApplet.runSketch(PApplet.java:10839)
    ... 1 more
Caused by: java.lang.NullPointerException
    at treibsand$Runtime.averageHistory(treibsand.java:72)
    at treibsand$Analyzer.<init>(treibsand.java:204)
    at treibsand.<init>(treibsand.java:105)
    ... 6 more

现在如果不是显示文字 ... 6 more 而不是堆栈跟踪的其余部分,此信息可能会有用。

Processing IDE.

中 运行ning 程序时显示相同的堆栈跟踪

如何查看整个堆栈跟踪?

处理没有切断任何东西。这是 Java 标准的一部分。请参阅 here 了解更多信息。

不过应该没什么大不了的。堆栈跟踪的顶部几乎总是包含您要查找的信息。在你的例子中,你在 treibsand.java 的第 72 行点击了 NullPointerException (顺便说一句,应该用大写字母命名以遵循标准命名约定)。

如果您真的需要更多关于发生了什么的信息,那么您可以在该行的正上方添加您自己的日志记录并打印出您想要的任何内容,包括完整的堆栈跟踪。但我的猜测是,这实际上无济于事,因为问题发生在堆栈跟踪顶部的行上。

这可能是由于在初始化草图之前尝试使用处理函数等原因造成的。但同样,该信息不会位于堆栈跟踪中。