C++ Debugger for complete beginners

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024

Комментарии • 90

  • @роскомнадзор-д8я
    @роскомнадзор-д8я 2 месяца назад +30

    "dear beginners, please learn to use the debugger"
    bold of you to assume that my program compiles successfully

  • @lukasjetu9776
    @lukasjetu9776 2 месяца назад +67

    the printf method is based 💯

    • @ika_666
      @ika_666 2 месяца назад +2

      sometimes real debugging is more convenient and precise for checking complicated logic

    • @lukasjetu9776
      @lukasjetu9776 2 месяца назад +3

      @@ika_666 i know but my dummy brain just chooses the simplest solution

    • @roccociccone597
      @roccociccone597 2 месяца назад

      @@ika_666 print debugging is based though

    • @anynonamesays
      @anynonamesays 2 месяца назад +5

      ​@@ika_666 if project is big, debugger won't help you ('cause it cannot scale), but good logging and unit tests will. I personally don't use a debugger. Instead I just look at the code + sometimes use prints. If project grows, I'll just implement proper logging.
      So you can live without a debugger, because it is for specific uses, which I don't really mind spending more time on.

    • @autumnblaze6267
      @autumnblaze6267 2 месяца назад

      in JS we have console.log and just opening the developer console is pretty much a debugger but without the checkpoints (you'll still need to console.log manually inside a loop, but honestly I never needed to learn proper debugging in JS (and I did wild stuff in JS: back end and even on the front end I do all the abstract professing (easy to translate into any other interpreted language - in C/C++ I'd have to worry about memory, but interpreted languages are all the same at this abstraction level) that never hooks into the DOM, API stuff), similar story with Python (I do way less Python, but the same logic applies): instead of running the program as regular, I run the Python interpreter and import the app - from that point on, I have access to everything (remember the namespaces, tho! ))
      I don't have the problems of all big boy programmers cos I'm just a cute lil soydev, writing my JS cutely while wearing a skirt and thigh highs, sipping on my soymilk choccy (actually carob cos I can't do cocoa 😂 my lil soydev tummy can't handle many things)

  • @wurlin_murlin
    @wurlin_murlin 2 месяца назад +7

    Debugging is the most valuable skill all engineers can learn at all levels of abstraction (maybe after "being passionate").
    If you are staring at code, or administrating a network service, or supporting some complex distributed cloud behemoth, or reverse engineering weird vendor products and protocols -- the skill of picturing & isolating components and being familiar with the tools to do so (be that a debugger or whatever else helps you see what's actually happening) always makes life less painful.

  • @jonnyrichards
    @jonnyrichards 2 месяца назад +3

    I love using a debugger specifically for gameplay stuff where there are lots of different variables that may or may not be causing the issue and instead of writing loads of print statements and reloading I can just test lots of different things on the fly.

    • @anynonamesays
      @anynonamesays 2 месяца назад

      Write proper logging instead.

  • @Cinarbayramic
    @Cinarbayramic 2 месяца назад +20

    i just use it to measure which function takes the most time and optimise it

  • @VanOri
    @VanOri 2 месяца назад +2

    Debuggers are the holy grail of programming

  • @uis246
    @uis246 2 месяца назад +4

    Stalin debugging: rasstrelyat that bug

  • @speedg
    @speedg 2 месяца назад +2

    "nothing the g'old print debugging cant fix"

  • @vulnoryx
    @vulnoryx Месяц назад

    Hi LowLevelGameDev.
    May I ask how you are handling different resolutions in your games?
    Like for example, I have a 1440p monitor and my 2d pixel art game looks good. But my friend for example has a 1080p monitor so everything looks zoomed in on his machine.
    How can I make it look the same on both resolutions without making it look scuffed.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Месяц назад +1

      Yo so this is actually harder than it seems. For 2D it is actually harder than in 3D. In my Steam game I gave the player the option to zoom in and out from the settings. Other games automatically zoom for you so you all get the same experience. You need to do something like that. Start from 1080p amd zoom in for higher rezolutions. Other games request a sepcific aspect ratio so they just black out parts of the screen to get that aspect ratio, and than zoom you in to get the desired result. You can also set the screen resolution in full screen mode to your wanted aspect ratio, tho you need to mess with winapi for that, but I can show you how if you message me on discord.

    • @vulnoryx
      @vulnoryx Месяц назад

      ​@@lowlevelgamedev9330 Thanks a lot for your response.
      May I ask how I can find the value for the zoom? Dividing width by height only gives me the aspect ratio.
      (I dont want to mess with the win api since I mainly use Linux)
      Thanks again

  • @Naburgondux
    @Naburgondux 2 месяца назад

    Holy grail GDB,would've wasted much more hours than i should without it.

  • @nevokrien95
    @nevokrien95 2 месяца назад +1

    I use gdb for things but my goto is still printing and asserts

  • @cameonn
    @cameonn 2 месяца назад

    What font do you use? It looks awesome! (as subtitle)

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  2 месяца назад +1

      Kg second chances 💪

    • @cameonn
      @cameonn 2 месяца назад

      @@lowlevelgamedev9330 thank you mister :)

  • @blackbeard3449
    @blackbeard3449 2 месяца назад

    Do you know any good resources to learn gdb? In my experience, Those old tools have very sparse resources.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  2 месяца назад

      nope and I honestly recomand using a gui debugger, but maybe try searching on yt

  • @darko_n6819
    @darko_n6819 2 месяца назад +2

    GDB people could benefit by using some of them GDB GUIs but I can't assure you their quality.

    • @user-tw2kr6hg4r
      @user-tw2kr6hg4r 2 месяца назад

      how is that an improvement

    • @SimGunther
      @SimGunther 2 месяца назад

      What specifically needs to be improved about gdb GUI? I know people will make a laundry list the size of the Eiffel Tower, but still, I'd love to know exactly how we can make a better gdb GUI for all.

  • @sealsharp
    @sealsharp 2 месяца назад +1

    "Never assume you know what the problem is"
    and related: find and fix the real problem.
    When searching for a problem, it tends to happen that you will find the symptoms of problem and it will be supereasy to just put an end to the effects caused by the bug instead of actually fixing the root cause.
    Fix the real problem!

  • @LinguisticMirage
    @LinguisticMirage 2 месяца назад +3

    giga chad moment

  • @BobChess
    @BobChess 2 месяца назад

    non-debuggers when "Segmentation Error"

  • @confidential8446
    @confidential8446 2 месяца назад

    Debugger is hard to setup in c++

  • @ashtonkusmaul6907
    @ashtonkusmaul6907 Месяц назад +1

    Is rust even good for game dev?

  • @vaibhavrohilla8647
    @vaibhavrohilla8647 Месяц назад

    How much years of blood and sacrifice it takes to become beast Chad c++ coder

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  Месяц назад

      hmm, a few years of doing cpp every day should get you there for sure 💪💪

  • @user-sb5vt8iy5q
    @user-sb5vt8iy5q 2 месяца назад

    Can't be a coincidence that I spent 1 hour today because I forgot I copy pasted code that increment 'i' inside the for loop and inside the loop statement so I skipped half of the items...

  • @Mad3011
    @Mad3011 2 месяца назад +1

    I just don't get the anti debugger stance and insistence on adding printf statements that seems to be prevalent among certain circles. It's like not using oscilloscopes and multimeters when debugging a complex circuit board and instead staring at the pcb and soldering LEDs onto random spots. When I was just starting out I didn't use debuggers, mainly because I had no idea what they could do for me and did not know how to use them effectively. Two decades later and the debugger has become an indispensable tool. Learn to use both, learn when to use which and learn how to debug efficiently. Logging and debugging are not mutually exclusive, they go hand in hand.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  2 месяца назад

      yes, thers no need to exclude any of them, the debugger is essential, and printt is very convinient for small things

    • @SylvanFeanturi
      @SylvanFeanturi 2 месяца назад

      The comparison with LEDs is brilliant XD

  • @user-du9ch3tn2v
    @user-du9ch3tn2v 2 месяца назад +1

    I always ask my self is there a memory viewing tool for Linux like the one from visual Studio (maybe a Video about replacing visual Studio - removing Microsoft from your live)

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  2 месяца назад +1

      idk I don't use linux :)) there probably is. Clion has a debugger that had probably all the features that vs has.

    • @user-du9ch3tn2v
      @user-du9ch3tn2v 2 месяца назад

      Well that's fair

    • @Markus_included
      @Markus_included 2 месяца назад

      @@lowlevelgamedev9330 CLion's debugger is great (it's essentially just a frontend to gdb or lldb) but it's not quite on par with the vs debugger

    • @Goutham.070
      @Goutham.070 2 месяца назад

      @@lowlevelgamedev9330 but clion is paid i guess

    • @drominitoketchup
      @drominitoketchup 2 месяца назад

      that's also my current goal.

  • @aghayejalebian7364
    @aghayejalebian7364 2 месяца назад

    Great video

  • @timmygilbert4102
    @timmygilbert4102 2 месяца назад

    Heisenbug want to know your location

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  2 месяца назад

      I want to know its location 😂😂

    • @timmygilbert4102
      @timmygilbert4102 2 месяца назад

      @@lowlevelgamedev9330 the observer perturbed the mesure, Heisenbug cease to exist the moment you look at it, it only exist when you don't, then it exist everywhere at once. That's quantic programming.

  • @tadeplayzz2282
    @tadeplayzz2282 24 дня назад

    What compiler to you use

  • @drevcronsole
    @drevcronsole Месяц назад

    //FIXME: This.
    Never been fixed.

  • @Cnastret
    @Cnastret 2 месяца назад

    I use neovim and I'm not leaving it. Guess I am going with gdb

  • @gianluur6650
    @gianluur6650 2 месяца назад

    printf gang

  • @Nop_90h
    @Nop_90h 2 месяца назад

    Sooo did u learn debugger? How is your vector class?😂

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  2 месяца назад

      precisely that was wat my problem with that thing there, you can't know that it is implementer right even with a debugger

  • @Doomslayer151
    @Doomslayer151 Месяц назад

    hehehe i not ise any of these i rocking without CMake hehehehehehe

  • @feivmoon
    @feivmoon 2 месяца назад

    no🗿

  • @Hilent98
    @Hilent98 2 месяца назад +1

    Meow

  • @sungoner5906
    @sungoner5906 2 месяца назад

    uno

  • @unschlagbar2302
    @unschlagbar2302 2 месяца назад

    as a rust developer, i only need the debugger when i call extern c functions (vulkan)

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  2 месяца назад +3

      the debugger is not used only for null pointer exceptions, your program is not free of bugs because you use rust :))

    • @unschlagbar2302
      @unschlagbar2302 2 месяца назад

      ​​​@@lowlevelgamedev9330the print methods works great for the other bugs🙃

  • @user-tw2kr6hg4r
    @user-tw2kr6hg4r 2 месяца назад

    dont use ide debugger wrappers, use a proper debugger instead. more generally, dont use an ide.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  2 месяца назад +4

      how is visual studio not a debugger? I think its considered one of the best debuggers out there

    • @MichaelPohoreski
      @MichaelPohoreski 2 месяца назад

      @@lowlevelgamedev9330 Visual Studio's debugger is slow as fuck. It is _good enough_ which is why most Windows programmers aren't motivated to learn about better tools.

    • @somenameidk5278
      @somenameidk5278 2 месяца назад

      @@lowlevelgamedev9330 i think this guy is advocating for a command line text editor + gdb or lldb

    • @Egalobert
      @Egalobert Месяц назад

      i'd argue that not using an IDE scales terrible for Real World Software where you need to keep track of 100s or 1000s of Files and 1000s upon 1000s Lines of Code, i highly doubt they're creating GTA6 in Neovim :D

    • @MichaelPohoreski
      @MichaelPohoreski Месяц назад

      @@lowlevelgamedev9330 ruclips.net/video/r9eQth4Q5jg/видео.html

  • @ManuelCam
    @ManuelCam 2 месяца назад

    In 3:00 it says geam instead of game