220 likes | 318 Views
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.
E N D
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 • Classical Development
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
Introduction • PC, Linux and Macintosh versions • Eclipse enhanced for PayPal developers • Ability to edit/build remotely • Ability to debug remotely
Theory of operation • Rsync Project
Theory of operation • Rsync Variants for local editing & indexing • Basic Rsync • Manual Rsync • Offline Rsync
Benefits • Inherited all Eclipse plugin features. • Graphical remote debugging • Speediness / responsiveness for remote users • Consistent development environment
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
Standalone Application Debugging dev staging launches IDE gdb launches executable
WEB Application dev staging places debug.cdb IDE apache
WEB Application dev staging gdbserver launches IDE debug.cdb webapp httprequest launches apache
WEB Application dev staging gdbserver attaches webapp IDE apache
WEB Application dev staging gdbserver connects controls launches webapp IDE gdb apache
Service/Daemon Debugging dev staging asfhelloserv attaches launches IDE gdb
Service/Daemon Debugging dev staging asfhelloclient messages asfhelloserv controls controls corona gdb
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 2 Select session from schedule 3 Evaluate: