diff options
Diffstat (limited to 'CST116-Ch8-Debugging')
| -rw-r--r-- | CST116-Ch8-Debugging/CST116-Ch8-Debugging.cpp | 74 | ||||
| -rw-r--r-- | CST116-Ch8-Debugging/CST116-Ch8-Debugging.sln | 31 | ||||
| -rw-r--r-- | CST116-Ch8-Debugging/CST116-Ch8-Debugging.vcxproj | 135 | ||||
| -rw-r--r-- | CST116-Ch8-Debugging/CST116-Ch8-Debugging.vcxproj.filters | 22 | ||||
| -rw-r--r-- | CST116-Ch8-Debugging/CST116-Ch8-Debugging.vcxproj.user | 4 |
5 files changed, 266 insertions, 0 deletions
diff --git a/CST116-Ch8-Debugging/CST116-Ch8-Debugging.cpp b/CST116-Ch8-Debugging/CST116-Ch8-Debugging.cpp new file mode 100644 index 0000000..53e4a61 --- /dev/null +++ b/CST116-Ch8-Debugging/CST116-Ch8-Debugging.cpp @@ -0,0 +1,74 @@ +/********************************************************************
+* File: CST116-Ch8-Debugging.cpp
+*
+* General Instructions: Complete each step before proceeding to the
+* next.
+*
+* Debugging Exercise 1
+*
+* 1) Insert a breakpoint on the lines indicated in the code.
+* 2) Run to Breakpoint 1.
+* 3) Place a watch on i.
+* 4) Execute the while statement by doing a "Step Into".
+* 5) The execution continues to the cout statement as expected.
+* 6) Step over the cout statement.
+* 7) Why didn't the flow of the program return back to the while
+* statement?
+* 8) Fix this problem by removing the ; after the while statement.
+* 9) Stop debugging and repeat Steps 2 � 5 to verify the correction
+* worked.
+* 10) Stop debugging.
+*
+* Debugging Exercise 2
+*
+* 1) Run to Breakpoint 1.
+* 2) Step into the while loop.
+* 3) Why did the cout not execute?
+* 4) Check the value of i, now check the condition, does the
+* condition evaluate to true?
+* 5) Change the "< 0" to a "< 10".
+* 6) Stop debugging and repeat Steps 1 � 4 to verify the correction
+* worked.
+* 7) Stop debugging.
+*
+* Debugging Exercise 3
+*
+* 1) Run the program without debugging.
+* 2) What is happening now is an infinite loop.
+* 3) End your program by holding down the Ctrl key and pressing C.
+* 4) Fix the problem by adding a "++" after the i in the cout
+* statement.
+* 5) Run the program to Breakpoint 2 and verify that the output
+* displayed on the screen is 0 � 9.
+*
+* Debugging Exercise 4
+*
+* 1) Run to Breakpoint 2.
+* 2) Add a watch to the variable count.
+* 3) Verify that the contents of count is garbage.
+* 4) Step into the loop.
+* 5) What is the value stored in count now?
+* 6) Where was 10 assigned to count?
+* 7) Fix the problem and re-run to verify.
+********************************************************************/
+#include <iostream>
+using std::cout;
+using std::endl;
+
+int main()
+{
+ int i = 0;
+ int count;
+
+ // Breakpoint 1
+ // Put a breakpoint on the following line
+ while (i < 0);
+ cout << i << endl;
+
+ // Breakpoint 2
+ // Put a breakpoint on the following line
+ for (count = 0; count < 10; count++);
+ cout << count << endl;
+
+ return 0;
+}
diff --git a/CST116-Ch8-Debugging/CST116-Ch8-Debugging.sln b/CST116-Ch8-Debugging/CST116-Ch8-Debugging.sln new file mode 100644 index 0000000..c7e9663 --- /dev/null +++ b/CST116-Ch8-Debugging/CST116-Ch8-Debugging.sln @@ -0,0 +1,31 @@ +
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.3.32804.467
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CST116-Ch8-Debugging", "CST116-Ch8-Debugging.vcxproj", "{15FB2850-7B95-4328-9080-89F6CEA8E210}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {15FB2850-7B95-4328-9080-89F6CEA8E210}.Debug|x64.ActiveCfg = Debug|x64
+ {15FB2850-7B95-4328-9080-89F6CEA8E210}.Debug|x64.Build.0 = Debug|x64
+ {15FB2850-7B95-4328-9080-89F6CEA8E210}.Debug|x86.ActiveCfg = Debug|Win32
+ {15FB2850-7B95-4328-9080-89F6CEA8E210}.Debug|x86.Build.0 = Debug|Win32
+ {15FB2850-7B95-4328-9080-89F6CEA8E210}.Release|x64.ActiveCfg = Release|x64
+ {15FB2850-7B95-4328-9080-89F6CEA8E210}.Release|x64.Build.0 = Release|x64
+ {15FB2850-7B95-4328-9080-89F6CEA8E210}.Release|x86.ActiveCfg = Release|Win32
+ {15FB2850-7B95-4328-9080-89F6CEA8E210}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {43A2283A-9840-4C06-B7C7-104ED8968443}
+ EndGlobalSection
+EndGlobal
diff --git a/CST116-Ch8-Debugging/CST116-Ch8-Debugging.vcxproj b/CST116-Ch8-Debugging/CST116-Ch8-Debugging.vcxproj new file mode 100644 index 0000000..b7c71c7 --- /dev/null +++ b/CST116-Ch8-Debugging/CST116-Ch8-Debugging.vcxproj @@ -0,0 +1,135 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <Keyword>Win32Proj</Keyword>
+ <ProjectGuid>{15fb2850-7b95-4328-9080-89f6cea8e210}</ProjectGuid>
+ <RootNamespace>CST116Ch8Debugging</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v143</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v143</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v143</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v143</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="CST116-Ch8-Debugging.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file diff --git a/CST116-Ch8-Debugging/CST116-Ch8-Debugging.vcxproj.filters b/CST116-Ch8-Debugging/CST116-Ch8-Debugging.vcxproj.filters new file mode 100644 index 0000000..3af9a09 --- /dev/null +++ b/CST116-Ch8-Debugging/CST116-Ch8-Debugging.vcxproj.filters @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="CST116-Ch8-Debugging.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
\ No newline at end of file diff --git a/CST116-Ch8-Debugging/CST116-Ch8-Debugging.vcxproj.user b/CST116-Ch8-Debugging/CST116-Ch8-Debugging.vcxproj.user new file mode 100644 index 0000000..0f14913 --- /dev/null +++ b/CST116-Ch8-Debugging/CST116-Ch8-Debugging.vcxproj.user @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup />
+</Project>
\ No newline at end of file |