Debugging Like A Pro

preview_player
Показать описание

Checkout our bestselling System Design Interview books:

ABOUT US:
Covering topics and trends in large-scale system design, from the authors of the best-selling System Design Interview series.
Рекомендации по теме
Комментарии
Автор

My first learning of the software industry, "you should know what you are expecting to get before hitting the run button. If you are debugging without knowing the outcome then you are wasting the time."

It becomes important when you write new code. I have seen people write the code and validate the outcome by hitting the button.

2nd learning, "Eliminate the possibility, especially in the prod where it is hard to debug the issue."

3rd learning "Take a break"

if nothing works, then collaborate (this I always choose as the last option as everyone's time is precious.)

anshulagrawaljbp
Автор

Worst case scenario if it only works on your machine, ship the machine to the customer. Bug fixed!

LimitedWard
Автор

I solve more bugs with the imaginary mentor than with actual help, since I often use imaginary help first, and seek help if that doesn't help.
Sleeping over it also helps me a lot, however, a coffee break doesn't help me.
It's amazing how much you can solve, when you stop trying.

nekrosis
Автор

One of the best channels on System Design. Many thanks for your excellent work!

timelschner
Автор

1. Obtain as much information as possible to reproduce the problem
2. Use Print statement to construct a timeline
3. Comb through all the logs for clues
4. Take a break

ReflectionOcean
Автор

If we could debug efficiently we can write code faster. bugs/errors are basically a obstacle in a road were your cargo truck is gonna have go through, the faster we fix it, the faster we reach our destination

bulaloitech
Автор

I personally love using graphviz dot for debugging graph-structured data/tasks.
The syntax is so simple you can quickly write methods for auto-generating dot code from the current state of the program, then you write that in a file and one command later you have a nicely laid out visualization. It often shows you at a glance what's wrong while finding the same issue with printing out data would be frustrating and more time consuming.

SaHaRaSquad
Автор

If you are using visual studio, it can be really helpful to set break points and then look at variable values. Go line by line to see what is happening, how variables change, the current call stack

plontulublalulu
Автор

Thank you so much for this video. Super helpful and well-presented. Your time and effort is most appreciated!

henrythomas
Автор

雖然大學第一學期就有OOP和FP的必修 但一直沒有真正理解FP的目的 感謝!

dukecheng
Автор

This is really good, but I wish you'd delve more into breakpoints and introspection tools, either language specific ones or strace/gdb/etc - perhaps for a future video?

afzk
Автор

🥇 This was like friendly advice from Dad, but with excellent graphics and animation! Thank you! 😎✌️

gus
Автор

Don't forget to also add instrumentation to your app when possible. A lot of time will be saved when debugging a properly instrumented system, because there is no need to add all those logs and wait for the customer to trigger the bug again. You can prove your theory by looking at the function calls.

gigakoresh
Автор

"Works on my machine!"
""We will ship your machine to customers then"

fullmastrinio
Автор

I just recently arrived in the data analysis world, and although it's not network engineering, but I can relate so much to this video. Thanks!! My solution so far if my codes were not working or having g bugs, was mostly closing my computer, and crying for hours.Or finishing a jar of ice cream. Or sleeping, or taking a loooong walk then sleeping. And magically some codes will work in the next day. But not always. 🥺😭😭😭😭. And I am not talking to rubber ducks, I am always talking to the trees along my long debugging walk. 😞😟

YU_meineLiebe
Автор

Get help is by far the most efficient.
How often did I write an email explaining the issue and after 80% of the email I got an idea how to solve the issue.

XxDraiNx
Автор

Adjacent topic suggestions:
Logging frameworks - what they can do and what are the differences
Application Monitoring - what they can do and what are the differences

Martinit
Автор

I can assure every developer that half the time you'll be using the debugging skill that you earn the hard way. This will help you do things quicker

a.nk.r
Автор

what sources would you recommend to read to design a low-load alibaba?

boringmanager
Автор

How about debugging in microservice system during dev stage? I need to restart the service when I have changes in the code and it take like forever. My IDE is Intellij. Thanks for the tips!

jadenguyen