IntelliJ IDEA – the IDE for Professional Development in Java and Kotlin
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…
One of the most common debugging techniques, printf debugging is particularly popular because most people learn it intuitively when debugging their first programs. This type of debugging is also very accessible because you don’t need any special tools for it. You just insert print statements into yo…
We often find ourselves in situations where code is not working properly, and we have no idea where to even begin investigating. Can’t we just stare at the code until the solution eventually comes to us? Sure, but this method probably won’t work without deep knowledge of the project and a lot of men…
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. …
The IntelliJ IDEA debugger is very helpful when it comes to improving your code. Not only does it help you to identify inconsistencies, but it also makes navigating to the responsible lines much easier. There are many ways to set a target execution line during debugging. You can use breakpoints, or…
If you’ve ever used System.out.println() to debug your code, this post is a must-read. A debugger is a special tool that you can use to execute your Java code in a strictly controlled environment. It lets you review and analyze the inner state of your application and find and fix bugs that may be h…
As usual, the latest release of IntelliJ IDEA comes with improvements to help with debugging applications. New Overhead Tab Debugging an application comes with an inevitable cost. While we may know this, it's not always obvious what this might be. IntelliJ IDEA 2017.3 comes with a way to visua…
As usual, the newest version of IntelliJ IDEA contains updates to help you debug applications. Given that we are working more and more with large data sets, IntelliJ IDEA 2017.2 has added the ability to filter arrays and collections in our variables or watches. In this example, I have a vari…
Last month we introduced Java Stream Debugger, a plugin that adds visualizatoion of Java Stream operations to IntelliJ IDEA debugger. Today, we're taking debugger improvements one step further with this feature: filtering arrays and collections. It will be a part of IntelliJ IDEA 2017.2 and i…
Last week we published EAP of the upcoming IntelliJ IDEA 2017.1 that included initial support for async stacktraces. Today, along with a fresh EAP build, we're happy to introduce another improvement aimed at making debugging asynchronous code easier: step into that supports lambda expressions execut…