您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

用JDB调试 [互站网]

  • 时间:2022-10-12 18:20 编辑: 来源: 阅读:295
  • 扫一扫,手机访问
摘要:用JDB调试 [互站网]
在预发布环境中调试时,由于工具和环境的限制,调试体验往往很差。有什么办法可以简化我们的调试体验?JDB是一种 JDB是Java调试器的缩写,可用于调试Java程序。它也是JPDA的参考实现,但是这个实现是基于命令行的。 当涉及到命令行时,一些学生感到内疚并离开GUI。能调试一下吗?当然,只要背几个命令,在受限环境下调试也不是不可以。 使用JDB的目的是更详细地诊断和操作代码。如果只是一个观察值,可以使用阿尔萨斯·JPDA·JPDA等工具将调试过程分为两部分:被调试者(debuggee)和JDI (debugger -debugger)。 JDI一般是调试应用程序的客户端接口(或者是Java IDE的一部分),也就是本文中的JDB。 被调试的应用程序在后台运行,而JDI在前台运行。 前台和后台之间有一个运行JDWP(Java Debug Wire Protocol,Java调试线协议)协议的通信通道,所以被调试的程序和调试器可以位于同一个系统,也可以位于不同的系统。 从jpda.png开发者的角度来看,一个调试应用程序可以进入任何JPDA级别。 只要JDI是基于JDWP的,你就可以调试供应商实现的任何JVM,比如j9。 JDWP有两种基本的包类型:命令包和应答包。 在JDB的例子中,我们使用JDB通过套接字向本地JVM发送JDWP请求。 调试器和目标Java虚拟机都可以发送命令包。 调试器通过发送命令包来获取目标Java虚拟机的信息并控制程序的执行。 目标Java虚拟机通过发送命令包来通知调试器某些事件的发生,例如到达断点或生成异常。 回复包用于回复命令包是否可以成功执行。如果成功,应答包还可能包含命令包所请求的数据,如当前线程信息或变量的值。 从目标Java虚拟机发送的事件消息不需要应答。 一般来说,环境需要准备一个应用,代码包括数据库等。,让真实案例也能轻松感受。 在这里,我准备了一个简单的项目:weipeng2k/spring-guide,其中:spring-guide-spring-boot项目,你可以尝试构建一下。 在11.239.175.138,用docker拉起一个mysql实例,具体的jdbc-url是:JDBC:MySQL://11 . 239 . 175 . 138:23306/book,已经在application.properties中配置好了 实际上,应用程序提供了一个rest接口。当你访问:localhost:8080/api/author/1时,会返回作者的信息。 源代码AuthorApi是控制器,代码和准备debug的点:code-api.png可以看到逻辑很简单,就是根据Id查询作者信息,准备debug的位置在第24行。 AuthorQueryServiceImpl是服务的实现,代码和调试准备的点:code-service.png服务实现是查询DAO,然后返回结果。如果找到了,就返回值;否则会返回null,我们用26行调试。 该示例首先启动应用程序。如果要调试,一般会在应用上配置相应的调试参数,包括调试端口。 Java-agent lib:jdwp = transport = dt _ socket,server = y,suspend = n,address = 5005-jar ~/spring-guide-spring-boot/target/spring-guide-spring-boot-1 . 0 . 0-snapshot . jar本例中调试端口打开为500。 接下来,运行jdb并连接到调试端口进行调试。 点击观看,操作过程 Asciicast命令描述JD b-connect COM . sun . jdi . socketattach:hostname = 127 . 0 . 0 . 1,port = 5005使用JDB连接本地调试端口,在线可在/opt/taobao/ Find找到jdb命令STOP AT COM。默多克。书籍。春天。导游。Spring Boot。服务。Iml。Authorqueryserviceimpl: 26断点在com处命中。默多克。书籍。春天。导游。斯普林。gboot . service . impl . authorqueryserviceimpl第26行明确列出所有断点. clear com . murdock . books . spring . guide . spring boot . service . impl . authorqueryserviceimpl:26清除对应的断点L. Ocals列出当前变量,包括局部变量、参数变量等。print x打印出变量xwherei对应的变量xdump xdump,输出当前栈接下来,代码会向下执行。cont代码执行将通过,继续执行,并停留在下一个断点。


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部