精华内容
下载资源
问答
  • 随着微服务的普及应用,springboot作为spring占领行业微服务的拳头,可能你早已熟练使用它去开发业务...本文就来debug说下,springboot jar开始运行的真正起点:真正的main方法在哪里,怎么运行的 理论 为了方便阐述...

    随着微服务的普及应用,springboot作为spring占领行业微服务的拳头,可能你早已熟练使用它去开发业务功能。当然,你可能知道springboot项目打成的jar可以直接运行,可能你也知道它的原理,但你真的知道它的原理吗,没有亲自debug下,可能就不那么肯定了吧。本文就来debug说下,springboot jar开始运行的真正起点:真正的main方法在哪里,怎么运行的

    理论

    为了方便阐述,理论先摆出

    我假定创建一个spring boot 项目:microservice-comb-server,下面的jar都指这个项目的jar

    在项目的pom.xml中引入了spring-boot-maven-plugin,生成的jar就可以直接运行了。如下配置

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <executions>
            <execution>
                <goals>
                    <goal>repackage</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
    

    因为引入了spring-boot-maven-pluginpackage生成的jar里包含META-INF/MANIFEST.MF文件,其内容如下

    MacBook-Pro ~/mic$ unzip microservice-comb-server-1.0.0-SNAPSHOT.jar
    ···
    MacBook-Pro ~/mic$ cat META-INF/MANIFEST.MF
    Manifest-Version: 1.0
    Implementation-Title: microservice-comb-server
    Implementation-Version: 1.0.0-SNAPSHOT
    Built-By: yaoliang
    Implementation-Vendor-Id: com.skyler.cobweb
    Spring-Boot-Version: 2.1.0.RELEASE
    Main-Class: org.springframework.boot.loader.JarLauncher
    Start-Class: com.skyler.cobweb.CobwebCombServerApplication
    Spring-Boot-Classes: BOOT-INF/classes/
    Spring-Boot-Lib: BOOT-INF/lib/
    Created-By: Apache Maven 3.6.1
    Build-Jdk: 1.8.0_151
    Implementation-URL: https://projects.spring.io/spring-boot/#/spring-boot-starter-parent/microservice-comb/microservice-comb-server
    
    

    其中Main-Class: org.springframework.boot.loader.JarLauncher才是真正的项目运行开始之地,而Start-Class: com.skyler.cobweb.CobwebCombServerApplication也就是我们定义的main方法只在Main-Class之后运行的。下面就通过debug来说明这个事实。

    实操

    debug准备阶段

    debug这个jar容易,但如果要debug到这个jar的真正运行开始之地:org.springframework.boot.loader.JarLauncher,就需要特殊的操作了。

    首先,在项目中引入spring-boot-loader依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-loader</artifactId>
        <version>2.1.0.RELEASE</version>
    </dependency>
    

    然后,通过mvn clean repackage将项目打jar包:microservice-comb-server-1.0.0-SNAPSHOT.jar

    最后,通过ideaJAR Application配置jar和源码的位置
    20200312234743.png

    debug ing

    在代码中打开JarLauncher MainMethodRunner并打上断点标记

    点击之前配置的Jar Applicationdebug按钮,如图

    效果

    断点首先停在了JarLauncher.main方法处,F9快捷点到下一个断点

    MainMethodRunner.run()处,而mainClassName的值正是我们项目中自定义的main方法:com.skyler.cobweb.CobwebCombServerApplication,再F9快捷点到下一个断点

    )

    现在,断点才到了我们自己的main方法

    小结

    本文简述了下spring boot 可执行的jar的原理,旨在重点实操部分,鼓励通过自己debug代码的方式,真正切实清晰的感受原理,从抽象的概念转到具体的眼前。

    原味地址:知道springboot jar包可运行,debug告诉你怎么运行的

    展开全文
  • 1. 在linux进入到项目部署的Tomcat中 2.打开./catalina.sh 配置启动参数 3.在idea增加Remote启动的方式 4.把选中的参数增加到linux 注意:要放到#JAVA_OPTS中 ...8.在项目中打对应的断...

    1. 在linux进入到项目部署的Tomcat中

    2.打开./catalina.sh 配置启动参数

    3.在idea增加Remote启动的方式

     4.把选中的参数增加到linux

    注意:要放到#JAVA_OPTS中

    5.在Remote启动方式中增加服务器的ip地址

    6.重启linux中的tomcat

    7.启动新增的Remote

    8.在项目中打对应的断点,测试接口 (我使用的是postman来测试接口)

    9.成功进入断点,增加完成

     

    转载于:https://www.cnblogs.com/houpengwei/p/10899486.html

    展开全文
  • 右键一个控件可以下断点 当package运行起来后, 点击菜单栏的debug按钮出现的子菜单里才会有 watch !!!!!!!

    右键一个控件可以下断点

    当package运行起来后, 点击菜单栏的debug按钮出现的子菜单里才会有 watch !!!!!!!

    展开全文
  • 每次设置断点之后运行debug模式.然后到指定代码处.直接就运行过去了 不跳转到debug透视器.有的时候手工转到debug透视器 然后在执行可以到debug下.但几率很小 不知道大家有遇到过么.很棘手.</p>
  • 刚刚接触汇编语言的我,对于debug是什么,还有是怎么运行它等等都不知道,看了很多帖子并都操作一遍,确实有些是行不通的,也或者说是我的理解问题吧。在这分享一个对我管用的帖子,真的一招解决了困我数小时的问题...

    刚刚接触汇编语言的我,对于debug是什么,还有是怎么运行它等等都不知道,看了很多帖子并都操作一遍,确实有些是行不通的,也或者说是我的理解问题吧。在这分享一个对我管用的帖子,真的一招解决了困我数小时的问题(鄙人菜鸟)。仅供参考。
    原文链接:https://blog.csdn.net/yhl_jxy/article/details/80172198

    ——————END——————
    Programmer:柘月十七

    展开全文
  • 我试过DOSBOX,但是不行。
  • debug模式下运行是这样的: ![图片说明](https://img-ask.csdn.net/upload/202005/26/1590468155_269490.png) release下运行正常。调试的话会出现: ![图片说明]...
  • 怎么进入DEBUG模式

    千次阅读 2018-01-15 11:12:47
    1, 首先在一个java文件中设断点,然后运行,当程序走到断点处就会转到debug视图下。 2, F5键与F6键均为单步调试。F5是step into,也就是进入本行代码中执行,F6是step over也就是执行本行代码,跳到下一行。 3,F7是...
  • idea 怎么调试debug

    2018-04-13 09:33:32
    1、这里以一个web工程为例,点击图中按钮开始运行web工程。2、设置断点3、使用postman发送http请求4、请求发送之后会自动跳到断点处,并且在断点之前会有数据结果显示5、按F8 在 Debug 模式下,进入下一步,如果...
  • 比如说dao, service什么的. 我是通过eclipse进行debug的. 但是我的代码在运行时会被spring proxy成它的类, 于是就查不到我设置的断点了. 谢谢, 谢谢..
  • detectron2中提供了旋转框相关的代码。但需要把现有的代码都改成旋转框相关的代码,这里记录一下。 1.backbone的选择。...我在另一个框架下是这么选择的,等下看一下detectron2的框架是怎么进行选择的。 ...
  • 我这边的原因是我没有加载debug下的动态库造成的,所以这样的解决方法就是需要在pro中既要加载release模式下的动态库,也要加载debug模式下的动态库,具体怎么加载动态库可以参考我得另外一篇博客: ...
  • 遇到一个很纠结的问题,程序在Debug运行时没有问题,直接运行生成的exe文件也没有问题;在release下,直接在VS2010中运行时也没有问题,可是运行release所生成的exe文件时,点击某一个按钮时,程序崩溃。请问可能...
  • 怎么样利用debug

    2017-09-02 17:29:00
    在用debug调试之前应该了解的小知识: 1 怎么样设置断点 操作步骤: 方法一: 首先打开工程项目; 把鼠标移动想要设置断点的行,在行号前面空白地方双击,就会出现断点。 在设有断点的代码前面双击就可以取消设置的...
  • win10\win7怎么打开debug

    千次阅读 2019-01-24 23:40:18
    2.安装好DOSBox,运行DOSBox 下面是打开后的界面 与此同时将下载好的debug.exe转移到D盘 在DOSBox里键入 mount c d:\ (把物理D盘挂载到c盘符) 回车之后会显示“Drive C is mounted as local directing d:\...
  • 因为在某个页面中设置了断点,去掉断点就行了
  • pycharm连接服务器运行debug卡住

    千次阅读 多人点赞 2019-06-07 21:15:54
    1. 问题描述: pycharm连接服务器运行,run的时候速度很快,debug却会卡住 2. 原因: 还不知道。。。也不知道怎么解决 重启pycharm可以解决,可能是因为一些配置文件? ...
  • VS 调试运行无法创建文件,直接在debug目录运行源程序时文件正常创建,是怎么回事? 我该了管理员权限运行VS 然后调试运行 文件还是没有创建,我跟踪了open()函数的返回值 为1 正确的,表明函数调用成功,可是我在...
  • [img=https://img-bbs.csdn.net/upload/201907/17/1563329492_751273.jpg][/img]
  • <p style="text-align:center"><img alt="" height="606" src="https://img-ask.csdnimg.cn/upload/1622005815860.jpg" width="1885" /></p>  </p>
  • 之前我运行tomcat服务器 ,会提示我进入Debug模式提示框,我点了no并且 选中了 remember my decision ,我现在想取消这个选择,该怎么做?[img=https://img-bbs.csdn.net/upload/201405/01/1398930555_281141.jpg][/...
  • 出现这样的错误该怎么解决啊
  • 我用VS2010写了一个MFC程序,在自己跟同事的电脑上都可运行,但是在XP上运行Debug里面的exe,就会出现Debug Assertion Failed! ![图片说明](https://img-ask.csdn.net/upload/201508/11/1439262790_886846.png) 请问...
  • vs的debug版本的程序,在本机上运行正确 ,但是文件拷贝给其他机子上,一打开exe文件就提示文件工作停止。求解。请问类似的问题出现的原因是什么?
  • 本人也是入手idea没有半年吧,一些简单的项目运用debug调试的时候还是比较顺手的,可是在学习maven项目的时候,都是依赖maven创建的Tomcat,所以就不知道该怎么使用debug模式进行运行,就找了好几种方法,下面介绍一...
  • 首先你要下载一个DOSBOX程序 这个程序是一个dos模拟器 这个程序的制作目的是运行经典的DOS游戏 -。- 下载地址:http://www.dosbox.com/download.php?main=1 其次下载一个Win732位的debug程序 下载地址:...
  • android开发中怎么debug

    2019-10-01 19:01:55
    android 开发使用eclipse或者Android ...安装Java运行环境下载eclipse或Android Studio 下载安装Android SDK 安装Android模拟器,其中Android模拟器可以用Android手机代替,(不要用Google的模拟器,太慢,不以用...
  • 使用了debug之后,为什么突然不管怎么改代码,Android Studio总是运行之前的代码整理解决办法我的解决办法 整理解决办法 本来抓了半天头发后,终于想好了怎么解决拦路虎,却被Android Studio的问题拦住,我真的要疯了...
  • 我发现VSC运行C/C++程序时生成的exe文件不能独立运行,搜索后得知这是Debug模式导致的。   然而网上似乎只有VS如何改为Release模式,而没有VSC的相关攻略。是因为VSC不支持Release吗?   望...
  • 在多次跑项目中遇到情况,pacharm突然就无法运行项目了,表现就是run和debug两个选项按钮全部变灰色无法点击。 造成这种情况的原因是因为我在一个很大的文件下创建了新的文件,每次运行都要为所有文件建造索引,文件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,035
精华内容 414
关键字:

怎么运行debug