Skip to content

Assignment 1

Yulei Sui edited this page Feb 26, 2021 · 44 revisions

Assignment-1 folder layout

$tree Assignment-1
├── Assignment-1.cpp
├── Assignment-1.h
├── Test1.h
├── CMakeLists.txt

1. Get the latest code template

* Before coding, please type cd $HOME/SVF-Teaching and git pull in your terminal to make sure you always have the latest version of the code template before each assignment.

2. Assignment 1 task

  • Implement printPath and DFS methods of class GraphTraversal in Assignment-1.cpp.
  • Pass the test without any assertion by Test1.h
  • Submit Assignment-1.cpp to canvas

*You will be working on Assignment-1.cpp only and there is NO need to modify other files under the Assignment-1 folder

3. Configuration && Debugging

You need to set the "program" to be the executable file of Assignment 1, i.e., "${workspaceFolder}/bin/assign-1" in launch.json in order to run and debug

2. debug in your code

*When you finish your code and run, there should not be any assertion triggered by Test1.h. If there is an abortion, you will need to debug your implementation and find any bugs.

Step1: Set the break point to the abortion test function in the beginning and press the 'debug' button

Step2: 'Step over' /'Step in' / 'Step out'

  • 'Step over' to the next step of your program
  • 'Step in' to the current line of your program
  • 'Step out' to main stream of your program where you stepped in before

Step3: Watch the value of an variable you are interested in. Dig it up and fix the bug.

tips:

  1. Fetch the file from the docker container

docker cp $containerid:/home/SVF-tools/SVF-teaching/Assignment-1.cpp $Your_local_dir

Clone this wiki locally