Fantastic tutorial for how to use the IntelliJ Debugger, Will! You have awesome examples. I like how you show alternatives to the common use of tossing print statements around in code- this is a much better way of troubleshooting
Thanks for sharing your insight, Will! I am a beginner Java programmer and I honestly didn't know how to use the debugger, so I didn't touch it. But, after watching your video, I want to use it more often. Keep up the good work!
Thanks for the feedback! I did the same thing when I was learning Java initially and am glad I decided to take the plunge on learning about debuggers :)
Great into tutorial! However, I wish you went a little more into detail at the end. For instance, how do we find which threads the thread numbers are referring to? Also, how do we know which objects the threads are locked? You got answers like "0x2fc," but how do we find which variable that is referring to?
Thanks for the question! The short answer is that the stack traces in the thread dump will usually tell you enough for a simpler example like this, but I do hear your point about more advanced debugging. In this particular example the trace tells you the line number its blocking on waiting for monitor entry and it tells which thread its waiting on. I've thought about making a video (or a series) on different debugging techniques with threading issues being a top contender. Is that something you'd like to see?
@@willtollefson Yes; I would love a series about that. I have been studying computer science for two years now, but my textbook and classes never talked about the debugger. It's actually really embarrassing that I know nothing really about it😂😂
@audiomac sounds good - I totally get it and I've heard that from a lot of folks. It seems like teaching debugging isn't always a priority which is odd to me since that's a decent portion of what devs do in industry. I'll see about putting out some more debugging videos in the future. Thanks!
It might be good to take out some of the complexity to verify your setup. Write a simple program and add breakpoints to make sure in the nominal case you can see them. Once you have that working, slowly go back to your problem at hand and confirm the setup is equivalent, you’re hitting the code you think you are, and the breakpoint is enabled and not conditional. Good luck!
Thank you so much, you have explained it in a very simple way. I had checked many videos but they had made it very complex. Thank you once again
You're welcome! Glad to hear this was helpful for you
Fantastic tutorial for how to use the IntelliJ Debugger, Will! You have awesome examples. I like how you show alternatives to the common use of tossing print statements around in code- this is a much better way of troubleshooting
Thanks! Its always surprising to me that there isn't more focus in tutorials about code debugging tips
Thanks for sharing your insight, Will! I am a beginner Java programmer and I honestly didn't know how to use the debugger, so I didn't touch it. But, after watching your video, I want to use it more often. Keep up the good work!
Thanks for the feedback! I did the same thing when I was learning Java initially and am glad I decided to take the plunge on learning about debuggers :)
This changed my life.
Great video, Will! Good tools like IntelliJ really help with the debugging process
Agreed, tools like a good IDE can really make a difference!
Thanks a lot ! The best simple explanation I found about how to start debugging in Java. Clear, concise, straight to the point!
Glad to hear you liked it! Debuggers can be very useful for sure
How have i been missing this for years of my life
Me at the start of this video: "Ah, how simple, I understand everything."
After the 11th minute: "F-ck."
Threading issues and deadlocks can be some really interesting bugs to solve, which is why those thread dumps can be really useful!
thanks will ,u r doing great
Wow this is detailed in a simplified way, and your speed is very very comfortable for me and very easy for a new bee to understand debugging
Glad it was helpful!
Nice tutorial brother i am from India
Thanks - glad to hear you liked the tutorial!
great video. was able to understand in minutes what i was struggeling to understand since months :D
Awesome, glad to hear this was helpful!
Really awesome! Thanks so much!
Happy to help!
Thanks a lot ❤ I used to rely on logging and print statement 😅
Same here - print statements used to be my only debugging method initially
Thank you so much
After years of using print statements, finally get to use the debugger
Awesome!
great video man highly appreciated
great work thanks!
You're welcome. Happy to hear that it helped!
Thank you so much it helped a lot
You're welcome!
Thank you so much Great video
Good work brother
Great into tutorial! However, I wish you went a little more into detail at the end. For instance, how do we find which threads the thread numbers are referring to? Also, how do we know which objects the threads are locked? You got answers like "0x2fc," but how do we find which variable that is referring to?
Thanks for the question! The short answer is that the stack traces in the thread dump will usually tell you enough for a simpler example like this, but I do hear your point about more advanced debugging. In this particular example the trace tells you the line number its blocking on waiting for monitor entry and it tells which thread its waiting on. I've thought about making a video (or a series) on different debugging techniques with threading issues being a top contender. Is that something you'd like to see?
@@willtollefson Yes; I would love a series about that. I have been studying computer science for two years now, but my textbook and classes never talked about the debugger. It's actually really embarrassing that I know nothing really about it😂😂
@audiomac sounds good - I totally get it and I've heard that from a lot of folks. It seems like teaching debugging isn't always a priority which is odd to me since that's a decent portion of what devs do in industry. I'll see about putting out some more debugging videos in the future. Thanks!
thanks for your video :)
My pleasure!
Phenomenal
Tahnk you so much, Will! Great video
You bet, glad you liked the video!
Awesome..
Thanks!
Thanks!
Perfect !!!
you save my life
I need help, every breakpoint I set in the code doesnt have a check mark none of them work
It might be good to take out some of the complexity to verify your setup. Write a simple program and add breakpoints to make sure in the nominal case you can see them. Once you have that working, slowly go back to your problem at hand and confirm the setup is equivalent, you’re hitting the code you think you are, and the breakpoint is enabled and not conditional. Good luck!