当前位置:网站首页>Learn to use the idea breakpoint debugging tool
Learn to use the idea breakpoint debugging tool
2022-07-03 04:46:00 【Program Xiaoxu】
IDEA Breakpoint debugging
In the process of breakpoint debugging, it is always running , After setting a breakpoint on a line, it will stop here . So as to find the problem . Be commonly called Debug
Breakpoint debugging shortcut
- F7( Jump into method )
- F8( skip — Step through the code )
- shift+F8( Jump out of the way )
- F9( Step through the code Resume)
Breakpoint debugging case
Case 1 is executed circularly
package com.dzu.cn;
/** * @Author ChenRuXu * @Date 2022/2/14 22:23 * @Version 1.0 */
public class Debug01 {
public static void main(String[] args) {
// Demonstrate line by line execution
int sum=0;
for (int i=0;i<5;i++){
sum+=i;
System.out.println("i="+i);
System.out.println("sum="+sum);
}
System.out.println(" sign out for");
}
}
Click the left mouse button on the desired line and then perform breakpoint debugging .
After performing breakpoint debugging, the following page appears
Be careful :F9 Resume You can dynamically add breakpoints, which still take effect during execution 
F8 step over Skip step by step 
F7 step into Jump into method 
force step into Force into the method body 

here F7 We can see clearly the execution process of the program and the changes of variables .
Case 2 : Array out of bounds execution exception
package com.dzu.cn;
/** * @Author ChenRuXu * @Date 2022/2/14 22:48 * @Version 1.0 */
public class Debug02 {
public static void main(String[] args) {
int[] arr ={
1,10,-1};
for (int i = 0; i <=arr.length ; i++) {
System.out.println(arr[i]);
}
System.out.println(" sign out for loop ");
}
}

Case 3 tracking source code
Observe Arrays.sort(arr) How it's sorted
package com.dzu.cn;
import java.util.Arrays;
/** * @Author ChenRuXu * @Date 2022/2/14 22:56 * @Version 1.0 */
public class Dubug03 {
public static void main(String[] args) {
int arr[] ={
1,-1,10,-20,100};
Arrays.sort(arr);
for ( int i= 0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}
}
}
Learn to use breakpoints in debugging F7 Jump into the method body

Use F7 Later, we found that it did not enter the source code . Here is our solution .
Method 1 :force step into Use enforcement to enter
Method 2 adopts configuration method to realize
Find the option of breakpoint debugging in the settings .

Will be one of the java.* ,javax.* Uncheck the .
By default, it is not allowed to enter the source code
At this point we can use dubug To enter the source code debugging .
On this basis, if we are using F7 Will continue to enter .

This is where we really implement the sorting method ( Double quick row )
After entering the final source code , reflection How to exit to the main method
Jump out of the previous method first We need to use shift+F8( Jump out of the way ) Jump to the place where the call is sorted and step back to the main method

Case four :F9 resume And dynamic breakpoints
idea Support dynamic breakpoints during the running process
package com.dzu.cn;
import java.util.Arrays;
/** * @Author ChenRuXu * @Date 2022/2/14 22:56 * @Version 1.0 */
public class Dubug03 {
public static void main(String[] args) {
int arr[] ={
1,-1,10,-20,100};
Arrays.sort(arr);
for ( int i= 0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}
System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(4);
}
}

Use F9 It will go directly to the position of the second breakpoint . Then we dynamically add a breakpoint .
Now click F9 It will go to the position where the breakpoint is dynamically added 
summary
Debugging with breakpoints is , When we analyze the source code for troubleshooting and learning in the future, it is one of the essential contents .
边栏推荐
- Leetcode simple problem delete an element to strictly increment the array
- 消息队列(MQ)介绍
- Number of 1 in binary (simple difficulty)
- SSM based campus part-time platform for College Students
- 2.14 summary
- Design and implementation of JSP logistics center storage information management system
- Web security - CSRF (token)
- FuncS sh file not found when using the benchmarksql tool to test kingbases
- Smart contract security audit company selection analysis and audit report resources download - domestic article
- 论文阅读_中文NLP_ELECTRA
猜你喜欢

The usage of micro service project swagger aggregation document shows all micro service addresses in the form of swagger grouping

The programmer went to bed at 12 o'clock in the middle of the night, and the leader angrily scolded: go to bed so early, you are very good at keeping fit

Library management system based on SSM

2022 registration of G2 utility boiler stoker examination and G2 utility boiler stoker reexamination examination

C language self-made Games: Sanzi (tic tac toe chess) intelligent chess supplement

7. Integrated learning

Thesis reading_ Chinese NLP_ ELECTRA

Integration of Android high-frequency interview questions (including reference answers)

并发操作-内存交互操作

消息队列(MQ)介绍
随机推荐
Kubernetes source code analysis (I)
Shell script -- condition judgment
Why does I start with =1? How does this code work?
General undergraduate college life pit avoidance Guide
A outsourcing boy's mid-2022 summary
Reptile exercise 03
Uipath practice (08) - selector
Leetcode simple question: check whether two string arrays are equal
MC Layer Target
AWS VPC
第十九届浙江省 I. Barbecue
Priv-app permission异常
Php+mysql registration landing page development complete code
Market status and development prospects of the global IOT active infrared sensor industry in 2022
Small sample target detection network with attention RPN and multi relationship detector (provide source code, data and download)
Market status and development prospects of the global autonomous marine glider industry in 2022
Triangular rasterization
Thesis reading_ Chinese medical model_ eHealth
文献阅读_基于多模态数据语义融合的旅游在线评论有用性识别研究(中文文献)
7. Integrated learning