Installation of Docker, VSCode and its extensions - SVF-tools/Software-Analysis-Studio GitHub Wiki
0. Prerequisite:
- Install Docker
- To know more about Docker - 12 mins video to understand Docker:YouTube Bilibili
- If you have installation problems on Windows. Please refer to windows-docker-problem-solutions
- Install VSCode
- For further using and learning VSCode - Learn to code with VSCode
1. Working with VSCode in Docker containers
1.1 Install extensions in VSCode
*To install the extension, open the Extensions view (MAC: โงโX, Windows: Ctrl+Shift+X, Linux: Ctrl+Shift+X)
- Extension(1): Docker extension
- Search for
docker
to filter results and select Docker extension authored by Microsoft.
- Search for
- Extension(2): Remote Containers extension
- Search for
dev container
to filter results and select extension authored by Microsoft.
- Search for
1.2 Pull the pre-built image in Docker hub
Step1: Enter the command in cmd or terminal (shortcut to open a terminal: Ctrl+`):
-
Mac X86_64, Windows X86_64, Ubuntu Linux x86_64:
docker pull svftools/software-analysis-studio:latest
-
Mac ARM (M1-M3 chips):
docker pull svftools/software-analysis-studio:latest-arm64
Step2: Create and run a container of the image:
-
Mac X86_64, Windows X86_64, Ubuntu Linux x86_64:
docker run -itd svftools/software-analysis-studio:latest /bin/bash
-
Mac ARM (M1-M3 chips):
docker run -itd svftools/software-analysis-studio:latest-arm64 /bin/bash
Build docker image of the software-analysis-studio project using Dockerfile
For further reading and using Docker:1.3 Load Docker container in VSCode
Right click the container item and select 'Attach to Visual Studio Code'
file -> open (folder)...
then enter the /home/SVF-tools/software-analysis-studio
If you can't see the working directory, please select 1.4 Install/Enable C/C++ extension in container
- To install the extension, open the Extensions view (MAC: โงโX, Windows: Ctrl+Shift+X, Linux: Ctrl+Shift+X)
C/C++
and select Docker extension authored by Microsoft.
- Search for 2. Run and debug your program
- VSCode's built-in debugger helps your editing, compilation and debugging.
- SVF-Teaching has prepared configurations in
launch.json
to debug hello.cpp - Take a look at this page which contains several troubleshootings when configuring VSCode debugging environment.
- More information VSCode-debugging
2.1 Switching programs
When working on different assignments, change the "program"
field in launch.json
(line 9). Values can be assign-1
for Assignment 1, assign-2
for Assignment 2, assign-3
for Assignment 3, assign-4
for Assignment 4, hello
for the hello world program, and codegraph
for the code graph project.