C++ Debugger for complete beginners

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 พ.ย. 2024

ความคิดเห็น • 92

  • @роскомнадзор-д8я
    @роскомнадзор-д8я 2 หลายเดือนก่อน +30

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

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  2 หลายเดือนก่อน +4

      🤣😂 I also have a video for that 😎

  • @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.

  • @Cinarbayramic
    @Cinarbayramic 2 หลายเดือนก่อน +20

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

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  2 หลายเดือนก่อน +19

      that's the profiler tho, its different

    • @Cinarbayramic
      @Cinarbayramic 2 หลายเดือนก่อน +1

      @@lowlevelgamedev9330 or is it 🤨

  • @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.

  • @uis246
    @uis246 2 หลายเดือนก่อน +4

    Stalin debugging: rasstrelyat that bug

  • @VanOri
    @VanOri 2 หลายเดือนก่อน +2

    Debuggers are the holy grail of programming

  • @speedg
    @speedg 2 หลายเดือนก่อน +2

    "nothing the g'old print debugging cant fix"

  • @Naburgondux
    @Naburgondux 2 หลายเดือนก่อน

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

  • @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.

  • @LinguisticMirage
    @LinguisticMirage 2 หลายเดือนก่อน +3

    giga chad moment

  • @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

  • @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!

  • @BobChess
    @BobChess 2 หลายเดือนก่อน

    non-debuggers when "Segmentation Error"

  • @nevokrien95
    @nevokrien95 2 หลายเดือนก่อน +1

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

  • @ashtonkusmaul6907
    @ashtonkusmaul6907 หลายเดือนก่อน +1

    Is rust even good for game dev?

  • @aghayejalebian7364
    @aghayejalebian7364 2 หลายเดือนก่อน

    Great video

  • @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

  • @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 💪💪

  • @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.

  • @tadeplayzz2282
    @tadeplayzz2282 หลายเดือนก่อน

    What compiler to you use

  • @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.

  • @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...

  • @confidential8446
    @confidential8446 2 หลายเดือนก่อน

    Debugger is hard to setup in c++

  • @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

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  2 หลายเดือนก่อน

      you can have the debugger sepparate from your ide

  • @gianluur6650
    @gianluur6650 2 หลายเดือนก่อน

    printf gang

  • @matrixnetwork23
    @matrixnetwork23 3 วันที่ผ่านมา

    Visual Stalin Debugger? Is there also a Hitler Debugger?

  • @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

  • @Hilent98
    @Hilent98 2 หลายเดือนก่อน +1

    Meow

  • @feivmoon
    @feivmoon 2 หลายเดือนก่อน

    no🗿

  • @Doomslayer151
    @Doomslayer151 2 หลายเดือนก่อน

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

  • @sungoner5906
    @sungoner5906 2 หลายเดือนก่อน

    uno

    • @stick101x2
      @stick101x2 2 หลายเดือนก่อน

      dos

    • @sungoner5906
      @sungoner5906 2 หลายเดือนก่อน

      Tres 🌲 ​@@stick101x2

  • @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 th-cam.com/video/r9eQth4Q5jg/w-d-xo.html

  • @ManuelCam
    @ManuelCam 2 หลายเดือนก่อน

    In 3:00 it says geam instead of game