【IDEA】使用debug方式去运行java程序

news/2024/7/16 8:42:53 标签: intellij-idea, java, ide

什么是debug工具?

调试工具(debug工具)是一种用于帮助程序员识别和修复程序中的错误的工具。它们提供了一系列的功能,帮助程序员在代码执行的过程中跟踪和检测问题,例如查看变量的值、检查函数的调用栈、设置断点来停止程序的执行等。调试工具还可以提供一些额外的功能,如内存分析、性能分析和代码覆盖率分析等,以帮助程序员更好地理解和改进程序。

常见的调试工具包括集成开发环境(IDE)中的调试器(如Visual Studio、Eclipse等)、命令行工具(如GDB、LLDB等)、内存分析工具(如Valgrind、JProfiler等)以及性能分析工具(如Intel VTune、Xdebug等)。这些工具的目标是用于定位程序中的问题,从而提高程序的质量和性能。

在IDEA中使用debug工具

1、运行方式

右键->Debug.

但这样子,我们是看不出来什么的,需要设置断点来调试。 

 2、设置断点 

 在debug模式下,可以通过设置断点来暂停程序的执行,查看变量的值、调用栈信息等。

点击一下方框中的位置就可以设置断点,这样程序执行就会停在这一步。

 运行后图示(蓝色部分是没执行的):

debug工具使用的总体介绍 

请看下图中文字介绍,还是挺详细的: 

 

主要内容就是这些啦,后续有补充的再添加。

介绍一下图示中的⑤

在这里面点击目标断点,选择“-”后就可以批量删除了

debug程序走完后界面展示 

 

本文使用的代码:

java">public class varibledemo {
    public static void main(String[] args) {
        int money = 50;
        //变量的输出
        System.out.println(money);

        money = 60;
        //变量的修改
        System.out.println(money);

        int num = 50;
        //定义新的变量
        System.out.println(money);

    }
}

 小结

代码比较短的时候看不出debug的重要性,但是随着日后代码量的增加,有这么一个工具是十分有必要的


http://www.niftyadmin.cn/n/5460196.html

相关文章

【算法刷题day6】Leetcode:242. 有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

文章目录 Leetcode 242. 有效的字母异位词解题思路代码总结 Leetcode 349. 两个数组的交集解题思路代码总结 Leetcode 202. 快乐数解题思路代码总结 Leetcode 1. 两数之和解题思路代码总结 HashSet基本使用:HashMap基本使用: 草稿图网站 java的Deque Le…

STM32CubeIDE基础学习-USART串口通信实验(中断方式)

STM32CubeIDE基础学习-USART串口通信实验(中断方式) 文章目录 STM32CubeIDE基础学习-USART串口通信实验(中断方式)前言第1章 硬件介绍第2章 工程配置2.1 工程外设配置部分2.2 生成工程代码部分 第3章 代码编写第4章 实验现象总结 …

C++ decltype的作用

decltype是一个关键字,它在C11标准中被引入,用于在编译时推导表达式的类型。它的主要作用是使得类型的推导更加灵活和方便,尤其是在泛型编程中。 以下是decltype的一些具体用途和作用: 1.类型推导:decltype可以根据给…

git:开发中可能遇到的问题:拉取远程分支相关(有远程仓库但是没有远程分支或者fatal: bad revision ‘origin/master‘)

远程分支相关 有远程仓库但是没有远程分支(git fetch) shanshanEVYSHAN-MC0 bk_template_ieod % git remote -v origin gitxxxx.git (fetch) origi…

如何避免过度设计

设计模式专栏: http://t.csdnimg.cn/4Mt4u 编程技巧专栏:http://t.csdnimg.cn/Ynuj9 目录 1.引言 2.代码设计的初衷是提高代码质量 3.代码设计的原则是“先有问题,后有方案” 4.代码设计的应用场景是复杂代码 5.持续重构可有效避免过度设…

数据结构(五)单链表专题

在开始之前,我先来给大家讲一下顺序表与链表的区别: 它们在堆上存储的差异: 我们可以很容易的知道,循序表是连续的有序的,但链表是杂乱的,它们通过地址彼此联系起来。 1. 链表的概念及结构 概念&#xff1…

vue3路由代码示例

路由简单分三步吧 第一定义路由&#xff1a; 包括访问地址&#xff0c;对应组件 第二使用&#xff1a;在index.html中使用它 下面是代码示例&#xff1a; components/Person.vue <template><router-link to"/test/hello">跳转</router-link>&…

HarmonyOS 应用开发之Want的定义与用途

Want 是一种对象&#xff0c;用于在应用组件之间传递信息。 其中&#xff0c;一种常见的使用场景是作为 startAbility() 方法的参数。例如&#xff0c;当UIAbilityA需要启动UIAbilityB并向UIAbilityB传递一些数据时&#xff0c;可以使用Want作为一个载体&#xff0c;将数据传递…