IDEA debug总结

调试一次编程题,发现没有掌握debug技巧,确实费事,做一次总结,方便以后回顾。

Run to Cursor

跳到光标处,适用于快速跳过循环,定位到光标处,而不用到处打断点,使用断点跳转。非常实用的一个功能。

 

Rrop Frame

Debug程序的时候,是否遇到过因为“下一步”按太快,而导致跳过了想要深入分析的那段代码?是不是很想要有“回到上一步”这样的操作呢?在IDEA中就提供了一个帮助你回退代码的机会。

但是这种回退并不是万能的,比如如下的顺序结构就不能回退。

void test() {
    int a = 1;
    int b = 2;
    int c = a + b;
    System.out.println(c);
}

当你setp into 一个函数的时候,就可以看到这个 Drop Frame的图标,Rrop Frame指的是回退回上一层函数进入的那句语句。

来源:

IDEA Debug过程中如何回退操作?_idea调试回退到上一步_keep one's resolveY的博客-CSDN博客

Set Value

修改值,当你需要不断测试一个函数不同输入时候的输出是否正确,可以和Rrop Frame搭配使用,不断测试一个函数的结果

 来源:

https://www.cnblogs.com/acm-bingzi/p/debugModifyValue.html

测试代码

import java.util.Scanner;

/**
 * T
 * m n
 */
public class Test3 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int t = in.nextInt();
            String[] results=new String[t];
            for (int t0 = 0; t0 < t; t++) {
                int m = in.nextInt();
                int n = in.nextInt();
                String[][] ms = new String[m][m];
                for (int j = 0; j < m; j++) {
                    for (int i = 0; i < m; i++) {
                        ms[j][i] = in.next();
                    }
                }
                String[][] ns = new String[n][n];
                for (int j = 0; j < n; j++) {
                    for (int i = 0; i < n; i++) {
                        ns[j][i] = in.next();
                    }
                }
                String result = process(m, n, ms, ns);
                results[t0]=result;
            }
            for (String result : results) {
                System.out.println(result);
            }
        }
    }

    private static String process(int m, int n, String[][] ms, String[][] ns) {
        boolean eq = true;
        int c = m - n;
        for (int i = 0; i <= c; i++) {
            for (int j1 = 0; j1 < n; j1++) {
                for (int i1 = 0; i1 < n; i1++) {
                    String n1 = ns[j1][i1];
                    String m1 = ms[j1 + i][i1 + i];
                    boolean eq1 = m1.equals(n1);
                    eq = eq && eq1;
                    if(eq){
                        continue;
                    }
                }
            }
            if(eq){
                break;
            }
        }
        if (eq) {
//            System.out.println("Yes");
            return "Yes";
        } else {
            return "No";
//            System.out.println("No");
        }
    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/50077.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华为OD机试真题 Java 实现【最长公共后缀】【2023 B卷 100分】,等于白送

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明4、再输入5、再输出 七、机考攻略 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff…

算法与数据结构-二分查找

文章目录 什么是二分查找二分查找的时间复杂度二分查找的代码实现简单实现&#xff1a;不重复有序数组查找目标值变体实现&#xff1a;查找第一个值等于给定值的元素变体实现&#xff1a;查找最后一个值等于给定值的元素变体实现&#xff1a;查找最后一个小于给定值的元素变体实…

[CrackMe]damn.exe的逆向及注册机编写

1. 脱壳过程 这个crackme有2个文件 发现加了壳 先来脱壳, 使用ESP守恒, pushad后立马下硬件访问断点 F9直接运行, 立马到popad处 接着走几步就到了OEP 下面使用LordPE来转储映像, 为了防止别人修改PE中的ImageSize, 先尝试修正下ImageSize, 然后dump full即可 接着用x6…

基于一致性引导的元学习bootstraping半监督医学图像分割

文章目录 Consistency-guided Meta-Learning for Bootstrapping Semi-Supervised Medical Image Segmentation摘要本文方法实验结果 Consistency-guided Meta-Learning for Bootstrapping Semi-Supervised Medical Image Segmentation 摘要 医学成像取得了显著的进步&#xf…

Visual C++中的虚函数和纯虚函数(以外观设计模式为例)

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天来说说Visual C中的虚函数和纯虚函数。该系列帖子全部使用我本人自创的对比学习法。也就是当C学不下去的时候&#xff0c;就用JAVA实现同样的代码&#xff0c;然后再用对比的方法把C学会。 直接说虚函数…

618,你会入手哪些书?【文末送书】

好书分享 前沿技术人工智能半导体新一代通信与信息技术网络空间安全参与规则 一年一度的618又到啦&#xff01;今年的618就不要乱买啦&#xff0c;衣服买多了会被淘汰&#xff0c;电子产品买多了会过时&#xff0c;零食买多了会增肥&#xff0c;最后怎么看都不划算。可是如果你…

Visual Studio 2022 程序员必须知道高效调试手段与技巧(下)终章

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 &#x1f4cb; 前言&#x1f4ac; 一些调试的实例&#x1f4ad; 实例一&#x1f4fa; 调试演示 &#x1f4ad; 实…

使用Jetpack Compose和Motion Layout创建交互式UI

使用Jetpack Compose和Motion Layout创建交互式UI 通过阅读本博客&#xff0c;您将学会使用Motion Layout实现这种精致的动画效果&#xff1a; 让我们从简单的介绍开始。 介绍 作为Android开发者&#xff0c;您可能会遇到需要布局动画的情况&#xff0c;有时甚至需要变形样…

JDK17 中的新特性初步了解

1. Switch 语句的增强 jdk12 &#xff0c;switch语句不用写break了&#xff0c;直接写箭头和对应的值。 jdk 17中&#xff0c; 加了一个逗号&#xff0c;用于匹配多对一。 如果要在每个case里写逻辑&#xff0c;可以写在花括号里。 在返回值的前面加上yield的关键字。 也可以对…

【雕爷学编程】MicroPython动手做(11)——搭建掌控板IDE开发环境四种

为了能够打好基础&#xff0c;系统学习MicroPython&#xff0c;特地入手了二块掌控板 知识点&#xff1a;什么是掌控板&#xff1f; 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片&#xff0c;支持WiFi和蓝牙双模通…

技术复盘(5)--git

技术复盘--git 资料地址原理图安装配置基本命令分支命令对接gitee练习:远程仓库操作 资料地址 学习地址-B站黑马&#xff1a;https://www.bilibili.com/video/BV1MU4y1Y7h5 git官方&#xff1a;https://git-scm.com/ gitee官网&#xff1a;https://gitee.com/ 原理图 说明&am…

文件系统总结

《本文件系统默认linux文件系统》 一、文件系统基本概念 文件系统是操作系统中负责存取和管理信息的模块&#xff0c;它用统一的方式管理用户和系统信息的存储、检索、更新、共享和保护&#xff0c;并为用户提供一整套方便有效的文件使用和操作方法文件系统是操作系统中管理文…

C++笔记之vector的reserve()和capacity()用法

C笔记之vector的reserve()和capacity()用法 code review! 代码 #include <vector> #include <iostream>int main() {std::vector<int> myVector;std::cout << "Current size: " << myVector.size() << std::endl;std::cout …

SpringBoot使用jetty和tomcat还有undertow以及ssl配置支持https请求

一般使用SpringBoot开发应用程序都是使用的tomcat 稍微注意点性能就使用undertow&#xff0c;配置支持https请求常用nginx来做代理&#xff0c;直接用SpringBoot配置还是很少的&#xff0c;八成用不到&#xff0c;就怕需要用到的时候又不能及时弄出来&#xff0c;于是记录一下。…

Service Mesh之Istio部署bookinfo

给istio部署插件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 rootk8s-master01:/usr/local# cd istio rootk8s-master01:/usr/local/istio# ls samples/addons/ extras grafana.yaml jaeger.yaml kiali.yaml prometheus.yaml RE…

个人博客系统 -- 博客列表页删除Markdown字符

之前的博客系统的列表页会有在markdown编辑器中的特殊字符,比如标题的字符#之类的,在列表页进行展示的时候,我们需要将这些字符进行筛选. 对这些字符进行筛选,我们可以通过排设计正则表达式进行筛选,也可以使用组件的方式进行筛选.下面我来总结一下,使用组件的方式进行筛选. 这…

rcu链表综合实践

基础知识 rcu-read copy update的缩写。和读写锁起到相同的效果。据说牛逼一点。对于我们普通程序员&#xff0c;要先学会使用&#xff0c;再探究其内部原理。 链表的数据结构&#xff1a; struct list_head {struct list_head *next, *prev; };还有一种&#xff1a;struct h…

Codeforces Round 888 (Div. 3)(视频讲解全部题目)

[TOC](Codeforces Round 888 (Div. 3)&#xff08;视频讲解全部题目&#xff09;) Codeforces Round 888 (Div. 3)&#xff08;A–G&#xff09;全部题目详解 A Escalator Conversations #include<bits/stdc.h> #define endl \n #define INF 0x3f3f3f3f using namesp…

第四章 网络层

第四章 网络层 4.1 网络层提供的两种服务 ​ 网络层关注的是如何将分组从源端沿着网络路径送达目的端。在计算机领域&#xff0c;网络层应该向运输层提供怎样的服务&#xff08;“面向连接”还是“无连接”&#xff09;曾引起长期的争论。争论的实质就是&#xff1a;在计算机通…

flex盒子 center排布,有滚动条时,拖动滚动条无法完整显示内容

文章目录 问题示例代码解决问题改进后的效果 问题 最近在开发项目的过程中&#xff0c;发现了一个有趣的事情&#xff0c;与flex盒子有关&#xff0c;不知道算不算是一个bug&#xff0c;不过对于开发者来说&#xff0c;确实有些不方便&#xff0c;感兴趣的同学不妨也去试试。 …