![Page 1: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/1.jpg)
CSE 232: C++ Programming in Visual Studio
Graphical Development Environments for C++• Eclipse
– Widely available open-source debugging environment• Available on Windows, Linux, others
– Designed to use g++ and other existing open-source tools– Unfortunately not working on Urbauer Windows machines
• Visual Studio– Specific to Windows but still widely used
• Excellent multi-threaded debugger, eases Windows development
– Uses Visual C++ (and other tools for other languages)– Works fine on Urbauer machines, so we’ll use this for now
![Page 2: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/2.jpg)
CSE 232: C++ Programming in Visual Studio
Overview of Today’s Session• Start Visual Studio and create a C++ project • Look at the code and files it generated automatically• Create a simple “hello, world!” program• Build, fix, and repeat until the program compiles• Set breakpoints and step over lines of the program• Look at the program’s output in the debug terminal• Stepping off the end of the main program
– Into the crtexe.c file from which the main function is called
• Try printing out the program’s name (in argv[0])• Look at different syntaxes for the main function
– How those different forms treat argc and argv, for example
![Page 3: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/3.jpg)
CSE 232: C++ Programming in Visual Studio
Starting Visual Studio
![Page 4: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/4.jpg)
CSE 232: C++ Programming in Visual Studio
Choosing Visual C++
![Page 5: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/5.jpg)
CSE 232: C++ Programming in Visual Studio
Click on Create Project
![Page 6: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/6.jpg)
CSE 232: C++ Programming in Visual Studio
Choose Win32
![Page 7: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/7.jpg)
CSE 232: C++ Programming in Visual Studio
Fill in Project Name
![Page 8: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/8.jpg)
CSE 232: C++ Programming in Visual Studio
Click Finish to Create the Project …
![Page 9: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/9.jpg)
CSE 232: C++ Programming in Visual Studio
… Which May Take it a While to Do
![Page 10: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/10.jpg)
CSE 232: C++ Programming in Visual Studio
Visual Studio Generated Several Files
![Page 11: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/11.jpg)
CSE 232: C++ Programming in Visual Studio
Provided StdAFX Header File
![Page 12: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/12.jpg)
CSE 232: C++ Programming in Visual Studio
Provided StdAFX Source File
![Page 13: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/13.jpg)
CSE 232: C++ Programming in Visual Studio
Provided Readme.txt File
![Page 14: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/14.jpg)
CSE 232: C++ Programming in Visual Studio
Have the Program Print Out Hello, World
![Page 15: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/15.jpg)
CSE 232: C++ Programming in Visual Studio
Build the Program
![Page 16: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/16.jpg)
CSE 232: C++ Programming in Visual Studio
What do the Errors Tell Us We Missed?
![Page 17: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/17.jpg)
CSE 232: C++ Programming in Visual Studio
Corrected Program
![Page 18: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/18.jpg)
CSE 232: C++ Programming in Visual Studio
Build Again
![Page 19: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/19.jpg)
CSE 232: C++ Programming in Visual Studio
Successful Compilation
![Page 20: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/20.jpg)
CSE 232: C++ Programming in Visual Studio
Setting a New Breakpoint
![Page 21: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/21.jpg)
CSE 232: C++ Programming in Visual Studio
Breakpoint in the main Function
![Page 22: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/22.jpg)
CSE 232: C++ Programming in Visual Studio
Start Debugging
![Page 23: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/23.jpg)
CSE 232: C++ Programming in Visual Studio
Debugger Stops at the Breakpoint
![Page 24: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/24.jpg)
CSE 232: C++ Programming in Visual Studio
Stepping over the First Line
![Page 25: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/25.jpg)
CSE 232: C++ Programming in Visual Studio
After Stepping Over Once
![Page 26: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/26.jpg)
CSE 232: C++ Programming in Visual Studio
Program Output in Terminal Window
![Page 27: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/27.jpg)
CSE 232: C++ Programming in Visual Studio
Stepping Over a Second Time
![Page 28: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/28.jpg)
CSE 232: C++ Programming in Visual Studio
At The End of the main Function
![Page 29: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/29.jpg)
CSE 232: C++ Programming in Visual Studio
What if we Stepped Over Once More?
![Page 30: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/30.jpg)
CSE 232: C++ Programming in Visual Studio
In the crtexe.c file (calls different Mains)
![Page 31: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/31.jpg)
CSE 232: C++ Programming in Visual Studio
F5 or Continue to Complete the Run
![Page 32: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/32.jpg)
CSE 232: C++ Programming in Visual Studio
All Done (can close crtexe.c now)
![Page 33: CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56649f155503460f94c2a3e2/html5/thumbnails/33.jpg)
CSE 232: C++ Programming in Visual Studio
A Couple More Things to Try
• Exercise: what do you see when you have the program print out argv[0]? – Why does it print that?– What is it printing vs. what we saw in previous sessions?
• Exercise: change syntax of the main function to match what we used in earlier sessions – What does printing argv[0] show now?– What if you print out the other program arguments?