gpt4 book ai didi

java - 如何跟踪基于 javapackager 的应用程序在 macOS 上启动时执行的操作?

转载 作者:行者123 更新时间:2023-12-02 11:57:24 24 4
gpt4 key购买 nike

我为 macOS 编写了一个基于 Java 的应用程序,该应用程序是使用 Java 8 中的 Oracle 的 javapackager 创建的。它完美运行了几个月,直到发生了一些变化,可能是由于最近的 Java 更新,现在当我重建应用程序,执行时结果退出,没有任何消息。直接在终端 shell 中运行 jar 文件本身(即使用 java -jar path/to/my.jar)可以正常运行,不会出现错误。我不知道 .app 版本出了什么问题,并且无法弄清楚如何从 javapackager 创建的任何内容中获取任何诊断信息。

如何跟踪使用 javapackager 创建的 .app 在运行时执行的操作?

我使用 Oracle Java 1.8 u152 中 javapackager-deploy -native image 选项在 OSX 10.12.6 上创建应用程序。我的问题具体是关于如何让生成的 .app 打印它正在做什么,或者获取错误诊断,或者某事,以帮助弄清楚它在做什么引擎盖。我不需要运行 javapackager 本身的帮助。

我认为使用Console将有助于理解正在发生的事情,但信息太稀疏,对我来说很难解释。在隐藏了许多其他进程输出之后,它归结为打印以下内容:

default 22:43:22.523842 -0800   taskgated   MacOS error: -67062
default 22:43:22.733680 -0800 SBML Test Runner WARNING: The Gestalt selector gestaltSystemVersion is returning 10.9.6 instead of 10.12.6. This is not a bug in Gestalt -- it is a documented limitation. Use NSProcessInfo's operatingSystemVersion property to get correct system version number.
Call location:
default 22:43:22.733853 -0800 SBML Test Runner 0 CarbonCore 0x00007fff97a4d1b1 ___Gestalt_SystemVersion_block_invoke + 121
default 22:43:22.733876 -0800 SBML Test Runner 1 libdispatch.dylib 0x00007fffac28b8fc _dispatch_client_callout + 8
default 22:43:22.733897 -0800 SBML Test Runner 2 libdispatch.dylib 0x00007fffac28b8b9 dispatch_once_f + 38
default 22:43:22.733930 -0800 SBML Test Runner 3 CarbonCore 0x00007fff979db292 _Gestalt_SystemVersion + 976
default 22:43:22.733982 -0800 SBML Test Runner 4 CarbonCore 0x00007fff979daaad Gestalt + 139
default 22:43:22.734010 -0800 SBML Test Runner 5 libswt-pi-cocoa-4628.jnilib 0x00000001283072de Java_org_eclipse_swt_internal_cocoa_OS_Gestalt + 158
default 22:43:22.734028 -0800 SBML Test Runner 6 ??? 0x00000001067919f4 0x0 + 4403567092

虽然 taskated 错误一开始似乎是相关的,但一些谷歌搜索表明这是一个常见问题,而不是致命的。

最佳答案

首先,我将通过终端调用打包应用程序包中的二进制文件来验证实际的 JVM 是否启动:

/Applications/MyApp.app/Contents/MacOS/MyApp

如果出现 JVM 错误,您将得到打印到标准输出的输出。如果您可以确认 JVM 正常启动,您也许可以使用 jvisualvm 进行进一步分析。 .

关于java - 如何跟踪基于 javapackager 的应用程序在 macOS 上启动时执行的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47505210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com