eclipse for remote development presented by taye su
DESCRIPTION
Eclipse for remote development Presented by Taye Su. Agenda. Theory of Operation Workflows Install & Configure New Project Build Edit SCM Debug Q&A. overview. Global development (US, India, Singapore, China) Large C++ codebase Linux OS specific. Theory of operation. - PowerPoint PPT PresentationTRANSCRIPT
Eclipse for remote developmentPresented by
Taye Su
Agenda
• Theory of Operation
• Workflows• Install & Configure• New Project• Build• Edit• SCM• Debug
• Q&A
2
overview
• Global development (US, India, Singapore, China)
• Large C++ codebase
• Linux OS specific
3
Theory of operation• Classical Development
4
Pain points
• Inconsistence dev environment
• SlickEdit Dev has own hooks and hard to share
• X-Client doesn’t work well for remote users
• Error prone - typing errors to code
• Difficult to trace compiling error
• Manual debugging
• difficult to setup
• difficult to step through code with gdb commands
• gdb is too expensive to run on staging machine
5
Solutions for remote development
6
Introduction
• PC, Linux and Macintosh versions
• Eclipse enhanced for PayPal developers• Ability to edit/build remotely
• Ability to debug remotely
7
Theory of operation
• Rsync Project
8
Theory of operation
Rsync Variants for local editing & indexing• Basic Rsync
• Manual Rsync
• Offline Rsync
9
Benefits
• Inherited all Eclipse plugin features.
• Graphical remote debugging
• Speediness / responsiveness for remote users
• Consistent development environment
10
Workflows
11
Workflows – Remote Debugging
• Remote Debug Wizard makes debugging easy
• Debug Steps:• Build Application With Symbols
• Deploy to playground or stage
• Set Breakpoints
• Run the Debug Wizard
• Types of Applications
• Standalone – launched by gdb
• WAC App – launched by Apache, connects via gdbserver
• Service – attach to running process
12
Standalone Application Debugging
13
executable
IDE gdblaunches
launches
dev staging
WEB Application
14
apache
IDE debug.cdbplaces
dev staging
WEB Application
15
apache
IDE debug.cdbhttp request
webapp
launches
gdbserver
launches
dev staging
WEB Application
16
apache
webapp
gdbserver
IDE
attaches
dev staging
WEB Application
17
apache
webapp
gdbserver
gdbIDElaunches
connects
controls
dev staging
Service/Daemon Debugging
18
asfhelloserv
gdbIDElaunches
attaches
dev staging
Service/Daemon Debugging
19
asfhelloclient
asfhelloserv
gdbcoronacontrols
controls
messages
dev staging
Future works
• Open Source
• RSYNC project creation
• Remote debugging
• Import project base on makefile (hello.exe_def)
• Deploy app
Evaluate This Session
Sign-in: www.eclipsecon.org
Select session from schedule
Evaluate:
1
2
3