How to DEBUG C++ in VISUAL STUDIO

Поділитися
Вставка
  • Опубліковано 27 вер 2024

КОМЕНТАРІ • 477

  • @mdamonc
    @mdamonc 5 років тому +532

    2:33 - Please, if you're going to quote my parents, at least mention them in the description.

  • @alijoyce2169
    @alijoyce2169 3 роки тому +109

    You can feel that he really knows his stuff and spent years for it. I really appreciate how it is free for us to enjoy.

  • @jondoe79
    @jondoe79 6 років тому +565

    The most enjoying C++ series ever

  • @wolfsnow711
    @wolfsnow711 8 місяців тому +25

    800 record? You were so underrated back then, considering that even six years later you still have the best C++ tutorial. The most precise, practical, professional, up-to-date and easy to understand.
    And you are so passionate in these videos too!
    I've had a headache trying to learn C++, because they only teach what the code means and how to set up the tools for compiling, but give no understanding of how it actually works top-down. It's so hard to grasp the process without CS education, I wasn't really learning and coding most of the time, but collecting scraps of information from different materials trying to build the image of how a process should work.
    But after your vids about compiler & linker I'm so fired up! I finally know what I'm doing when I write the code. I can't thank you enough!

    • @02quocanh7
      @02quocanh7 7 місяців тому +2

      Well, as a person who is having CS education (and still doing good), I realized that what I know is... almost nothing, compared with UA-cam academy in general and specifically in this series. Got to say that I also feel the same, and it helped me a lot, as now I really understand how things work, at least now it make sense.

    • @Dazed_04
      @Dazed_04 7 місяців тому +3

      Another CS fellow here, still in first sem. I wanna say that I can write code that's sufficient for problem solving but even if I get it to work without copying someone else's code there's still that question in the back of my head "but why?".
      Why do things this way, what it actually means. The whole reason I like coding in general is the sort of magical feel you get when you build something out of nothing (it's not the instant gratification I chase I swear ;) . But then you get stuck on these questions and it's like someone took away that magic, like everything you're doing is using someone else's power(which is both true and not true). So these c++ videos are a treasure trove that just never ends.

  • @rcookie5128
    @rcookie5128 7 років тому +268

    Debugging is love, debugging is life. haha
    for real: I partially enjoy debugging, its like solving a puzzle.. It can get reaaally frustrating some times, and sometimes even irritating, but over all its a key part of coding and learning to code better I think :)

    • @jamesmnguyen
      @jamesmnguyen 7 років тому +10

      ΜrCookie
      I once was using an external library and apparently my code kept crashing. Unfortunately I didn't trace it back to the library since the debugger told me a pointer was deconstructed (the class). After a few hours of hair pulling, I found out the library was manually calling the destructor.

    • @warbossworm
      @warbossworm 6 років тому +16

      I find that the satisfaction of defeating a really nasty bug is one of the best feelings when coding!

    • @Manas-co8wl
      @Manas-co8wl 6 років тому +4

      It's also the most defeating... I mean it's always so easy in hindsight. Makes you rethink your belief in your prescience

    • @Megalcristo2
      @Megalcristo2 4 роки тому

      Is this C/C++?

    • @section9999
      @section9999 3 роки тому

      But the real question is, do you chocolate chip?

  • @Kanak_Bodkhe
    @Kanak_Bodkhe Рік тому +15

    being able to watch the memory allocation that much close is fascinating for me, like you can actually see those value getting stored physically in that hardware is just amazing :O

  • @JohnnyThund3r
    @JohnnyThund3r 3 місяці тому +2

    This really is the best C++ tutorial on UA-cam, I'm running through it again for the 2nd time because Cherno just knows how to teach you how to think like a programmer, even if you're not planning to use C++.

  • @daisonc.a.2472
    @daisonc.a.2472 3 роки тому +15

    I always used print statements to check execution. Never thought that debugging could have be way easier than that. Thank you Cherno for teaching me how to debug.

  • @aronas1353
    @aronas1353 Рік тому +3

    wow i have a little bit of programming experience and this series has really helped me to understand the nitty gritty of the whole programming process. tysm for making this

  • @MaxwellsWitch
    @MaxwellsWitch 7 років тому +36

    4:25 Well, you taught me so much in two minutes. So I can see what the variables are set to without having to use cout

  • @samdavepollard
    @samdavepollard Рік тому +1

    you should sell those pillows as merch
    seriously, i'm sure lots of us would happily support the channel that way especially those who don't want to do the whole patreon thing

  • @uovo
    @uovo 2 роки тому +1

    Love how you explains it first and show it after, it's like you are creating the dots so it's easier for us just to connect them

  • @steele.in.motion
    @steele.in.motion 5 років тому +23

    It's so great to find a series that teaches the way I learn. Thank you for the effort you put into this!

  • @oberon2159
    @oberon2159 Рік тому +3

    Literally the best C++ tutorial series on the internet, thank you!

  • @JRCSalter
    @JRCSalter 7 років тому +9

    Learning soo much from this series. Never knew you could view the actual memory. That is fantastic.

  • @annabelletrinh936
    @annabelletrinh936 3 роки тому +17

    For XCode users:
    - Memory View : ⌘⌥⇧M or through the Debug --> Debug Workflow --> View Memory menus.
    - Autos and Locals are available by clicking on the arrow at the very bottom of the debug console.
    - To Watch a variable: Right-click on a variable and click on "watch", or right-click on the debug console and click on "add expression"

  • @RomeWithTheHEMIs
    @RomeWithTheHEMIs 7 років тому +16

    Much love, Yan. This is one beautifully executed series.

  • @jmx808
    @jmx808 6 років тому +15

    For those not well versed in VS17, Ctrl+F10 (or right-click Run-To Cursor) is a better way of moving from an existing point, to another point in the code (i.e., skip through a for loop)

  • @vratislavi
    @vratislavi 2 роки тому +10

    I think the fact I did not learn how to use the debugger caused that I didn't become a programmer, I used printfs to debug my programs on uni and it was very frustrating and stopped my progress a lot. It was not the only thing - I had different ideas about myself back, a lot of personal issues, but watching this episode right now after 15 years really hits a spot. Maybe I will return to programming :)

    • @I_hate_HANDLES
      @I_hate_HANDLES Рік тому +1

      i wish i could watch this in my first year of university so that i would not be so frustrated debuging wrongly, now i am a little left behind🩼 but still very fun and helpful to watch

    • @theseangle
      @theseangle 8 місяців тому

      Imagine if you didn't stop, you'd have 15 years of experience, and that's like senior's grandsenior, you'd be rolling in cash 💀

  • @painfullyhuman
    @painfullyhuman Рік тому +1

    this has changed everything for me

  • @EldRiCkVis
    @EldRiCkVis Рік тому +1

    Ohhh my goodness. I can finally see what is going on in the background while writing code. Can’t believe I’ve been going to school for more than 2 years and nothing like this was ever mentioned.. how??? God bless you The Cherno

  • @wiiguy21
    @wiiguy21 7 років тому +41

    15:30 - actually, at the end of the loop it will run i++ first, and then do the comparison to check if i < 5

    • @mytech6779
      @mytech6779 7 років тому +4

      ++i should increment before the comparison, i++ should compare then increment. Unless you are saying that i++ is the last part of the "for" statement and so i++ will increment at the end of each pass. Easy to test by printing i to the screen in the body of the loop.

    • @pooria_garrett3020
      @pooria_garrett3020 5 років тому

      @@mytech6779 I just tested and what @Flaming Taco says is true.

    • @tylerlowrey8854
      @tylerlowrey8854 4 роки тому +11

      @@mytech6779 I know this is a really late reply, but this is incorrect. ++i and i++ don't make a difference in the header of a for loop (I believe this is because modern compilers optimize i++ to ++i). However when assigning a variable it does make a difference. If you have a variable x and its value is 7, when you do int j = ++x; the value of j will be set to 8 because the increment operator is applied to x before assignment. However, if you do int j = x++; then the value of j will be set to 7 because the value of x is assigned to j before it gets incremented.

    • @NackySlocker
      @NackySlocker 4 роки тому

      I have found this to be accurate. I was watching i, and it said i was 4, but it was grayed out, apparently it becomes "undefined" after the for loop.

  • @PsychadelicoDuck
    @PsychadelicoDuck 4 роки тому +3

    Seeing how easy Visual Studio makes breakpoints has sold me on it.

  • @SuheybBecerek
    @SuheybBecerek 4 роки тому +10

    In my University we use Visual Studio as IDE in most of the classes and I took C, C++ and C# courses using this IDE yet I am just learning to debug

  • @helgi7888
    @helgi7888 2 роки тому +3

    if you can"t debug where you want just change setting of optimization(project properties->C/C++ ->Optimization-> Disable)

    • @sbzmc
      @sbzmc 8 місяців тому +1

      I really appreciate your comment, I was looking for this the last two hours. Thank you so much!

  • @marian3978
    @marian3978 7 років тому +10

    Your timing is impeccable. Just when there's something I need to know like c++ header files or debugging in VS ( like today ) you upload a video on exactly that. Thanks!

  • @tiend2421
    @tiend2421 2 роки тому +3

    Wow... I'm re-watching this in 2022 and it's amazing how good you are at explaining things.
    I'm blown away. Good job mate, and thank you.

  • @ragothamang7056
    @ragothamang7056 5 років тому +6

    This the best video I have ever seen in the Programming context.... I Love the way you teach it

  • @doctorbongjoose420
    @doctorbongjoose420 7 років тому +43

    The pillow is almost perfectly aligned with the couch.

    • @mixchief
      @mixchief 3 роки тому +2

      Hehe, I also took notice of that

  • @SayouPla
    @SayouPla 4 місяці тому

    Coolest thing in c++! made me understand header files more by just playing around with it!

  • @FINTHRTD
    @FINTHRTD 4 роки тому +34

    Cherno: "If you are programming without this - I do not know what you are doing?" (@4:21)
    Me: "Everything perfectly! :) :) :)"

    • @karmavil4034
      @karmavil4034 2 роки тому +1

      "I use the console" would have been more realistic. Anyway he is clearly highlighting some functionalities to let you know they're there if you need them

  • @abhishekahirvar7783
    @abhishekahirvar7783 2 роки тому

    piano sound in background is so freaking nice

  • @MicheleSollazzo
    @MicheleSollazzo Рік тому +1

    I am studying C++ on a 1300 pages book, currently around page 850, but being a VS feature I've never used and just discovered Breakpoints and Debug mode only thanks to Cherno. Thank you!

    • @Kanak_Bodkhe
      @Kanak_Bodkhe Рік тому

      umm can you help me with VS code like i still didn't get that where is diagnostic tools and memory window in the latest VS code IDE

    • @MicheleSollazzo
      @MicheleSollazzo Рік тому

      @@Kanak_Bodkhe I'm using VS Community, not sure if it's the same

    • @Kanak_Bodkhe
      @Kanak_Bodkhe Рік тому

      @@MicheleSollazzo yeah I realised 2 days ago that VS and VS code are different 🥲

  • @AdhyyanSekhsaria
    @AdhyyanSekhsaria 7 років тому +18

    I think we are at a point where people who have no idea about programming have stopped watching. So there wouldn't be too much point in covering very basic stuff like for loops and if statements. Keep up the good work!

    • @d3bbi339
      @d3bbi339 6 років тому +13

      Adhyyan He gets to the bottom of everything. It creates a solid base to work from. You could learn something you had no idea you didn't know. It's worth the listen to me. But then again I'm still pretty new. Still here tho. I'm for real trying to learn this so I definitely appreciate the details. I get how it might get boring if you already know most of this but he did say at the beginning that he wanted to create a thorough c++ course that teaches people everything they need to know to create clean, fast code. So hey hey I'm still here don't ya dare take them details away from scrubs like me. Lol

    • @pascalladal8125
      @pascalladal8125 2 роки тому

      And yet, about no one noticed he got the order of execution wrong lol... it increments before checking the condition while he says that it checks then increments.

  • @kjz9585
    @kjz9585 10 місяців тому

    that's so incredible, U let me know lots of detail knowledge in C++

  • @AbduqodirNurmatov-f3x
    @AbduqodirNurmatov-f3x 7 місяців тому

    The most entertaining C++ series to date and do you have lessons about flutter mobile?

  • @ChyrosNX7
    @ChyrosNX7 4 роки тому +3

    Another neat feature in debugging is you can set a condition to only break when the condition has been met. Pretty useful inside loops where you don't want to break everytime it hits the breakpoint.
    I.e.,
    # Break only when i == 5
    for (int i = 0; i < 100; i++)
    {
    std::cout

  • @hansolo6542
    @hansolo6542 7 років тому +224

    Dude, how many guitars do you possess ? x)

    • @TheCherno
      @TheCherno  7 років тому +203

      Not enough ;)

    • @pinklady7184
      @pinklady7184 7 років тому +5

      Han Solo if you have asked me that question, I would have replied "too many." Lolol. I sell guitars in my mother's shop. I wish I could learn to play guitars, yet I have never touched any guitar in my family's shop. I just never get the time for guitar tutorials.

    • @pinklady7184
      @pinklady7184 7 років тому +1

      Han Solo I don't really own all the guitars in my family's shop. I was only joking in my last comment. I felt rich which I said "too many." I can write music only in my head and I would love to put that on paper or on musical instruments. I can play piano only just a little, but I don't get free time for myself. Besides I have other hobbies in the evenings and on lazy Sunday. Someday, I will get around to learning guitar or ukulele.

    • @senatorpoopypants7182
      @senatorpoopypants7182 6 років тому +13

      Dude and possess don't go well in the same line

    • @rod-abreu
      @rod-abreu 4 роки тому

      It's never enough :D

  • @flamag7346
    @flamag7346 2 роки тому

    The best c++ series I found on youtube. Really inspiring

  • @gowthammaran7257
    @gowthammaran7257 6 років тому

    Hit like those who have been programming in Visual Studio for more than 2 Years and still checking this amazing video and learned a lot. U r da best Cherno :) Keep continue ur excellent effort (Y)

  • @karanb2067
    @karanb2067 2 роки тому

    I literally took around 2.5 hours to make notes of this video. Thank you so much.

  • @ramseybolton1509
    @ramseybolton1509 3 роки тому

    Thank you. TQ. TQ. I just performed my first debugging for a program. I even ended up using the Memory Window to check the values in my array change right in front me (I was "stepping over") and see the problem. It just felt so good. Best Video Ever!

  • @merridistokes6999
    @merridistokes6999 3 роки тому

    Thank you I just got into C++ a few months ago and in that i have learn a-lot from your videos using VS IDE. Keep it coming!!!

  • @seayellow5834
    @seayellow5834 3 роки тому

    Wow this is the best video of the basis of debuging

  • @Puffadderr
    @Puffadderr 7 років тому +26

    Hi. Are you going to make episode about const keyword? I've been always struggling to understand why and how things can go wrong if not using them.

    • @TheCherno
      @TheCherno  7 років тому +27

      Yep, absolutely

    • @fburnrostro95
      @fburnrostro95 6 років тому +1

      My prof loves throw const combinations with us just to fuck with us!

  • @parasarora5869
    @parasarora5869 5 років тому +1

    thank you...i was a bit scared to play with memory and debugging but now i feel a bit confident. great video and thanks for codelite too. Its a nice simple ide

  • @ht4579
    @ht4579 4 роки тому

    This video should be the prerequisite for introduction to programming lectures in college to understand what we are going to do . Thanks for fascinating explaining

  • @nicklandreth2527
    @nicklandreth2527 4 роки тому

    I will definitely be buying some of your merch when I get my first job as a developer. You are a great teacher.

  • @Factory400
    @Factory400 5 років тому +38

    REALLY wish I had this when I started programming. This is fantastic.

    • @Adomas_B
      @Adomas_B Рік тому +2

      Yeah that pillow looks great

  • @ss-md4qn
    @ss-md4qn Рік тому

    Wonderful session

  • @danpetre5414
    @danpetre5414 2 роки тому

    This is gold. I just started to learn C++ and I love it. Thank you 🙏

  • @roja
    @roja 2 роки тому

    Holy crap! mind BLOWN

  • @stephen686
    @stephen686 4 роки тому

    The only thing i wish these youtube tutorials would do, is provide some exercises for each video with an answer key (if one wants to look). I listen to the video, I am pretty sure i understand it but i guess i just need the confirmation that I have grasped the essence of what is being taught in each video. I am not complaining as i am in the beginner stages of learning so, what would i know?. Anyways, liked and subscribed.
    P.S There is something about the cool color gradients and the soft music in the background of these videos that keeps me coming back.

  • @HelloFromTokyo
    @HelloFromTokyo 6 років тому

    Best C++ videos on youtube, love this series, hope there's more

  • @boweneveritt3400
    @boweneveritt3400 2 роки тому

    Really incredible stuff even years later thanks!

  • @Jamesomnipotent
    @Jamesomnipotent 5 років тому +1

    bucky and thecherno

  • @Xx_McJasper_xX
    @Xx_McJasper_xX 3 роки тому

    Liked, subscribed, commented, and speeding towards the Game Engine series. Great vid, keep up the stellar work!

  • @youssofprogrammer7546
    @youssofprogrammer7546 Рік тому +1

    this video helped me a lot because with breakpoints i learned how to find my mistakes even if it is very small
    thanks the cherno

  • @abhishekkumar-wm2ie
    @abhishekkumar-wm2ie 6 років тому

    Hi Cherno. I just loved this series. Its a great fun. Please continue with this. Currently I will not be able to pay but definitely a lot of love n respect for what you are offering.

  • @cwill1337
    @cwill1337 8 місяців тому

    I went to university for Computer Science and took multiple programming courses including java, c, and c#. None of the professors thought it was necessary to teach us how to use the debugging tools. I wonder why.

  • @raedkhader3292
    @raedkhader3292 9 місяців тому

    Very profound knowledge, thank you

  • @krec348
    @krec348 7 років тому +4

    Thank you once again for the awesome content!!! (your hair is amazing, dam)

  • @joaocesardelima4318
    @joaocesardelima4318 6 років тому

    Excellent! I'm learning a lot with your series! Please keep it up!

  • @kltf34cgsdawe9
    @kltf34cgsdawe9 3 роки тому +1

    0xcc is opcode for software interrupt INT3 used by the debugger

  • @cichytechnik6529
    @cichytechnik6529 Рік тому +2

    Hey make sure that at your settings you have optimizer disable.. i fall for that one

  • @thestarinthesky_
    @thestarinthesky_ 4 роки тому

    Thank you so much. It has been super helpful. I enjoyed watching these series of videos.

  • @sablanex
    @sablanex 7 років тому +1

    You can also CTRL+F10 and it will run to where the current line where the cursor is. Use that all the time, makes "regular" breakpoints almost useless.

  • @avtem
    @avtem 2 роки тому

    Omg the orange guitar is actually an ideally looking electric guitar that i dream about.
    Edit: This video has to watch every programmer in the world by my opinion. i did not know anything about "cc". Thank you, Cherno!

  • @master4755
    @master4755 2 роки тому

    8:33 Can we appreciate how fast he managed to write this for loop... WOW

  • @shieng48
    @shieng48 2 роки тому

    Thank you for these series

  • @justchill99902
    @justchill99902 2 роки тому

    Thank you. Debugging is very important. :)

  • @vivekkumaragrawal9147
    @vivekkumaragrawal9147 4 роки тому

    so much to learn from your videos thanks again.

  • @davidboygenius6843
    @davidboygenius6843 4 роки тому

    I have never seen so many guitars in one's house before. You should do a guitar learning series!

  • @LifeSuxTR
    @LifeSuxTR 5 років тому

    This was way better than i expected saying that as an experienced programmer.

  • @MrBojo-jv4qq
    @MrBojo-jv4qq 6 місяців тому

    I thought that Autos will automatically show the loop variables changing their values, as you step through the loop, but you actually had to manually enter the variable c to see it's values change as the loop circles.

  • @Marcin79W
    @Marcin79W 9 місяців тому

    Great one, thank you!

  • @eruston
    @eruston 6 років тому

    Fantastic stuff! Great quality video and information. Much appreciated!

  • @tahirsengine
    @tahirsengine 4 роки тому

    Outclass.

  • @Toorall
    @Toorall 6 років тому +1

    thank you for the incredible videos you make!

  • @michaplucinski142
    @michaplucinski142 2 роки тому

    Wow
    I used to cout everything to check it's valuse
    and make some code comment /* */ to make it not get executed
    That's really helpful video
    Thanks again

  • @meh1672
    @meh1672 7 років тому +2

    Yeeaaahhh! a new video!!!

  • @pierreboyer9277
    @pierreboyer9277 Рік тому

    Thanks, I dunno how I could go without debugging for so long.

  • @Gruby7C1h
    @Gruby7C1h 3 роки тому

    Pro tip: right-click on a line and select "Run To Cursor" (or press Ctrl+F10) to move from a breakpoint to specific place without setting a new breakpoint.

    • @screwlew
      @screwlew 2 роки тому

      put this in my notes :)

  • @fangornthewise
    @fangornthewise 2 роки тому +1

    Great series but i'm missing some exercises so that i don't forget what i've learned. Anybody has any suggestions?

  • @arkhamangel959
    @arkhamangel959 3 роки тому

    Great video, thanks.

  • @sumitkamble_
    @sumitkamble_ Рік тому

    No more confusion with debugging again

  • @deepthisiromani2007
    @deepthisiromani2007 4 роки тому

    Such a fun way of learning!

  • @suhdongbin8248
    @suhdongbin8248 6 років тому +1

    I already love your lessons!!!

  • @phoenix8980
    @phoenix8980 7 років тому

    love your vids,full with interesting details

  • @breachplanting7398
    @breachplanting7398 5 років тому +7

    Love the background music, anyone know what the background music is ?

    • @joeyhensley9199
      @joeyhensley9199 4 роки тому

      Use "soundhound". It's a phone app. It should be able to tell you.

  • @gauravkumartiwari936
    @gauravkumartiwari936 6 років тому

    I absolutely love your work !

  • @tahir2443
    @tahir2443 2 роки тому

    i love this man

  • @chainonsmanquants1630
    @chainonsmanquants1630 4 роки тому

    Thanks

  • @Gargantupimp
    @Gargantupimp 6 років тому

    Wow this is great never knew about the memory view

  • @teefa585
    @teefa585 4 роки тому +2

    *** Potential Error You May Fall In:
    IF you enable optimization on debugging mode you will not be able to debug your code correctly as the execution will not follow your code instead it will follow the optimized one so you will find the yellow arrow of the debugging mode move in an illogical order

    • @teefa585
      @teefa585 4 роки тому

      @@deanpavlovski5343 You're welcome 😀

  • @ErikDaGreat
    @ErikDaGreat 6 років тому +1

    if knowlagde(isk if i spelled i correctly) is power u r the the power itself

  • @twoezy-vegito5363
    @twoezy-vegito5363 4 роки тому

    very helpful bro, just subscribed!

  • @AmruthTetakali
    @AmruthTetakali Рік тому

    you deserve 10 million subscribers

  • @mully9675
    @mully9675 4 роки тому

    Thank you for amazing and really useful lessons!