• 使用IEDA远程调试


    下面演示在docker中调试代码。

      使用vulhub作为演示。

      下载vulhub,进入vulhub/fastjson/vuln/  

        编辑docker-compose.yml ,在最后新建一行加入  - "8081:8081"   然后开始编译和运行环境

        docker-compose build

        docker-compose up -d

      环境起来以后,进入到环境里面

        docker exec -it 0dbf6abbf1d7 bash

        接着进入/usr/local/tomcat/bin   文件夹下编辑catalina.sh

        关于docker里面编辑文件有几种方式(apt-get update ,apt-get install vim或者docker cp ./catalina.sh 0dbf6abbf1d7:/usr/local/tomcat/bin/catalina.sh) ,

        加入下面一句话开启debug选项,Ubuntu平台下的Tomcat的debug开启命令和CentOS下的Tomcat开启debug命令不一样

           Ubuntu: CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8081,server=y,suspend=n"
    
           CentOS:  declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"

        然后把docker环境中的webapps文件夹拷贝到宿主机中,用idea使用import 选项打开webapps文件夹

        在右上角run键附近点击,新建debug Configurations,选择+号->Remote ,并且设置jdwp的端口和IP

        在需要下断点的地方设置断点,在浏览器上访问8080(并不是jdwp的端口)就能断下来了。

        

        

    为什么会有这篇文章,我遇到的问题:

    我手里有一个可部署的war包,没有源码,在远程已经部署完毕。这时我想调试那个远程应用,怎么做呢?

    解压缩war包到一个文件夹,然后用Intellij Idea打开这个文件夹,如图的结构,编译的Class都在 WEB-INF/classes 目录下

    找到我要debug的那个class, 这里示例Handler.class, 通过Idea反编译出来的类代码,拷贝到一个新的文件Handler.java

    虽然如图可以看到各种的编译错误,但是完全不影响你启动,代码中加断点和调试哦。

    可能会有行格式显示错位的问题,导致断点断错或者断不下来,多断几个地方就好了

     
     
    接着去学习调试这个洞:http://www.polaris-lab.com/index.php/archives/613/
     

    ----2019.3.7号----分割,调试Jenkins。

    命令: 

    docker run -p 8084:8080 -p 8089:8089 --env JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8089,server=y,suspend=n" 772f6f5b7485

     其中772f6f5b7485是镜像ID,镜像参考https://hub.docker.com/r/h1kkan/jenkins-docker/

    参考:

      https://github.com/vulhub/vulhub

      https://www.jianshu.com/p/d168ecdce022

      

  • 相关阅读:
    2016.7.17
    2016.7.16
    2016.7.15
    2016.7.12
    2016.7.11
    2016.7.10
    coco2d-x中的坐标系问题
    cocos2d-x中的Tiled地图
    cocos2d-x中的Box2D物理引擎
    python文件处理及装饰器
  • 原文地址:https://www.cnblogs.com/yangxiaodi/p/10077054.html
Copyright © 2020-2023  润新知