zoukankan      html  css  js  c++  java
  • 疑难杂症:ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)

     问题:昨天电脑中木马以后,用安全卫士云查杀了下。本以为万事大吉,结果在关机回家再打开电脑后,MyEclipse无法debug了,每次在tomcat的debug模式下启动都会报 ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510).......的错误。网上有很多解决此问题的方法都试了,有的说先ping 127.0.0.1如果ping不到就改system32\etc\下的配置文件。有的说是防火墙禁止了javaw.exe访问网络。还有人说要重启电脑,重装jdk等。除了重装意外,我几乎都试了,还是没解决问题。

      解决:在一个论坛上看到有高手说MyEclipse在debug的时候要调用cmd和net的。我于是试了下cmd,发现打不开了。

                继续按照cmd打不开进行搜索,发现打开cmd的方法:

    转自:http://www.deepin.org/thread-2012790-1-1.html 

    中的“apollo_re2”的回帖 :

    1.[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\DisableCMD] 
    背景:“命令提示符已被系统管理员停用”遇到过吧? 很多病毒就是这样禁用 CMD 的。 
    用法:这是一个类型为 REG_DWORD 的键值 
             当没有这个值时,CMD 能用 
             当数据为 1 或 2 时,打开 CMD 就会提示“命令提示符已被系统管理员停用” 
             其数据为其他数字时,CMD 也可用 
    解决:在注册表编辑器(regedit.exe)找到这个项,把它删掉即可 
             命令行:reg delete "HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System" /v "DisableCMD" /f(当然啦,你的 CMD 既然被影像劫持,又怎样打开 CMD 呢?在“运行”输入此命令即可) 
    2.[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun] 
    [HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun] 
    背景:这是 CMD 的自启动项,打开 CMD 和批处理脚本时,CMD 会先检查这两个键值的数据,如果其中一个或两个都存在,这两个键值的数据会先被执行。 有的病毒就是把这个值设为自己的路径,使得用户打开 CMD 前,就现运行病毒体。 
    用法:这是一个类型为 REG_SZ 的键值,只要数据为一个或多个有效命令就可以了 
             CMD 会先检查 HKLM,然后是 HKCU 
    解决:每次运行 CMD 时不要直接双击,也不要在命令行上直接打上 cmd,而是加上一个 /d 的参数,CMD 则不会检查这两个键值在注册表编辑器(regedit.exe)找到这两个键值,把它的值设为空,也可以把它删掉 
             命令行:reg delete "HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor" /v "AutoRun" /f 
                         reg delete "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v "AutoRun" /f 
    3.[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\cmd.exe\debugger] 
    背景:影像劫持技术,相信大家都已经听过...         那是 AV 终结者的时代,它让用户打开杀软时,却打开了病毒体, 既然杀软也可以劫持,一个小小的 CMD 又有何难度? 
    用法:这是一个类型为 REG_SZ 的键值,只要数据为任意一行字符串(不是空字符就可以了),就可以让别人打不开 CMD,而是弹出找不到 CMD.EXE 之类的提示,  PS:如果数据为一个有效的文件路径,则打开 CMD 时就会打开这个文件 
    解决:在注册表编辑器(regedit.exe)找到这个项,把它删掉即可 

        命令行:reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\cmd.exe" /f 

    我是把2中描述的 “HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun”删掉以后解决问题的。

    当cmd能打开以后,debug也可以了。 

  • 相关阅读:
    Android中的IMEI
    《JAVA与模式》之适配器模式(转)
    海量日志数据__怎么在海量数据中找出重复次数最多的一个
    Java中的IO流系统详解(转载)
    获取网络文件长度问题
    内存泄漏
    Ubuntu12.04不能连接小米开发(转)
    Java/C++中数组的区别
    Android批量插入数据到SQLite数据库
    泛型编程 基础
  • 原文地址:https://www.cnblogs.com/mabaishui/p/2172580.html
Copyright © 2011-2022 走看看