JavaRush
AI Academy
new
Promotion
Learning
Courses
Tasks
Quizzes
Games
Help
Schedule of nudges
Internship
Community
Users
Forum
Chat
Articles
Activities
Reviews
Subscriptions
Light theme

Lectures

  • Reviews
  • About us
  • CS50
Start
Start learning
Start learning
  • My progress
  • Courses
  • Quest map
  • Lectures
  • Reading stack traces and common runtime panics

    Go SELF
    33 level,0 lecture
    We break down how to read a stack trace in Go as a “route map” to the bug: where to find the first line of your code ( file:line), how to interpret stack frames and the line goroutine 1 [running], and what the most common crashes mean: index out of range, slice bounds out of range, nil pointer dereference, integer divide by zero, assignment to entry in nil map, interface conversion. Separately — the role of defer during a panic and a practical diagnostic algorithm.
    Open
  • Printf debugging and logging

    Go SELF
    33 level,1 lecture
    We break down two diagnostic tools in Go that look similar in form but differ in meaning: fast fmt.Printf-debugging as a “flashlight” to test hypotheses, and system logging via the log package as a “black box” of events. We compare fmt.Printf and log.Printf, discuss separating stdout/ stderr, a careful message style ( op=... key=...), and common mistakes like “forgotten debug prints” and overusing log.Fatal.
    Open
  • Delve (dlv) — breakpoints, stepping, inspecting variables

    Go SELF
    33 level,2 lecture
    We break down debugging Go programs with Delve (the dlv command): why you need a debugger, how to set breakpoints, control execution via continue/ next/ step/ finish, inspect variable and expression values, and how to account for compiler optimizations (inlining) and test hypotheses on a mini-scenario with pointers.
    Open
  • Debugging tests: go test -run

    Go SELF
    33 level,3 lecture
    We break down how to use Go tests as a “repeatable bug reproduction mode”: control execution via go test and the flags -run, -v, -count=1, target specific subtests ( TestXxx/subtest), build a minimal reproducible example ( MRE), and improve error messages with t.Helper().
    Open
  • Regression tests — “caught a bug → pinned it with a test”

    Go SELF
    33 level,4 lecture
    A regression test is a “fuse” that prevents a bug you already fixed from showing up again: we make the problem reproducible, write a failing test, fix the code, and keep the test forever. In this lecture we break down the regression cycle, a Go example with panic/ recover(), a guard clause for len checks, a mustNotPanic helper, and also the rules: what exactly to lock in with a test (a result, an error, or the absence of a panic) and how to name such tests.
    Open
Learn
  • Registration
  • Java course
  • Help with tasks
  • Pricing
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Activities
Company
  • About us
  • Contacts
  • Reviews
  • FAQ
  • Support
JavaRushJavaRush — is an interactive online course for learning Java programming from scratch. It contains 1200 practical tasks with one-click solution checking, the necessary minimum of theory on Java basics, and motivating features that help you complete the course: games, quizzes, interesting projects and articles on effective learning and the career of a Java developer.
Follow us
Язык интерфейса
Русский
English
Українська
"Programmers are not born" © 2026 JavaRush
MastercardVisa
"Programmers are not born" © 2026 JavaRush