码迷,mamicode.com
首页 > 数据库 > 详细

解决JAVA单步调试键盘输入被JDB占用的问题

时间:2019-09-12 00:13:33      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:导致   font   成本   str   scanner   对象   联系   开始   ble   


解决JAVA单步调试键盘输入被JDB占用的问题

问题来源:

  • 在完成本周任务时,编写的代码中含有Scanner类,编译及运行过程均正确,但使用JDB单步调试时,运行到输入行无法在JDB内部输入变量值。技术图片
    技术图片

解决方案

  • 错误原因:JDB占用了控制台,导致无法在调试窗口进行输入输出操作。
  • 解决步骤:
  • 1.打开两个终端,一个用来远程监听,一个用来JDB单步调试。
  • 2.在终端1输入以下命令进行监听远程控制:
    java -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y Calculation
    注意这里的文件目录,一定放一个.class文件在当前目录下,而不仅仅编译到bin中
    技术图片

  • 3.在终端2输入以下命令建立本机与监听窗口的联系,并开始JDB调试:
    (简单直白的讲就是把原来 jdb -classpath .:./bin files的命令替换成这个就行)
    jdb -connect com.sun.jdi.SocketAttach:port=8000,hostname=localhost技术图片

  • 4.使用next命令运行到含有Scanner类对象的输入行时,转换到终端1进行变量输入,再转到终端2,此时已经完成输入,程序可以向下运行。
    技术图片
    技术图片

  • 5.运行完程序后输入及输出都可以在终端1中找到结果。技术图片

参考链接

解决JAVA单步调试键盘输入被JDB占用的问题

标签:导致   font   成本   str   scanner   对象   联系   开始   ble   

原文地址:https://www.cnblogs.com/lengchong/p/11509419.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!