当前位置:网站首页>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 .
边栏推荐
- MC Layer Target
- Employee attendance management system based on SSM
- The usage of micro service project swagger aggregation document shows all micro service addresses in the form of swagger grouping
- FuncS sh file not found when using the benchmarksql tool to test kingbases
- Thesis reading_ ICD code_ MSMN
- 2022 registration examination for safety production management personnel of hazardous chemical production units and examination skills for safety production management personnel of hazardous chemical
- C Primer Plus Chapter 10, question 14 3 × 5 array
- Youdao cloud notes
- I stepped on a foundation pit today
- 逆袭大学生的职业规划
猜你喜欢

并发操作-内存交互操作

Php+mysql registration landing page development complete code

When using the benchmarksql tool to test the concurrency of kingbasees, there are sub threads that are not closed in time after the main process is killed successfully

Introduction to message queuing (MQ)

4 years of experience to interview test development, 10 minutes to end, ask too

Thesis reading_ Tsinghua Ernie

Learning practice: comprehensive application of cycle and branch structure (I)

How to choose cross-border e-commerce multi merchant system

I stepped on a foundation pit today

After job hopping at the end of the year, I interviewed more than 30 companies in two weeks and finally landed
随机推荐
Symbol of array element product of leetcode simple problem
有道云笔记
UiPath实战(08) - 选取器(Selector)
Truncated sentences of leetcode simple questions
Web security - CSRF (token)
Hire cashier (differential constraint)
Pyqt control part (II)
Current market situation and development prospect forecast of the global fire boots industry in 2022
[set theory] binary relationship (binary relationship notation | binary relationship from a to B | number of binary relationships | example of binary relationship)
[Thesis Writing] how to write the overall design of JSP tourism network
[set theory] binary relation (example of binary relation operation | example of inverse operation | example of composite operation | example of limiting operation | example of image operation)
Learning practice: comprehensive application of cycle and branch structure (I)
Youdao cloud notes
Literature reading_ Research on the usefulness identification of tourism online comments based on semantic fusion of multimodal data (Chinese Literature)
String matching: find a substring in a string
Valentine's day limited withdrawal guide: for one in 200 million of you
After reviewing MySQL for a month, I was stunned when the interviewer of Alibaba asked me
The simple problem of leetcode: dismantling bombs
[set theory] binary relationship (definition field | value field | inverse operation | inverse synthesis operation | restriction | image | single root | single value | nature of synthesis operation)
2022 chemical automation control instrument examination summary and chemical automation control instrument certificate examination