当前位置:网站首页>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 .
边栏推荐
- 【XSS绕过-防护策略】理解防护策略,更好的绕过
- The usage of micro service project swagger aggregation document shows all micro service addresses in the form of swagger grouping
- [set theory] relational representation (relational matrix | examples of relational matrix | properties of relational matrix | operations of relational matrix | relational graph | examples of relationa
- 2022 new examination questions for the main principals of hazardous chemical business units and examination skills for the main principals of hazardous chemical business units
- 联发科技2023届提前批IC笔试(题目)
- Games101 Lesson 9 shading 3 Notes
- [SQL injection] joint query (the simplest injection method)
- Library management system based on SSM
- A outsourcing boy's mid-2022 summary
- 《牛客刷verilog》Part II Verilog进阶挑战
猜你喜欢

论文阅读_中文医疗模型_ eHealth

Number of uniform strings of leetcode simple problem

STM32 reverse entry

FISCO bcos zero knowledge proof Fiat Shamir instance source code

Number of 1 in binary (simple difficulty)

Introduction to JVM principle

2022 new examination questions for the main principals of hazardous chemical business units and examination skills for the main principals of hazardous chemical business units

Golang -- realize file transfer
![[XSS bypass - protection strategy] understand the protection strategy and better bypass](/img/72/d3e46a820796a48b458cd2d0a18f8f.png)
[XSS bypass - protection strategy] understand the protection strategy and better bypass

After job hopping at the end of the year, I interviewed more than 30 companies in two weeks and finally landed
随机推荐
Dive into deep learning - 2.1 data operation & Exercise
stm32逆向入门
Number of 1 in binary (simple difficulty)
Pyqt control part (II)
[BMZCTF-pwn] 20-secret_ file
Two drawing interfaces - 1 Matlab style interface
Leetcode simple question: check whether two string arrays are equal
文献阅读_基于多模态数据语义融合的旅游在线评论有用性识别研究(中文文献)
Php+mysql registration landing page development complete code
Market status and development prospect forecast of global button dropper industry in 2022
Kingbasees plug-in KDB of Jincang database_ exists_ expand
Asp access teaching management system design finished product
论文阅读_中文医疗模型_ eHealth
2022 registration of G2 utility boiler stoker examination and G2 utility boiler stoker reexamination examination
Use the benchmarksql tool to perform a data prompt on kingbases. The jdbc driver cannot be found
[set theory] binary relationship (definition field | value field | inverse operation | inverse synthesis operation | restriction | image | single root | single value | nature of synthesis operation)
GFS distributed file system (it's nice to meet it alone)
[XSS bypass - protection strategy] understand the protection strategy and better bypass
Integration of Android high-frequency interview questions (including reference answers)
[luatos sensor] 2 air pressure bmp180