分析Corda应用程序

分析Corda应用程序,corda,Corda,我正在尝试对CorDapp运行一些检测/评测-对于这个问题,这里是示例CorDapp:version release-3 但是,当我尝试根据corda shell中的jvm runtime将VisualVM附加到正在运行的PID时,会出现如下错误: (来自VisualVM的配置文件选项卡) Mon Jun 11 15:17:36 BST 2018>>探查器代理:JNI OnLoad正在初始化。。。 探查器代理:JNI OnLoad已成功初始化 探查器代理:正在端口5140上等待连接(协议版本:1

我正在尝试对CorDapp运行一些检测/评测-对于这个问题,这里是示例CorDapp:version release-3

但是,当我尝试根据corda shell中的
jvm runtime
将VisualVM附加到正在运行的PID时,会出现如下错误:

(来自VisualVM的配置文件选项卡)

Mon Jun 11 15:17:36 BST 2018>>探查器代理:JNI OnLoad正在初始化。。。
探查器代理:JNI OnLoad已成功初始化
探查器代理:正在端口5140上等待连接(协议版本:18)
探查器代理:已建立与工具的连接
探查器代理:本地加速会话
探查器代理错误:处理来自客户端的命令时出现异常:
java.io.InvalidClassException:筛选器状态:已拒绝
探查器代理:与代理的连接已关闭

或(从“采样器”选项卡)

CPU采样:
无法使用的。无法访问目标应用程序中的线程。查看日志文件以了解详细信息(使用帮助|关于|日志文件)。

日志文件给出了以下有用的错误:

WARNING[org.netbeans.modules.profiler.NetBeansProfiler]:IDEAppStatusHandler-错误:{}
***探查器错误(2018年6月11日星期一15:17:59英国夏令时):尝试从目标JVM获取响应时出现异常:
java.net.SocketException:连接重置
INFO[com.sun.tools.visualvm.sampler.cpu.ThreadInfoProvider]:mxbeans.getThreadMXBean()为应用程序[id:localhost-10884,pid:10884,host:localhost]返回null

我在MacOS和Ubuntu上都试过了,我遇到了同样的问题——所以我不认为这是Java安装问题


有什么指示吗

VisualVM使用Java序列化。Corda出于安全原因禁止Java序列化

见:


VisualVM使用Java序列化。Corda出于安全原因禁止Java序列化

见:


毫不奇怪,您再次正确@Joel-禁用这部分节点启动意味着VisualVM可以连接到节点和配置文件。毫不奇怪,您再次正确@Joel-禁用这部分节点启动意味着VisualVM可以连接到节点和配置文件。
open protected fun banJavaSerialisation(conf: NodeConfiguration) {
    SerialFilter.install(if (conf.notary?.bftSMaRt != null) ::bftSMaRtSerialFilter else ::defaultSerialFilter)
}