Eclipse for remote development Presented by Taye Su
description
Transcript of Eclipse for remote development Presented by Taye Su
![Page 1: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/1.jpg)
Eclipse for remote developmentPresented by
Taye Su
![Page 2: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/2.jpg)
Agenda
• Theory of Operation
• Workflows• Install & Configure• New Project• Build• Edit• SCM• Debug
• Q&A
2
![Page 3: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/3.jpg)
overview
• Global development (US, India, Singapore, China)
• Large C++ codebase
• Linux OS specific
3
![Page 4: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/4.jpg)
Theory of operation• Classical Development
4
![Page 5: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/5.jpg)
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
![Page 6: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/6.jpg)
Solutions for remote development
6
![Page 7: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/7.jpg)
Introduction
• PC, Linux and Macintosh versions
• Eclipse enhanced for PayPal developers• Ability to edit/build remotely
• Ability to debug remotely
7
![Page 8: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/8.jpg)
Theory of operation
• Rsync Project
8
![Page 9: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/9.jpg)
Theory of operation
Rsync Variants for local editing & indexing• Basic Rsync
• Manual Rsync
• Offline Rsync
9
![Page 10: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/10.jpg)
Benefits
• Inherited all Eclipse plugin features.
• Graphical remote debugging
• Speediness / responsiveness for remote users
• Consistent development environment
10
![Page 11: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/11.jpg)
Workflows
11
![Page 12: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/12.jpg)
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
![Page 13: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/13.jpg)
Standalone Application Debugging
13
executable
IDE gdblaunches
launches
dev staging
![Page 14: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/14.jpg)
WEB Application
14
apache
IDE debug.cdbplaces
dev staging
![Page 15: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/15.jpg)
WEB Application
15
apache
IDE debug.cdbhttp request
webapp
launches
gdbserver
launches
dev staging
![Page 16: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/16.jpg)
WEB Application
16
apache
webapp
gdbserver
IDE
attaches
dev staging
![Page 17: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/17.jpg)
WEB Application
17
apache
webapp
gdbserver
gdbIDElaunches
connects
controls
dev staging
![Page 18: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/18.jpg)
Service/Daemon Debugging
18
asfhelloserv
gdbIDElaunches
attaches
dev staging
![Page 19: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/19.jpg)
Service/Daemon Debugging
19
asfhelloclient
asfhelloserv
gdbcoronacontrols
controls
messages
dev staging
![Page 20: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/20.jpg)
Future works
• Open Source
• RSYNC project creation
• Remote debugging
• Import project base on makefile (hello.exe_def)
• Deploy app
![Page 21: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/21.jpg)
![Page 22: Eclipse for remote development Presented by Taye Su](https://reader036.fdocuments.in/reader036/viewer/2022062520/568159a6550346895dc704d4/html5/thumbnails/22.jpg)
Evaluate This Session
Sign-in: www.eclipsecon.org
Select session from schedule
Evaluate:
1
2
3