200 likes | 385 Views
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
E N D
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