title
How to DEBUG C++ in VISUAL STUDIO
description
Twitter ► https://twitter.com/thecherno
Instagram ► https://instagram.com/thecherno
Patreon ► https://patreon.com/thecherno
Series Playlist ► https://www.youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb
BEST laptop for programming! ► http://geni.us/pakTES
My FAVOURITE keyboard for programming! ► http://geni.us/zNhB
FAVOURITE monitors for programming! ► http://geni.us/Ig6KBq
MAIN Camera ► http://geni.us/CYUQ
MAIN Lens ► http://geni.us/ZM3CmG
Microphone ► http://geni.us/wqO6g7K
Slack ► https://slack.thecherno.com
Stream ► http://www.twitch.tv/thecherno
Website ► http://www.thecherno.com
Facebook ► http://www.facebook.com/thecherno
detail
{'title': 'How to DEBUG C++ in VISUAL STUDIO', 'heatmap': [{'end': 406.834, 'start': 378.911, 'weight': 0.731}, {'end': 534.848, 'start': 521.034, 'weight': 0.733}, {'end': 591.829, 'start': 566.697, 'weight': 0.762}, {'end': 628.849, 'start': 600.575, 'weight': 0.715}], 'summary': 'Learn about debugging in visual studio for c++ programming, covering the importance, process, and techniques. topics include using breakpoints, memory reading, and examining program execution, with a focus on diagnosing issues and visualizing memory and variables.', 'chapters': [{'end': 153.263, 'segs': [{'end': 72.681, 'src': 'embed', 'start': 43.781, 'weight': 0, 'content': [{'end': 47.123, 'text': "it just means that it's probably going to come later.", 'start': 43.781, 'duration': 3.342}, {'end': 53.927, 'text': 'that being said, though, debugging is just such an important part of programming and not just programming, but of learning,', 'start': 47.123, 'duration': 6.804}, {'end': 61.652, 'text': "because if you know how to debug your code, you're actually going to understand how the program works and how the computer actually runs your code.", 'start': 53.927, 'duration': 7.725}, {'end': 65.194, 'text': "So I thought I'd cover debugging pretty early on in the series,", 'start': 61.973, 'duration': 3.221}, {'end': 72.681, 'text': "because I'm actually going to use a lot of what we cover today to explain how the rest of the language and how computer programs work in general.", 'start': 65.194, 'duration': 7.487}], 'summary': 'Debugging is crucial for understanding programming and computer operations.', 'duration': 28.9, 'max_score': 43.781, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA43781.jpg'}, {'end': 130.44, 'src': 'embed', 'start': 102.718, 'weight': 1, 'content': [{'end': 106.8, 'text': 'So breakpoints and reading memory, those are kind of the two big parts of debugging.', 'start': 102.718, 'duration': 4.082}, {'end': 109.181, 'text': 'And of course, you will be using them together.', 'start': 107, 'duration': 2.181}, {'end': 112.383, 'text': "So in other words, you'll set breakpoints in order to read memory.", 'start': 109.621, 'duration': 2.762}, {'end': 113.644, 'text': "So what's the point of debugging?", 'start': 112.563, 'duration': 1.081}, {'end': 116.507, 'text': "What do I mean when I say let's debug our code?", 'start': 113.744, 'duration': 2.763}, {'end': 119.93, 'text': 'The word debug means to de-bug right?', 'start': 116.667, 'duration': 3.263}, {'end': 121.632, 'text': 'So to remove bugs from our code.', 'start': 119.95, 'duration': 1.682}, {'end': 126.036, 'text': "In order to remove a bug from our code, we have to diagnose what's wrong with our program.", 'start': 121.892, 'duration': 4.144}, {'end': 130.44, 'text': "And that part can actually be pretty tricky, even if you're well experienced in the language.", 'start': 126.376, 'duration': 4.064}], 'summary': 'Debugging involves setting breakpoints and reading memory to diagnose and remove bugs from code.', 'duration': 27.722, 'max_score': 102.718, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA102718.jpg'}, {'end': 161.349, 'src': 'embed', 'start': 136.59, 'weight': 2, 'content': [{'end': 141.994, 'text': "It's very unlikely that you did something correctly and then the computer just didn't work as expected.", 'start': 136.59, 'duration': 5.404}, {'end': 144.236, 'text': "It's usually you who made the mistake.", 'start': 142.535, 'duration': 1.701}, {'end': 147.799, 'text': 'And coming to realize that is something that is very important for programmers.', 'start': 144.496, 'duration': 3.303}, {'end': 151.182, 'text': 'You will soon learn that the computer is pretty much always right.', 'start': 147.919, 'duration': 3.263}, {'end': 153.263, 'text': 'So really, this is all about figuring out your mistake.', 'start': 151.342, 'duration': 1.921}, {'end': 158.708, 'text': "What did I do wrong? What did I do to deserve this? So, breakpoints reading memory, let's take a look.", 'start': 153.323, 'duration': 5.385}, {'end': 161.349, 'text': 'so here i have a pretty simple visual studio project.', 'start': 158.988, 'duration': 2.361}], 'summary': 'Programmers must accept responsibility for mistakes and learn from them to improve.', 'duration': 24.759, 'max_score': 136.59, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA136590.jpg'}], 'start': 2.415, 'title': 'Debugging in visual studio', 'summary': 'Covers the importance of debugging in programming, particularly focusing on the use of visual studio to debug c++ code, highlighting the key features of breakpoints and memory reading, essential for understanding program execution and identifying mistakes.', 'chapters': [{'end': 153.263, 'start': 2.415, 'title': 'Debugging in visual studio', 'summary': 'Covers the importance of debugging in programming, particularly focusing on the use of visual studio to debug c++ code, highlighting the key features of breakpoints and memory reading, essential for understanding program execution and identifying mistakes.', 'duration': 150.848, 'highlights': ['Debugging is a crucial part of programming and learning, as it helps in understanding program execution and identifying mistakes.', 'The chapter emphasizes the use of Visual Studio for debugging, with a focus on the essential features of breakpoints and memory reading.', 'Understanding that the computer is almost always right and recognizing and diagnosing mistakes in the code is a significant aspect of debugging.']}], 'duration': 150.848, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA2415.jpg', 'highlights': ['Debugging is crucial for understanding program execution and identifying mistakes.', 'Visual Studio is emphasized for debugging, focusing on breakpoints and memory reading.', 'Recognizing and diagnosing mistakes in the code is a significant aspect of debugging.']}, {'end': 491.799, 'segs': [{'end': 194.429, 'src': 'embed', 'start': 169.413, 'weight': 0, 'content': [{'end': 174.535, 'text': "what we're going to do first of all is we're going to set a breakpoint and then we're going to step through the execution of our program.", 'start': 169.413, 'duration': 5.122}, {'end': 176.176, 'text': 'so what are breakpoints?', 'start': 174.535, 'duration': 1.641}, {'end': 184.162, 'text': 'so a breakpoint is a point in our program at which the debugger will, And the word break here just means pause.', 'start': 176.176, 'duration': 7.986}, {'end': 194.429, 'text': 'So what will happen is we can basically set a break point on any line of code in our program, and when the execution hits that line, it will pause.', 'start': 184.422, 'duration': 10.007}], 'summary': 'Setting breakpoints allows pausing program execution for debugging.', 'duration': 25.016, 'max_score': 169.413, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA169413.jpg'}, {'end': 274.23, 'src': 'embed', 'start': 242.737, 'weight': 1, 'content': [{'end': 250.699, 'text': 'So I can put a breakpoint on line five and then just hit a button and the program will advance just one line of code further into line six.', 'start': 242.737, 'duration': 7.962}, {'end': 254.001, 'text': "You can also step into functions to see where they'll take you.", 'start': 250.92, 'duration': 3.081}, {'end': 256.322, 'text': "There's just so much you can do with breakpoints.", 'start': 254.021, 'duration': 2.301}, {'end': 258.362, 'text': "It's amazing and it's incredibly useful.", 'start': 256.442, 'duration': 1.92}, {'end': 261.343, 'text': "And if you're programming without this, then I don't even know what you're doing.", 'start': 258.762, 'duration': 2.581}, {'end': 262.684, 'text': 'So back to Visual Studio.', 'start': 261.504, 'duration': 1.18}, {'end': 269.348, 'text': 'In order to set a breakpoint in Visual Studio, you can either just hit F9 and it will set a breakpoint on that current line of code,', 'start': 263.024, 'duration': 6.324}, {'end': 272.229, 'text': 'or you can click on this sidebar anywhere on the sidebar here.', 'start': 269.348, 'duration': 2.881}, {'end': 274.23, 'text': "Just click once and you'll set a breakpoint.", 'start': 272.489, 'duration': 1.741}], 'summary': 'Using breakpoints in visual studio for debugging is incredibly useful and can advance the program line by line.', 'duration': 31.493, 'max_score': 242.737, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA242737.jpg'}, {'end': 334.822, 'src': 'embed', 'start': 305.379, 'weight': 2, 'content': [{'end': 310.923, 'text': "We'll talk more in depth about what release mode actually does and all that stuff later, but the gist is, if you're debugging,", 'start': 305.379, 'duration': 5.544}, {'end': 312.504, 'text': "just make sure you're in debug mode.", 'start': 310.923, 'duration': 1.581}, {'end': 317.307, 'text': "If we then hit the local Windows debugger, which ensures that we're actually running with the debugger attached,", 'start': 312.684, 'duration': 4.623}, {'end': 327.756, 'text': 'our program will run and you can see that the focus from our program is actually stolen back to Visual Studio and we change into this kind of different alternate layout,', 'start': 317.307, 'duration': 10.449}, {'end': 334.822, 'text': 'along with a big yellow arrow on that breakpoint, indicating that that is currently where the instruction pointer is at in our program.', 'start': 327.756, 'duration': 7.066}], 'summary': 'Debug mode ensures focus on visual studio with local windows debugger.', 'duration': 29.443, 'max_score': 305.379, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA305379.jpg'}, {'end': 378.771, 'src': 'embed', 'start': 350.915, 'weight': 4, 'content': [{'end': 356.838, 'text': 'So step into is going to step into the current function that is on this line of code, if there is a function.', 'start': 350.915, 'duration': 5.923}, {'end': 363.741, 'text': 'So in this case, if I hit step into onto log, we would actually step into the log function so that we could see what it does.', 'start': 357.318, 'duration': 6.423}, {'end': 368.724, 'text': 'Step over is going to step over to the next line of code in this current function.', 'start': 364.042, 'duration': 4.682}, {'end': 374.487, 'text': 'And step out is actually going to step out of this current function and take us back to whatever called this function.', 'start': 368.964, 'duration': 5.523}, {'end': 378.771, 'text': 'which in this case, since this is the main function, will be the C standard library.', 'start': 374.727, 'duration': 4.044}], 'summary': 'Debugging commands step into, step over, and step out explained.', 'duration': 27.856, 'max_score': 350.915, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA350915.jpg'}, {'end': 406.834, 'src': 'heatmap', 'start': 378.911, 'weight': 0.731, 'content': [{'end': 384.217, 'text': 'You can also use F11 to step into, F10 to step over, or Shift F11 to step out.', 'start': 378.911, 'duration': 5.306}, {'end': 386.579, 'text': "So let's step into this log function and see what happens.", 'start': 384.517, 'duration': 2.062}, {'end': 387.661, 'text': "I'm going to hit F11.", 'start': 386.619, 'duration': 1.042}, {'end': 389.242, 'text': 'Okay, check this out.', 'start': 388.461, 'duration': 0.781}, {'end': 391.204, 'text': 'So we step into this function.', 'start': 389.302, 'duration': 1.902}, {'end': 392.986, 'text': "We're at the very beginning of the stack frame.", 'start': 391.244, 'duration': 1.742}, {'end': 395.469, 'text': "We haven't actually begun executing any code here.", 'start': 393.026, 'duration': 2.443}, {'end': 397.531, 'text': "We're just setting up the function stack frame.", 'start': 395.509, 'duration': 2.022}, {'end': 401.012, 'text': 'We can hover our mouse over this message variable and check this out.', 'start': 397.731, 'duration': 3.281}, {'end': 403.233, 'text': "It tells us that it's set to hello world.", 'start': 401.172, 'duration': 2.061}, {'end': 406.834, 'text': "So that's the second part of debugging, right? We're reading memory now.", 'start': 403.453, 'duration': 3.381}], 'summary': "Debugging process using f11, f10, and shift f11 to step into, over, and out of the code, examining the variable 'message' set to 'hello world' for reading memory.", 'duration': 27.923, 'max_score': 378.911, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA378911.jpg'}], 'start': 153.323, 'title': 'Debugging process', 'summary': 'Covers debugging with breakpoints, emphasizing their role in pausing program execution, examining memory, and diagnosing issues, and discusses the debugging process in visual studio, covering the layout, breakpoints, stepping into, over, and out of functions, and line-by-line program execution.', 'chapters': [{'end': 317.307, 'start': 153.323, 'title': 'Debugging with breakpoints', 'summary': 'Explains the concept of breakpoints in programming, emphasizing their role in pausing program execution, examining memory, and diagnosing issues, highlighting the usefulness of breakpoints and the importance of being in debug mode for effective debugging.', 'duration': 163.984, 'highlights': ["Breakpoints allow pausing program execution at specific lines of code, enabling examination of the program's memory and variables, aiding in diagnosing issues.", 'The importance of being in debug mode is emphasized, as in release mode, the compiler may change the code, affecting the functioning of breakpoints.', "Instructions for setting breakpoints in Visual Studio are provided, including using the 'F9' key or clicking on the sidebar to set a breakpoint on the current line of code."]}, {'end': 491.799, 'start': 317.307, 'title': 'Debugging in visual studio', 'summary': 'Discusses the debugging process in visual studio, covering the layout, breakpoints, stepping into, over, and out of functions, use of function keys for stepping, and the utility of line-by-line program execution in identifying errors.', 'duration': 174.492, 'highlights': ['The chapter explains the layout and features of Visual Studio during the debugging process, including the display of a big yellow arrow indicating the current position of the instruction pointer.', 'It discusses the functionality of the continue, step into, step over, and step out buttons, which control the execution of the program.', 'The chapter emphasizes the utility of stepping into, over, and out of functions, as well as using function keys (F11, F10, Shift F11) for these operations in Visual Studio.', 'It highlights the significance of setting breakpoints and stepping through the program to run it line by line, which is crucial for identifying errors in the code.']}], 'duration': 338.476, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA153323.jpg', 'highlights': ['Breakpoints allow pausing program execution, aiding in diagnosing issues', 'Instructions for setting breakpoints in Visual Studio are provided', 'The importance of being in debug mode is emphasized', 'The chapter explains the layout and features of Visual Studio during debugging', 'The utility of stepping into, over, and out of functions is emphasized', 'Setting breakpoints and stepping through the program is crucial for identifying errors']}, {'end': 1142.166, 'segs': [{'end': 549.547, 'src': 'heatmap', 'start': 521.034, 'weight': 0.733, 'content': [{'end': 523.277, 'text': "And then I'll leave in my log hello world for good measure.", 'start': 521.034, 'duration': 2.243}, {'end': 527.561, 'text': 'So if I run my program with no breakpoints at all, just to see what even happens,', 'start': 523.498, 'duration': 4.063}, {'end': 531.705, 'text': "you'll see that we get basically something like this where we have hello and then hello world.", 'start': 527.561, 'duration': 4.144}, {'end': 534.848, 'text': "All right, now let's step through this line by line.", 'start': 532.606, 'duration': 2.242}, {'end': 538.23, 'text': 'So I want to set a breakpoint at the very top here on int A and just hit F5.', 'start': 535.048, 'duration': 3.182}, {'end': 540.702, 'text': "All right, cool, let's take a look at what A is.", 'start': 539.141, 'duration': 1.561}, {'end': 549.547, 'text': "What, why is it negative 858 million? Well, remember, that yellow arrow doesn't mean that we've actually run this code.", 'start': 541.543, 'duration': 8.004}], 'summary': 'Debugging process reveals negative value for variable a', 'duration': 28.513, 'max_score': 521.034, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA521034.jpg'}, {'end': 594.731, 'src': 'embed', 'start': 566.697, 'weight': 3, 'content': [{'end': 570.198, 'text': 'which means that this value is just showing us whatever that memory actually contains.', 'start': 566.697, 'duration': 3.501}, {'end': 575.14, 'text': 'This would be a fantastic time to bring up these three important windows that we have here.', 'start': 570.438, 'duration': 4.702}, {'end': 577.361, 'text': 'Autos, locals, and watch.', 'start': 575.16, 'duration': 2.201}, {'end': 583.583, 'text': 'Autos and locals will basically just try and show you local variables or variables that it thinks might be important to you.', 'start': 577.621, 'duration': 5.962}, {'end': 587.065, 'text': 'Watch, on the other hand, lets us actually monitor variables.', 'start': 583.943, 'duration': 3.122}, {'end': 591.829, 'text': 'So what I can do is I can type in a, which is the name of the variable, and hit enter.', 'start': 587.165, 'duration': 4.664}, {'end': 594.731, 'text': "And you can see that it's showing me the value of a.", 'start': 592.229, 'duration': 2.502}], 'summary': 'Debugger tools like autos, locals, and watch help monitor and display variable values.', 'duration': 28.034, 'max_score': 566.697, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA566697.jpg'}, {'end': 594.731, 'src': 'heatmap', 'start': 566.697, 'weight': 0.762, 'content': [{'end': 570.198, 'text': 'which means that this value is just showing us whatever that memory actually contains.', 'start': 566.697, 'duration': 3.501}, {'end': 575.14, 'text': 'This would be a fantastic time to bring up these three important windows that we have here.', 'start': 570.438, 'duration': 4.702}, {'end': 577.361, 'text': 'Autos, locals, and watch.', 'start': 575.16, 'duration': 2.201}, {'end': 583.583, 'text': 'Autos and locals will basically just try and show you local variables or variables that it thinks might be important to you.', 'start': 577.621, 'duration': 5.962}, {'end': 587.065, 'text': 'Watch, on the other hand, lets us actually monitor variables.', 'start': 583.943, 'duration': 3.122}, {'end': 591.829, 'text': 'So what I can do is I can type in a, which is the name of the variable, and hit enter.', 'start': 587.165, 'duration': 4.664}, {'end': 594.731, 'text': "And you can see that it's showing me the value of a.", 'start': 592.229, 'duration': 2.502}], 'summary': 'Debugging tools like autos, locals, and watch help monitor and display variable values.', 'duration': 28.034, 'max_score': 566.697, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA566697.jpg'}, {'end': 644.32, 'src': 'heatmap', 'start': 600.575, 'weight': 0, 'content': [{'end': 604.397, 'text': "Now, of course, we haven't initialized this memory yet, so it currently is completely useless.", 'start': 600.575, 'duration': 3.822}, {'end': 605.117, 'text': "It's just garbage.", 'start': 604.437, 'duration': 0.68}, {'end': 609.82, 'text': "But as we step through our program, these values will update to show what's actually in the memory.", 'start': 605.398, 'duration': 4.422}, {'end': 614.783, 'text': "Speaking of memory, there's actually a view that we can use to view the entire memory of our program.", 'start': 610, 'duration': 4.783}, {'end': 616.463, 'text': "Now, of course, it's called a memory view.", 'start': 614.963, 'duration': 1.5}, {'end': 621.046, 'text': 'So if we go Debug Windows Memory and memory one,', 'start': 616.603, 'duration': 4.443}, {'end': 626.328, 'text': "we're gonna be greeted by this weird looking panel here that's going to show all of the memory of our program.", 'start': 621.046, 'duration': 5.282}, {'end': 628.849, 'text': 'So on the very left, we see the memory addresses.', 'start': 626.488, 'duration': 2.361}, {'end': 634.192, 'text': 'In the middle, we see the actual data, the actual values represented in hexadecimal format.', 'start': 629.03, 'duration': 5.162}, {'end': 637.834, 'text': 'And on the right, we see the ASCII interpretation of those numbers.', 'start': 634.412, 'duration': 3.422}, {'end': 644.32, 'text': 'If you want to locate where this a variable actually is stored in the memory of your program, you need to know its memory address.', 'start': 638.354, 'duration': 5.966}], 'summary': 'Introduction to memory view in debugging, displaying memory addresses and data values.', 'duration': 43.745, 'max_score': 600.575, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA600575.jpg'}, {'end': 724.392, 'src': 'embed', 'start': 694.601, 'weight': 5, 'content': [{'end': 698.863, 'text': "certain extra things that's going to make our lives easier when it comes to debugging.", 'start': 694.601, 'duration': 4.262}, {'end': 706.027, 'text': 'So for example, the fact that this memory is a whole bunch of CCs means that it is uninitialized stack memory.', 'start': 699.183, 'duration': 6.844}, {'end': 712.129, 'text': "So what's actually happened is the compiler knows that we're trying to make a variable, but we haven't initialized it yet.", 'start': 706.167, 'duration': 5.962}, {'end': 716.73, 'text': "So what it's going to do is actually fill that memory with CC.", 'start': 712.489, 'duration': 4.241}, {'end': 724.392, 'text': "So that if we're debugging our code and something goes wrong, we can look at the memory, we can see that it's set to CC and we can be like oh,", 'start': 716.97, 'duration': 7.422}], 'summary': 'Uninitialized stack memory filled with ccs helps debugging.', 'duration': 29.791, 'max_score': 694.601, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA694601.jpg'}, {'end': 926.068, 'src': 'embed', 'start': 898.487, 'weight': 6, 'content': [{'end': 901.109, 'text': 'And you guys already know how to use this debug view.', 'start': 898.487, 'duration': 2.622}, {'end': 903.771, 'text': 'But basically a for loop is going to do stuff multiple times.', 'start': 901.55, 'duration': 2.221}, {'end': 907.814, 'text': 'So if we step through this program, You can see that i is set to zero.', 'start': 903.972, 'duration': 3.842}, {'end': 916.16, 'text': "It's going to grab index zero from this string, which is going to be the very first character in the string, which is a capital H.", 'start': 908.134, 'duration': 8.026}, {'end': 920.203, 'text': "If we hit F10, we can hover our mouse over C and see that it's set to H.", 'start': 916.16, 'duration': 4.043}, {'end': 926.068, 'text': "We can also come over here into watch and just type in c and you can see we're now taking a look at what c is.", 'start': 920.203, 'duration': 5.865}], 'summary': 'Debugging a for loop to process a string character by character.', 'duration': 27.581, 'max_score': 898.487, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA898487.jpg'}, {'end': 1097.693, 'src': 'embed', 'start': 1070.244, 'weight': 1, 'content': [{'end': 1074.768, 'text': 'So being able to view our memory is really all we have and really all we need.', 'start': 1070.244, 'duration': 4.524}, {'end': 1079.294, 'text': 'And by setting breakpoints it lets us pause our program at a given time,', 'start': 1075.048, 'duration': 4.246}, {'end': 1085.723, 'text': 'at a given line of code and actually inspect it and take a look to see what all of our variables are set to.', 'start': 1079.294, 'duration': 6.429}, {'end': 1088.868, 'text': "Which, of course, is going to be incredibly useful when you're writing code.", 'start': 1086.004, 'duration': 2.864}, {'end': 1090.269, 'text': 'Hope you guys enjoyed this video.', 'start': 1088.968, 'duration': 1.301}, {'end': 1091.89, 'text': 'If you did, please hit that like button.', 'start': 1090.349, 'duration': 1.541}, {'end': 1093.771, 'text': "Let's see if we can beat our like record.", 'start': 1091.93, 'duration': 1.841}, {'end': 1095.192, 'text': "I don't know, I think it's about 800.", 'start': 1094.091, 'duration': 1.101}, {'end': 1097.693, 'text': "So let's just smash that.", 'start': 1095.192, 'duration': 2.501}], 'summary': 'Setting breakpoints lets us pause program, inspect variables, and improve coding. like target: 800.', 'duration': 27.449, 'max_score': 1070.244, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA1070244.jpg'}], 'start': 491.819, 'title': 'Debugging techniques', 'summary': 'Covers debugging basics with variables and memory, including examples of initializing variables, using breakpoints, and examining memory addresses and values. it also demonstrates how to use debug view, step through a for loop, set breakpoints, and view memory in the context of debugging code, emphasizing the importance of memory visualization and setting breakpoints for pausing and inspecting variables.', 'chapters': [{'end': 898.407, 'start': 491.819, 'title': 'Debugging basics with variables and memory', 'summary': 'Covers the basics of debugging with variables and memory, including examples of initializing variables, using breakpoints, and examining memory addresses and values.', 'duration': 406.588, 'highlights': ['The debugger shows the uninitialized memory value of a variable before it is executed, represented by negative 858 million, and explains the importance of using Autos, Locals, and Watch windows to monitor variables.', 'The memory view feature in debug mode allows the user to view the entire memory of the program, including memory addresses, actual data in hexadecimal format, and their ASCII interpretation.', 'In debug mode, the compiler initializes uninitialized stack memory with a specific value (CC) to aid in debugging, which may slow down the program, but is highly useful for identifying uninitialized variables.', 'The demonstration of using breakpoints and stepping through the program to observe changes in variable values and memory contents, providing a practical understanding of debugging processes.']}, {'end': 1142.166, 'start': 898.487, 'title': 'Debugging in loops and setting breakpoints', 'summary': 'Demonstrates how to use debug view, step through a for loop, set breakpoints, and view memory in the context of debugging code, emphasizing the importance of memory visualization and setting breakpoints for pausing and inspecting variables.', 'duration': 243.679, 'highlights': ['The importance of memory visualization and setting breakpoints for pausing and inspecting variables', 'Demonstrating how to use debug view and step through a for loop', 'Utilizing breakpoints to pause the program at a specific line of code']}], 'duration': 650.347, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0ebzPwixrJA/pics/0ebzPwixrJA491819.jpg', 'highlights': ['The memory view feature in debug mode allows the user to view the entire memory of the program, including memory addresses, actual data in hexadecimal format, and their ASCII interpretation.', 'The demonstration of using breakpoints and stepping through the program to observe changes in variable values and memory contents, providing a practical understanding of debugging processes.', 'The importance of memory visualization and setting breakpoints for pausing and inspecting variables', 'The debugger shows the uninitialized memory value of a variable before it is executed, represented by negative 858 million, and explains the importance of using Autos, Locals, and Watch windows to monitor variables.', 'Utilizing breakpoints to pause the program at a specific line of code', 'In debug mode, the compiler initializes uninitialized stack memory with a specific value (CC) to aid in debugging, which may slow down the program, but is highly useful for identifying uninitialized variables.', 'Demonstrating how to use debug view and step through a for loop']}], 'highlights': ['The memory view feature in debug mode allows the user to view the entire memory of the program, including memory addresses, actual data in hexadecimal format, and their ASCII interpretation.', 'Instructions for setting breakpoints in Visual Studio are provided', 'The demonstration of using breakpoints and stepping through the program to observe changes in variable values and memory contents, providing a practical understanding of debugging processes.', 'Setting breakpoints and stepping through the program is crucial for identifying errors', 'The importance of memory visualization and setting breakpoints for pausing and inspecting variables', 'The debugger shows the uninitialized memory value of a variable before it is executed, represented by negative 858 million, and explains the importance of using Autos, Locals, and Watch windows to monitor variables.', 'Utilizing breakpoints to pause the program at a specific line of code', 'In debug mode, the compiler initializes uninitialized stack memory with a specific value (CC) to aid in debugging, which may slow down the program, but is highly useful for identifying uninitialized variables.', 'The utility of stepping into, over, and out of functions is emphasized', 'Recognizing and diagnosing mistakes in the code is a significant aspect of debugging.', 'Debugging is crucial for understanding program execution and identifying mistakes.', 'Visual Studio is emphasized for debugging, focusing on breakpoints and memory reading.', 'The importance of being in debug mode is emphasized', 'The chapter explains the layout and features of Visual Studio during debugging', 'Demonstrating how to use debug view and step through a for loop', 'Breakpoints allow pausing program execution, aiding in diagnosing issues']}