开启Niagara的代码调试非常简单,其实主要也是利用idea的remote
下面看图说话
1、idea的配置
-
编辑配置
编辑配置 -
选择Remote JVM Debug
- 效果(注意端口)
2、Niagara的配置
- 启动Console
- 输入启动命令
station 站点名 -@agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=端口
示例如下:
站点
例如我有个站点名字叫TestStation210305
,我可以执行下面的命令进行启动
station TestStation210305 -@agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5006
注意Workbench显示的状态需要是Idle的,因为不然端口可能就会冲突了。还有就是station启动的是在niagara_home目录下面的,而不是niagara_user_home目录。因此,你在调试模式时新增修改的点位,换到从workbench启动的站点并不会存在。还有就是如果在调试模式时修改的点位信息啥的,如果不手动进行保存的话,大概率会丢失。
- 开始调试
输入命令按回车后界面会卡住,等待idea的连接进行调试
开始调试
待界面出现上图所示类似的画面时,打开idea点击右上角的debug按钮就可以进行调试了
执行Debug
idea链接上站点后,窗口程序会继续执行启动站点,如下图
继续启动
之后就可以像使用普通站点一样使用模块了,在你想要的地方打个断点即可,像普通程序一样进行快乐的调试吧
jdwp简介
JPDA(Java Platform Debugger Architecture) 是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序
参数说明(英文比较简单就懒得翻译了):
命令行输入java -agentlib:jdwp=help
即可查看
Java Debugger JDWP Agent Library
--------------------------------
(see http://java.sun.com/products/jpda for more information)
jdwp usage: java -agentlib:jdwp=[help]|[<option>=<value>, ...]
Option Name and Value Description Default
--------------------- ----------- -------
suspend=y|n wait on startup? y
transport=<name> transport spec none
address=<listen/attach address> transport spec ""
server=y|n listen for debugger? n
launch=<command line> run debugger on event none
onthrow=<exception name> debug on throw none
onuncaught=y|n debug on any uncaught? n
timeout=<timeout value> for listen/attach in milliseconds n
mutf8=y|n output modified utf-8 n
quiet=y|n
网友评论