intellij idea 断点不生效,程序走到断点处直接过去 javaweb 是debug模式启动,之前能调试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了intellij idea 断点不生效,程序走到断点处直接过去 javaweb 是debug模式启动,之前能调试相关的知识,希望对你有一定的参考价值。
参考技术A尊敬的联想用户您好!
<span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin">您好!
<span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin">为了简便快捷的解决您的疑惑,该问题需要专业的工程师后台查询有关内部数据才,然后通过检测机器来解决问题,因此我们建议您联系联想售后,售后电话咨询:
http://www.lenovo.com.cn/Public/public_bottom/contact.shtml
<span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin">其他问题也可以在这两个论坛比较全,
Idea<span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin">论坛:http://lenovobbs.lenovo.com.cn/forum.php?intcmp=FM_LBBS_baidureply
Think<span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin">论坛:http://thinkbbs.lenovo.com.cn/forum.php?intcmp=FM_LBBS_baidureply
<span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin">希望能帮助到您,谢谢呢。
期待您满意的评价,感谢您对联想的支持,祝您生活愉快!
参考技术B 是不是在你断点之前就出错了哦只是感觉没有走断点
IntelliJ IDEA 中的 JSP 调试
【中文标题】IntelliJ IDEA 中的 JSP 调试【英文标题】:JSP debugging in IntelliJ IDEA 【发布时间】:2010-09-07 05:14:37 【问题描述】:有谁知道如何在 IntelliJ IDEA 中调试JSP
?
当我在 JSP
文件中设置断点时,这些断点似乎从未生效。调试器永远不会命中它们。 IDEA 似乎认为断点是有效的。我确实看到在我放置断点的行的左侧放置了一个红点。
我在 IntelliJ 论坛 in this post 中读到 JSP
文件需要在 web-inf 下才能进行调试。
但后来我也读到JSP
放置在 web-inf 下的文件不会被用户直接访问。
我不确定谁是对的。
【问题讨论】:
刚刚检查过 - 它对我有用。 IntelliJ 6.0.5 运行Tomcat 5。资源文件夹中的JSP,没什么特别的。您需要提供有关您的配置的更多信息。尝试创建一个简单的项目并使用不同的 Tomcat/任何版本进行测试。 如果 eclipse :codeinventions.blogspot.com/2014/08/… 【参考方案1】:对于远程 JSP 调试(也适用于 localhost
),您需要安装 JSR45 ㄧ support plugin。 请注意,此功能仅在 IntelliJ 终极版中受支持,社区版不支持。
-
转到 Preferences > Plugins,搜索 JSR45 插件,和
启用它。
创建运行配置:运行 > 运行配置 > 点击 + 按钮,选择JSR45 Compatible Server,然后在打开的对话框中选择Remote,然后设置服务器主机和端口。设置 Application Server: Generic 应该可以正常工作。
确保在启动/配置 > 调试中设置正确的端口。。 p>
打开模块设置(项目文件夹中的F3),在Facets下添加一个Web Facet,在Web 资源目录 指定您的 JSP 根文件夹。
单击 Configuration... 按钮,然后选择包含您的 JSP 所依赖的 bean、类和库的文件夹。
现在 JSP 断点应该可以工作了,前提是您使用 proper debug arguments 启动服务器。
如果您有一个启用了自动导入的 maven 项目,那么您可能希望禁用自动导入,因为每次触发自动导入时,您的库设置都会被重置。
【讨论】:
第 1 步后重启 Idea。此功能仅在 Idea Ultimate 中可用。 你能在 2018 年更新这个吗?似乎有些名称和 UI 发生了变化。 @AmitG 社区版有没有办法调试jsp? “偏好”在 2018 年是“设置”。【参考方案2】:如果您使用 Intellij 调试器,您可以通过在 JSP 中放置断点并计算表达式 this.jspContext.request.getAttribute("attributeName")
来获取单个属性的值。
请注意,这可能会返回 Java 对象类型,您可能必须将其转换为正确的类型。此外,如果您启动远程 Tomcat,IDEA 将不会遇到任何断点,因此您需要从 IDEA 内部以调试模式启动 Tomcat。
【讨论】:
【参考方案3】:请确保在您的 tomcat 的 conf/web.xml suppressSmap 中未启用,因为 IntelliJ 的调试器需要支持 JSR45 .
应该是这样的:
<init-param>
<param-name>suppressSmap</param-name>
<param-value>false</param-value>
</init-param>
来自https://tomcat.apache.org/tomcat-7.0-doc/jasper-howto.html
suppressSmap - 是否应该禁止为 JSR45 调试生成 SMAP 信息?真假,默认假。
【讨论】:
【参考方案4】:无论如何,您需要在 IDEA 中启动 Tomcat,而不是从远程 Tomcat。
【讨论】:
感谢您的提示!运行 mvn tomcat:run 时无法调试。当我使用本地 tomcat 运行配置时,我能够调试 jsps。【参考方案5】:对于 Intellij 中的 JSP 调试,必须按顺序进行一些配置。 Intellij 总是允许您在 JSP 行上添加断点这一事实并不一定意味着您已经配置了 JSP 调试。在下文中,我指的是 Intellij 8 配置,w.r.t。以前的版本需要做类似的操作,因为概念是一样的。
为了启用 JSP 调试,您必须执行两个步骤:在项目中设置 Web 应用程序配置和添加 Web 应用程序服务器配置。
Web 应用程序配置:为了进行 JSP 调试,您的项目结构中必须有一个“web”方面,指向正确的 web.xml 文件。根据您使用的 Web 应用程序结构的类型,Intellij 可能会自动检测到构面(无论如何都要检查它做了什么),或者您可能必须手动添加它。请记住在“Java EE 构建设置”选项卡中设置为可启用的“创建 Web 构面展开目录”;如果你不想重复,一个技巧就是启用它并指向你已经存在的目录。
(Web) 应用程序服务器:进入“编辑配置”,您必须在配置中添加应用程序服务器,而不是像其他任何应用程序一样启动 Web 服务器。这样,Intellij 将能够拦截 JSP 调用。在应用程序服务器列表中,您应该拥有默认的 Tomcat。确保在执行此操作之前已安装本地 Tomcat,并在添加 Web 应用程序服务器时指向它。最后一个技巧是转到“部署”选项卡并选择您在上一步中配置的相同构面作为“部署源”。
如果您想使用另一个 Web 应用程序服务器,相同的配置也可以工作,我使用最新的 Caucho Resin 版本对其进行了测试,并且调试工作正常(以前的 Intellij 和 Resin 组合没有)。
如果您在要添加的可用应用程序服务器列表中没有看到 Tomcat,请检查通用 Intellij 设置窗格中的插件:在最新版本中,越来越多的功能已成为“可插拔”,甚至是非常基本的功能可能被禁用;这个插件叫做“Tomcat 集成”。
最后,JSP 文件必须在 WEB-INF 下才能调试肯定不是真的。
【讨论】:
【参考方案6】:对于您问题的第二部分(“用户无法直接访问 web-inf 下的 jsp 文件”),这是正确的。为了允许用户访问 WEB-INF 文件夹中的 JSP 文件,需要在每个 JSP 页面的 web.xml 文件中创建 servlet 和 servlet-mapping 条目。
【讨论】:
以上是关于intellij idea 断点不生效,程序走到断点处直接过去 javaweb 是debug模式启动,之前能调试的主要内容,如果未能解决你的问题,请参考以下文章
intellij idea调试java文件时 怎么跳过class文件