我想调试为什么一个对象从这一行返回null
debug_log = LoggingConfigFileLoader.getLogFilePaths().get("debug.log");我希望知道在异常发生之前发生了什么java执行。不幸的是,.jar来自一个大项目,可能很难构建。尤其是对我来说,谁都不懂java。这是在openjdk7上的,( java开发人员也使用它)。但是,代码以前从未在FreeBSD上运行过。
最后,我想找出这个未处理异常的真正原因/根本原因:
ums4 UMS/ root~# /usr/local/openjdk7/bin/java -Djava.awt.headless=true -classpath /usr/local/share/universal-media-server/ums.jar net.pms.PMS
18:18:12.424 [main] DEBUG o.a.c.c.ConfigurationUtils - ConfigurationUtils.locate(): base is null, name is /root/.config/UMS/UMS.conf
18:18:12.430 [main] DEBUG o.a.c.c.DefaultFileSystem - Could not locate file /root/.config/UMS/UMS.conf at null: no protocol: /root/.config/UMS/UMS.conf
18:18:12.431 [main] DEBUG o.a.c.c.ConfigurationUtils - Loading configuration from the absolute path /root/.config/UMS/UMS.conf
18:18:12.431 [main] DEBUG o.a.c.c.PropertiesConfiguration - Base path set to file:///root/.config/UMS/UMS.conf
18:18:12.463 [main] DEBUG o.a.c.c.PropertiesConfiguration - FileName set to UMS.conf
18:18:12.464 [main] DEBUG o.a.c.c.PropertiesConfiguration - Base path set to /root/.config/UMS
18:18:12.480 [main] DEBUG n.p.c.ConfigurationReader - Reading cred.path: default: "", current: "/root/.config/UMS/UMS.cred"
18:18:12.498 [main] INFO net.pms.PMS - Starting Universal Media Server 4.0.0-a1
18:18:12.499 [main] INFO net.pms.PMS - Based on PS3 Media Server by shagrath, copyright 2008-2014
18:18:12.499 [main] INFO net.pms.PMS - http://www.universalmediaserver.com
18:18:12.499 [main] INFO net.pms.PMS -
18:18:12.499 [main] INFO net.pms.PMS - Build: 38318285b (2014-06-02)
18:18:12.499 [main] INFO net.pms.PMS - Java: OpenJDK 64-Bit Server VM 1.7.0_60 64-bit by Oracle Corporation
18:18:12.500 [main] INFO net.pms.PMS - OS: FreeBSD 64-bit 9.2-RELEASE-p3
18:18:12.500 [main] INFO net.pms.PMS - Encoding: US-ASCII
18:18:12.522 [main] INFO net.pms.PMS - Memory: 313 MB
18:18:12.522 [main] INFO net.pms.PMS - Language: en
18:18:12.522 [main] INFO net.pms.PMS -
18:18:12.523 [main] INFO net.pms.PMS - Working directory: /var/db/universal-media-server/.config/UMS
18:18:12.525 [main] INFO net.pms.PMS - Temp directory: /tmp/universalmediaserver
18:18:12.525 [main] INFO net.pms.PMS - Logging config file: internal defaults
18:18:12.526 [main] INFO net.pms.PMS -
18:18:12.526 [main] INFO net.pms.PMS - Profile directory: /root/.config/UMS
18:18:12.527 [main] INFO net.pms.PMS - Profile directory permissions: rw
18:18:12.527 [main] INFO net.pms.PMS - Profile path: /root/.config/UMS/UMS.conf
18:18:12.527 [main] INFO net.pms.PMS - Profile permissions: rw
18:18:12.527 [main] INFO net.pms.PMS - Profile name: ums4
18:18:12.528 [main] INFO net.pms.PMS -
18:18:12.528 [main] INFO net.pms.PMS - Web conf path: /root/.config/UMS/WEB.conf
18:18:12.528 [main] INFO net.pms.PMS - Web conf permissions: file not found
18:18:12.528 [main] INFO net.pms.PMS -
18:18:12.540 [main] ERROR net.pms.PMS - A serious error occurred during PMS init
java.lang.NullPointerException: null
at net.pms.newgui.DbgPacker.<init>(DbgPacker.java:40) ~[ums.jar:4.0.0-a1]
at net.pms.PMS.displayBanner(PMS.java:357) [ums.jar:4.0.0-a1]
at net.pms.PMS.init(PMS.java:509) [ums.jar:4.0.0-a1]
at net.pms.PMS.createInstance(PMS.java:1038) [ums.jar:4.0.0-a1]
at net.pms.PMS.main(PMS.java:1138) [ums.jar:4.0.0-a1]发布于 2014-07-03 07:05:13
您可以尝试将项目加载到IDE中,并设置“中断异常”断点(例如,在Eclipse中,它位于"Run -> Add Java断点.“中)。
但我相信这种方法只适用于较小的工程。例如,昨天我厌倦了等待,而番石榴的先决条件检查中断了长批处理的执行,我添加了一些日志并重新运行进程w/o调试器。所以YMMV。
https://stackoverflow.com/questions/24546803
复制相似问题