IERG4180 Tutorial 4
IERG4180 Tutorial 4. Jim. Outline. Virtual Machine Development environment setup on Linux Development using Eclipse NetProbe for Linux. Virtual Machine (VM). Software based, fictive computer Multiple OS environments can co-exist using VM which is Easy to setup Easy to clean up
IERG4180 Tutorial 4
E N D
Presentation Transcript
Outline • Virtual Machine • Development environment setup on Linux • Development using Eclipse • NetProbe for Linux
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.4 • 64 bits • ftp://ftp.cuhk.edu.hk/pub/Linux/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-bin-DVD1.iso • 32 bits • ftp://ftp.cuhk.edu.hk/pub/Linux/centos/6.4/isos/i386/CentOS-6.4-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, folder sharing, etc. between guest and host.
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:
Development Tools for CentOS • A Group which includes essential packages like gcc, make • Applications > System Tools > Terminal • Also, libpcap for packet capturing
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
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
Eclipse • Create new project
Eclipse • Run the program • Build the project at first • Run > Run Configurations… to select your application • Remember to apply
Eclipse • Debug Mode
Eclipse • Breakpoint • Also has advanced breakpoints like conditional breakpoint • Step Into/ Step Over/ Step Return • Call Stack
Eclipse • Variables View
NetProbe for Linux • Revise your assignment 1 to support compilation on Linux • Open Eclipse
NetProbe for Linux • File > New > C++ project
NetProbe for Linux • Revise your code • Refer to http://course.ie.cuhk.edu.hk/~ierg4180/portable_sockets_programming.pdf
NetProbe for Linux • Differences between Linux and Windows code