Eclipse for remote development Presented by Taye Su
Eclipse for remote development Presented 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 • Slick. Edit 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 Pay. Pal 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 Installation Project creation Edit Build Deploy Debug 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 dev IDE staging launches gdb launches executable 13
WEB Application dev IDE places staging debug. cdb apache 14
WEB Application dev staging gdbserver launches IDE htt debug. cdb p re que s webapp t launches apache 15
WEB Application dev staging gdbserver attaches IDE webapp apache 16
WEB Application dev staging n co IDE launches gdb ts c ne gdbserver controls webapp apache 17
Service/Daemon Debugging dev staging asfhelloserv attaches IDE launches gdb 18
Service/Daemon Debugging dev staging asfhelloclient messages asfhelloserv controls corona controls gdb 19
Future works • Open Source • RSYNC project creation • Remote debugging • Import project base on makefile (hello. exe_def) • Deploy app
Evaluate This Session 1 Sign-in: www. eclipsecon. org/2013/ 2 Select session from schedule 3 Evaluate:
- Slides: 22