IERG4180 Tutorial 4 Jim
Outline Project 1 Virtual Machine Programming in IERG4180 (Linux) remarks demo Virtual Machine Programming in IERG4180 (Linux) Coding environment Compilation Debugging
Remarks on Project 1 Deadline: 11pm, 15th Feb 2015 Submit your work to Blackboard If you have troubles doing the project, find the tutors as soon as possible!
Demo
Outline Project 1 Virtual Machine Programming in IERG4180 (Linux) remarks demo Virtual Machine Programming in IERG4180 (Linux) Coding environment Compilation Debugging
Virtual Machine (VM) Software based, fictive computer Multiple OS environments can co-exist using VM which is Easy to setup Easy to clean up VMware Player free for non-commercial use https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/6_0 VMware Player and VMware Player Plus for Windows (If you are using Windows as host)
VM image for CentOS Version 6.6 64 bits 32 bits ftp://ftp.cuhk.edu.hk/pub/Linux/centos/6/isos/x86_64/CentOS-6.6-x86_64-bin-DVD1.iso 32 bits ftp://ftp.cuhk.edu.hk/pub/Linux/centos/6/isos/i386/CentOS-6.6-i386-bin-DVD1.iso If you are not sure, just use the 32 bits Create a New Virtual Machine > Installer disc image (iso) Follow the wizard and wait for OS setup
VMware Tools Support better graphics performance, time synchronization, copy and paste between guest and host, folder sharing, etc.
VMware Tools Extract the VMwareTools-XXXX.tar.gz to desktop Now there is a folder: vmware-tools-distrib Run terminal and cd to vmware-tools-distrib su will grant access for install vmware-install.pl to install During installing, click enter to select default options Restart your virtual machine
VMware Tools To enable folder sharing:
VMware Tools To enable folder sharing:
Outline Project 1 Virtual Machine Programming in IERG4180 (Linux) remarks demo Virtual Machine Programming in IERG4180 (Linux) Coding environment Compilation Debugging
Development Tools for CentOS A Group which includes essential packages like gcc, make Applications > System Tools > Terminal Also, libpcap for packet capturing
Compilation gcc/ g++ -g -lrt -pthread -std=c++0x debug info es_timer
Compilation Shell script Makefile
Debugging gdb
Debugging
Debugging Step out f Step into s
Debugging Summary Credit: http://condor.depaul.edu/glancast/373class/docs/gdb.html
Eclipse An IDE which supports Linux platform http://www.eclipse.org/downloads/ Eclipse IDE for C/C++ Developers Linux 32/64 Bit Extract the folder after the download Run eclipse
Environment Setup Install Java Development Kit (JDK) For Java application development Include Java Runtime Environment (JRE) which is required to run Java applications Include other things like Java compiler, Java APIs, etc. http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html jdk-7u40-linux-i586.rpm/ jdk-7u40-linux-x64.rpm
Environment Setup Open Eclipse
Environment Setup Create new project
Environment Setup File > New > C++ project
Compilation Run the program Build the project at first Run > Run Configurations… to select your application Remember to apply
Debugging Debug Mode
Debugging Breakpoint Step Into/ Step Over/ Step Return Call Stack Also has advanced breakpoints like conditional breakpoint Step Into/ Step Over/ Step Return Call Stack
Debugging Variables View
About Project 2… Reuse your work in project 1 Learning objective 1: Code portability Same piece of source code for Windows and Linux platform Learning objective 2: Client Server Model Multithreading Details will be disclosed on next tutorial