idea断点触发后跑到另一个项目中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了idea断点触发后跑到另一个项目中相关的知识,希望对你有一定的参考价值。
1. Rerun . 这个就是结束debug模式,直接以run的方式重新跑某个程序。2. Resume(F9) 直接跑完. 到下一个断点停下. 没有就直接跑完程序。
3. Stop 停止项目或者程序。要是自己的main呢. 点一下就停下了. 要是Java web项目. 则点2下. 就把服务器给停了。
4. View Breakpoints 查看所有的断点设置情况。具体详情. 下面有示意图. 再细细解释。
5. Mute Breakpoints 直接取消所有断点. 让所有断点无效。
6. Restore Layout 要是你一不小心把这个下面的布局给弄乱了. 你点这个. 就把下面的布局给还原咯。
7. Show Execution Point 跳转到当前代码所执行的地方. 也就是说你在看代码的时候. 点到其他地方. 一点这个按钮. 就到了程序执行到当前哪行的代码的地方。
8. Step over(F8) 下一步. 如果是方法. 他是不会跳进去的。就是一行行的往下走。
9. Step into 跳转到详情. 如果下一行调试代码是可执行方法. 就可以f8进去. 查看这个方法的运行详细情况。重点就是点进去执行
10. Step out 从详情跳出去. 和上面的9相反。
11. Run to cursor 看字面意思就是跳转到那个光标所在的地方. 前提是他能路上没断点拦着(这个也很好用的. 可以直接跳到下一个断点处)。
12. Evaluate Exepression 这个点开之后. 可以计算你想要看的代码段的值. 后面详细上图。
13. 看意思. 同eclipse里面的watch. 查看某个对象的值. 自定义的对象。
14. 把自定义的查看对象的值. 分开到另一个tab页。
15. Drop Frame 有时候当我们步入方法体之后. 还想回退到方法体外. 点这个按钮后. 断点重新回到方法体之外。在继续还是可以再次进到方法内(这个很好的. 假设你手快. 跳过想断点的方法. 然后这个drop frame. 出去之后. 就可以再次debug啦。这个很是着重介绍一下. 就算你只打一个断点. 一不小心跑了. 不怕. 点这个. 推出. 然后再执行. 还是会再次进入断点的。这个很管用的. 要是不知道的话. 就的再从头到尾的执行一遍. 很是麻烦哦。所以. 再使劲的强调一下这个高科技按钮。)
现在程序执行到twoSum这个方法(断点位于方法体内)。右键,选Drop Frame。
点这个按钮后. 断点重新回到方法体之外;此时,在放行代码,程序将再次进入twoSum中; 参考技术A 解决方法如下:
进入Debug界面,右击,
然后选择Edit Source Lookup...(后面省略了Path)------>Add------>Workspace Folder------>选择要Debug的项目下的文件夹,通常的调试的代码都是在src文件夹里面,所以选择src文件夹,点击ok。回到Edit Source Lookup Path界面下。如果有其他的项目下的src最好删除,尤其是相同的项目。选中要删除的文件,在右边remove就好了,继续点击ok。
Debug重启一下,是不是可以调试了!哈哈哈哈!
BTW:你也可以点击左上角的Debug标志--虫子旁边的向下三角,选中Debug Configurations进入配置界面后,点击右边的Source进行相同的操作。
经验总结Mac IDEA 调试技巧大大提高研发效率
设置断点
-
行断点就是在代码的左边单击,红色的圆点就代表断点成功,也就是一般最常用的断点在代码运行到这一行的时候会触发。
-
方法断点方法断点就是断点在方法签名上,在调用这个方法时会触发断点。
-
field断点字段断点就是在字段的定义的地方加断点,任何访问或者写入的地方都会触发断点。
基本操作
-
Step Over (F8):步过,一行一行地往下走,如果这一行上有方法不会进入方法。
-
Step Into (F7):步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法。
-
Force Step Into (⌥+ ⇧ + F7):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。
-
Step Out (Shift + F8):步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。
-
Drop Frame (默认无):回退断点,返回上次断点停止的地方。
-
Run to Cursor (⌥+ F9):运行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。
-
Rerun (⌘ + R):重新运行程序,会关闭服务后重新启动程序。
-
Resume Program (⌥ + ⌘ + + R):恢复程序,比如,你在第20行和25行有两个断点,当前运行至第20行,按F9,则运行到下一个断点(即第25行),再按F9,则运行完整个流程,因为后面已经没有断点了。
-
Pause Program:暂停程序,启用Debug。目前没发现具体用法。
-
Stop 'xxx' (Ctrl + F2):连续按两下,关闭程序。有时候你会发现关闭服务再启动时,报端口被占用,这是因为没完全关闭服务的原因,你就需要查杀所有JVM进程了。
-
View Breakpoints (Ctrl + Shift + F8):查看所有断点,。
-
Mute Breakpoints:哑的断点,选择这个后,所有断点变为灰色,断点失效,按F9则可以直接运行完程序。再次点击,断点变为红色,有效。如果只想使某一个断点失效,可以在断点上右键取消Enabled。
条件断点
-
Enable 断点是否起作用,一般的时候会启用,如果关闭会变空心如。
-
Suspend 挂起。后面有两个选项,选项All表示暂停当前应用的所有线程,Thread表示挂起当前正在运行代码的线程。一般在调试多线程的时候,选择thread,这样不会影响其他的线程,可以调试多线程问题。
-
Condition 条件,当勾选了这个选项时,会运行Condition框内的代码,只能返回true 或者false。当为满足条件时会触发断点,不满足的时候则不触发。条件输入的时候可以使用当前上下文的代码。
热更新
在应用不重启的情况下将新改的代码应用。有以下限制:
1.不能为类添加/减少函数。
2.不能为类添加变量。
3.函数参数格式不能修改。
4.只能修改函数内部的逻辑。
5.函数必须能够退出,如果有函数在死循环中,无法执行更新类
以上是关于idea断点触发后跑到另一个项目中的主要内容,如果未能解决你的问题,请参考以下文章