当前位置: 首页 > news >正文

南阳网站建设报价品牌宝免费网站

南阳网站建设报价,品牌宝免费网站,合肥网站制作,万达做的电商网站有时候我们需要进行远程的debug#xff0c;本文研究如何进行远程debug#xff0c;以及使用 IDEA 远程debug的过程中的细节。看完可以解决你的一些疑惑。 配置 远程debug的服务#xff0c;以SpringBoot微服务为例。 首先#xff0c;启动SpringBoot需要加上特定的参数。 …有时候我们需要进行远程的debug本文研究如何进行远程debug以及使用 IDEA 远程debug的过程中的细节。看完可以解决你的一些疑惑。 配置 远程debug的服务以SpringBoot微服务为例。 首先启动SpringBoot需要加上特定的参数。 IDEA设置 高低版本的 IDEA 的设置可能界面有点不一样我用2020.1.1的。大致上差不多自行摸索。 IDEA打开远程启动的SpringBoot应用程序所对应的 1、选择 Edit Configuration 2、如图点击加号选择Remote 3、配置详细步骤见图 注意注意端口别被占用。后续这个端口是用来跟远程的java进程通信的。 可以注意到切换不同的jdk版本生成的脚本不一样 选择 jdk1.4则为 -Xdebug -Xrunjdwp:transportdt_socket,servery,suspendn,address50055这就是你为什么搜其他博客会有这种配置的原因其实这个配置也是可行的。但更准确应该按照下面jdk5-8的配置 选择 jdk 5-8则为 -agentlib:jdwptransportdt_socket,servery,suspendn,address50055选择 jdk9以上则为 -agentlib:jdwptransportdt_socket,servery,suspendn,address*:50055据说因为jdk9变得安全了远程调试只允许本地如果要远程则需要在端口前配置* 启动脚本改造 使用第一步得到的 Command line arguments for remote JVM 即可即-agentlib:jdwptransportdt_socket,servery,suspendn,address50055 改造后的启动脚本如下 nohup java -agentlib:jdwptransportdt_socket,servery,suspendn,address50055 -jar remote-debug-0.0.1-SNAPSHOT.jar 注意在windows中用 ^ 来进行换行例如 java ^ -agentlib:jdwptransportdt_socket,servery,suspendn,address50055 ^ -jar remote-debug-0.0.1-SNAPSHOT.jar说明 端口可随意自己定未被占用的都行但是要和IDEA里的remote中设置的端口一致其他参数照抄。详细的参数解释可以参照附录或自己搜remote-debug-0.0.1-SNAPSHOT.jar 改成给你自己的 jar 包名字我给的脚本是后台运行的如不需要后台运行自行去掉 nohup 和 启动SpringBoot启动IDEA里的 细节 细节1停在本地断点关闭程序后会继续执行吗 如果远程调试在自己的断点处停下来了此时关闭IDEA中的项目停止运行则还会继续运行执行完剩下的逻辑吗会的这点比较不容易记住 以下面的代码为例在第一行停住了。然后IDEA中停掉发现停掉之后控制台还是打印了剩下的日志。 细节2jar包代码和本地不一致会怎么样 IDEA 里的代码如果不和jar包的一致会怎么样。 结论要保证和远程启动的代码一致。 否则你debug的时候的行数会对不上。报错抛异常倒是不会。像这种还是能对得上行数的 比如你调试test1方法test2方法在test1下面在test2里加代码这样并不影响test1中的行号这种是可以在调试的时候准确反应行号的 细节3日志打印在哪里 日志不会打印在IDEA的控制台上。即System.out 以及 log.info 还是打印在远程的。 GetMapping(/test1) public String test1() {System.out.println(第一行);System.out.println(第二行);log.info(log 第一行);log.info(log 第二行);return ok; }细节4调试时其他人会不会卡住 远程调试的时候打了断点停住后会不会导致页面的请求卡住。 比如你使用远程调试别的QA在测试这个页面结果他们看到的结果是怎么样的会卡住吗会的已经实际遇到过这种情况了。 细节5本地代码修复bug远程调用的时候 如果在远程调试过程自己发现了bug本地改好后重新启动IDEA里的项目再到页面调用一次能修复吗不能运行的还是远程部署的jar中的代码 这个直接击碎了远程页面点一点触发本地代码进行debug的梦想。如果可以的话那调试代码就方便太多。 细节6这个不算远程调试的问题是dropframe的问题放在这里一起讲了 关于drop frame的问题如果drop frame了重新进行调试会不会插入2条记录 如图 userMapper.insert(eo) 本方法没有使用 Transactional 修饰mapper方法执行过后事务会被立即提交则库表里多了一行记录如果drop frame后再次进行调试再次执行这代码于是又插入了一条记录。 如果加上 Transational 就不会有两条记录了dropframe的时候事务没被提交再次执行该插入代码也不会插入2条。 关于什么是drop frame 细节7跟上面一样是dropframe问题 如果把上述插入数据库的逻辑换成调用远程的接口在dropframe后再次执行相同的代码会不会导致远程接口被执行了2次会的。 总结 好像感觉远程调试的用处也不是那么大不能作为长期使用的调试工具。只能作为临时调试的手段。 难点有几个 难保证本地代码和远程一致而且你也很难判断是否一致通过远程调试发现了bug但是又不能立即修复后继续调试只能修复后部署后继续远程调试
http://www.dnsts.com.cn/news/129191.html

相关文章:

  • 企业网站开发总结医院网站建设投标要求
  • 站长之家网站模板一台服务器怎么做多给网站
  • 网站推广策划书上海专业制作电子商务网站
  • 网站首页被降权怎么做许昌网站设计制作
  • 做企业推广去哪个网站比较好衡水精品网站建设报价
  • 黔南州住房和城乡建设局网站常州网络公司联系方式
  • 搭建网站是什么网站服务器怎么搭建
  • 分享影视资源的网站怎么做做国外搞笑网站有哪些
  • 做外贸网站价格wordpress设计师主题
  • 网站新闻公告表怎么做自己建网站写小说可行吗
  • 做竞彩网站代理犯法么微信公众帐号开发
  • 无锡网站建设企业无锡网站建设哪家做的比较好
  • 怎么做扫二维码就可以进入网站网站建设分金手指排名二八
  • 针织衫技术支持东莞网站建设企业运营管理包括哪些方面
  • 网站开发地址WordPress自助提交友情链接
  • wordpress 谷歌收录快昆明网站建设推广优化
  • 东莞做网站需要多少钱网站开发 资质
  • 做解密类网站可行写一篇软文1000字
  • 厦门网站建设公司推荐网址导航app大全
  • 沈阳网站建设德泰诺网站制作学校要的
  • 城乡住房和建设厅官网郑州seo技术服务顾问
  • seo优化网站教程百度编程培训班学费是多少
  • WordPress找不到站点产品网站开发流程
  • 优化网站关键词vps怎么搭建网站
  • 企业查询网站企查查互联网seo是什么
  • 金融投资公司网站模板企业网站需要多少钱
  • 江苏网站建设效果展示网站和营销网站的区别
  • 蓝领网站做的最好学做网站多少钱
  • 鞍山怎么样做一个自己的网站怎么去掉wordpress加载动画
  • 网站建设开发报价方案模板杭州营销策划推广公司