IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin
If you’ve been keeping up with Java virtual threads, you already know that this hot new feature significantly improves hardware utilization for parallel I/O-bound operations. Virtual threads map multiple concurrent I/O operations to a single OS thread without blocking. The novel aspect of this appr…
Pull back the curtain on the Spring Boot magic and see how the Spring Debugger plugin makes the invisible visible.
This blog post explores how Java and debuggers work behind the scenes.
In this blog post, we will look at how to debug Java code using the IntelliJ IDEA debugger. We will look at how to fix a failing test, how to find out where an `Exception` is thrown, and how to find problems with our data. And we will learn some neat tricks about the debugger in the process! …
일반적인 디버그 시나리오에서는, 디버거가 프로그램을 언제 중단해야 하는지 알려주기 위해 중단점을 설정하게 됩니다. 중단점은 일반적으로 추가 조사를 시작하기 위한 시점과 일치합니다. 중단점을 어디에 설정해야 할지 결정하는 것은 쉽지 않을 수 있으며, 정확한 줄이 불분명한 상황이 있을 수도 있고, 특정 코드 보다는 타이밍에 따라 프로그램을 일시 중지하는 것을 선호할 수도 있습니다. 이 글에서는 IntelliJ IDEA의 Pause Program(프로그램 일시 중지) 기능에 대해 알아보겠습니다. 이 기능은 앞서 설명한 시나리오를 포함해 …
이 게시물은 Debugger.godMode() – Hacking JVM Applications With the Debugger를 번역한 글입니다. 옛날의 컴퓨터 게임은 지금과는 달랐습니다. 이후에 그래픽과 기계학이 진화하기도 했고, 옛날에는 오늘날의 게임에서는 매우 흔하지 않은 특성인 치트 코드를 가지고 있었습니다. 치트 코드는 특별한 무언가를 제공하는 키의 순서로, 치트 코드의 예로는 무한의 탄약 또는 벽을 걸어다니는 능력 등이 있습니다. 가장 보편적이고 강력한 것 중 하나는 "갓 모드"로, 사용자를 무적으로 만드는 것이었습니다.…
Back in the day, computer games were different. Not only have their graphics and mechanics evolved, but they also had one characteristic that doesn’t seem very common in games today: cheat codes. Cheat codes were sequences of keys that would give you something extraordinary, such as infinite ammo o…
在典型的调试场景中, 你会设置断点来告诉调试器何时暂停你的程序。 断点通常标志着进一步调查的开始。 决定在哪里设置断点并不简单。 有时会发生不清楚确切行数的情况, 也有开发者更倾向于根据时间而不是特定代码来暂停程序。 在本文中,我们将探讨 IntelliJ IDEA 的暂停程序 (Pause Program) 功能—— 这是一个较少为人知,但是在某些场景下又极其强大的调试技术, 包括上述提到的情况。 我们将讨论它的使用场景和限制,并分享一个隐秘的单步调试技巧。 什么是暂停功能? 暂停程序 (Pause Program) 是 IntelliJ IDEA 调试器中的一项功能,让开发者能够在任意时刻…
In a typical debugging scenario, you would set breakpoints to tell the debugger when to suspend your program. A breakpoint usually corresponds to the moment that marks the starting point for further investigation. Deciding where to set a breakpoint can be challenging. There might be situations wher…
In our previous article, you learned to move through your code with basic and advanced stepping actions. Now that you know how to navigate your code and control its execution step by step, we can look at the tools for analyzing your program’s state and testing scenarios for bug fixes. In th…
This Debugger Upskill blog post is the first in a series devoted to the IntelliJ IDEA debugger. In the upcoming articles, we’ll describe its core functionality as well as features designed for peculiar use cases. Our topic for this post is stepping, an invaluable procedure that allows you to move…
There are a lot of debugger tutorials out there that teach you how to set line breakpoints, log values, or evaluate expressions. While this knowledge alone gives you a lot of tools for debugging your application, real-world scenarios may be somewhat trickier and require a more advanced approach. …