我没有使用 java 应用程序的经验,但我发现找到指向这些应用程序内存地址的静态指针等通常(几乎)不可能,显然是因为处理代码的 java 引擎(如果这种命名方式,请纠正我)错了请)。
现在,我使用了 VisualVM ( https://visualvm.dev.java.net/ ),它很棒。我可以选择我的 java 进程并创建一个堆转储。然后它向我显示所有类及其值。
我可以使用这种方法不断轮询堆转储并接收对象值,例如游戏的 XY 和 Z?我将如何以编程方式与此类应用程序交互,如果这不应该使用 VisualVM 完成,还有什么替代方案?
编辑:这是我需要做的: 我需要能够找到所有具有特定值的属性的类。例如:我会搜索 X 坐标(一个浮点数),它应该返回类“PlayerCoordsHandler”(只是一个例子)和相应的浮点数及其值......或者只是一种再次找到这个相同浮点数的方法(例如重新启动后)。这个过程不必是编程的,只要请求现在已知的属性(x float)的值可以通过编程(例如使用命令行实用程序或从文件读取)来检索。
Edit2: 目标应用程序是 Windows 可执行文件(但使用 java 制作)并启动它自己的 java VM。无法添加用于调试的 java 参数。但这似乎不是必需的,因为 VirtualVM 能够很好地调试该过程。有谁知道怎么做?
提前致谢。