SlideShare a Scribd company logo
Dev Tools
Author: Volodymyr Shymanskyy
December 2014
● Version control
● Profilers, Debuggers
○ Advanced debugging features
● Prototypes, Simulators, Emulators
● Tracers, Dumps, Logs, Plots, Graphs,
Stats, Diagnostics
● Productivity tools
● ...
Even more
Environments
Build Systems
Instrumentation
Compilers
GUI editors
UT frameworks
Static analysers
Code/Doc generators
IDEs
Code generators
● GUI
○ wxFormBuilder
● Class Structure
○ Rational Rose
● Parsers, etc.
○ lex & yacc
Documentation generators
DoxyGen
● C/C++, C#, Objective-C
● Java, Python, PHP, VHDL
JavaDoc
PyDoc
DoxyGen example
/**
* <A short one line description>
*
* <Longer description>
* <May span multiple lines or paragraphs as needed>
*
* @param Description of method's or function's input parameter
* @param ...
* @return Description of the return value
*/
DoxyGen
structure
classes
graphs
interlinks
comments
Cross-References
LXR
Version control
Git, SVN (Subversion), Mercurial
Old: CVS, Perforce
Comparison
Simple:
git clone <url>
git pull/push
git add/commit
Understanding Git Conceptually
Tortoise SVN / Git, Gitg
Diff tools
WinMerge
Meld, KDiff3
Beyond Compare
Bug Tracking
Jira, Bugzilla
Build System
Makefile, CMake
Ant -> Ivy
Python
may be used ;)
Build
server
Static analysers
Needs only source code!
Static analysers
Java: FindBugs, Checkstyle
C++: Eclipse, Clang, Coverity, KlocWork
Obj-C: Clang
Other: JSLint, Pylint, Perl::Critic, ...
Dynamic Analysis
Needs scenarios!
Good to run with UT suite.
Debuggers, Profilers, Tracers...
UT Frameworks
● Provide infra for UT
○ Integrate to IDEs / CI
○ Reporting
○ Convenient APIs
JUnit, CxxTest, ...
Debuggers
Conditional breakpoints
Data breakpoints
Watch expressions
Reverse, Rec-Replay
Remote debugging
Offline debugging
Debugging in emulator!
Data Display Debugger
Profilers
● speed, resource usage, cache
Perl perl -d:NYTProf myscript.pl
Python python -m cProfile myscript.py
+pycallgraph
Java NetBeans, GC Viewer, here (rus)
You can do measurements directly in code!
Profilers
Valgrind
memcheck
cachegrind
callgrind
massif
helgrind
tutorial (rus)
Valkyrie
Kcachegrind
fun
sysstat (sar)
iostat
pidstat
mpstat
etherape, vnstat
powertop
socat, netem, strace, ltrace
Emulators
VirtualBox
QEMU
Protocol Sniffers / Analysers
Wireshark
Fiddler
Hardware
USB
Fiddler
Browser
dev tools
Productivity tools
Linux!
● KDE, krusader, yakuake, redshift
● VLC, Inkscape, Gimp
● Use console!!! Vim, Emacs
Windows:
● RocketDock, Actual Title Buttons, F.lux, WorkRave
● Browser, File Manager, 7z, SysInternals suite
● Punto Switcher, Keyboard, ConEmu, Putty
● Notepad++, STDU Viewer, Paint.Net, WinSCP, UltraVNC
Tools
IDE
● Visual Studio Windows, .Net, C/C++
● IntelliJ IDEA Java, Scala, Python...
● Xcode Obj-C, C/C++, Python
● PyCharm Python
● Padre Perl
Eclipse
● Java
● C/C++ CDT
● Python PyDev
● Perl EPIC
● Node.js
● … lots of plugins!
Prototyping
● Python, JS, Node.js
● Arduino
● Online:
○ Coding Ground
○ JSFiddle
Online tools
Validators
Drawing
Diagrams: Gliffy
Mockups: Balsamiq
Google Docs, Google Drive, Dropbox
FreeMind, github, trello, WeTransfer, doodle
Tools
Logs, Dumps, Event Traces
● “Debug by prints”
○ Embedded / multithreaded
● Log to file, to ram (may be shared)
○ Filter by module/severity
● Dump part of the state
○ Stats
● Event Traces
○ Binary, lightweight
Statistics
● Event counts
○ In domain, or internal
○ Amount of function calls
● Time of processing
● Latency
● CPU/RAM usage
Diagnostics
● Now check them all!
● During normal operation
● Special diagnostics mode
○ For intrusive things
Crash & Bug reporting
Environment info
Stack traces
Dumps, Stats, Logs...
Visualize!
geomview,
meshlab
Plots
Mathematica, gnuplot
Audible, smell? :)
Graphs
How it might be interesting?..
GraphViz
Instrumentation
Hooks Scripts
+
Simulators
● CNC
● ...
● User-mode Linux
Part of the system is replaced with a simulated one.
CLI - Command Line
● Interactive
● One-shot
Increases usability &
Allows automation!
Scripting Engine
● JS, Python, Lua, C# for .Net
● Examples
○ Atom, Sublime text editors
○ Some games use Lua
○ VirtualBox uses Python
● Even better automation! ^_^
Pick your own!Pick your own!
Volodymyr Shymanskyy
Embedded Trainer
Embedded Software Developer
GL Hackerspace Co-Founder
vshymanskyi@gmail.com
skype: vshymanskyi
LinkedIn, Facebook
If you’re using these materials for presentation, please add my name and LinkedIn to the “Thanks” slide. Also submit your ideas and corrections.

More Related Content

PDF
Embedded. What Why How
Volodymyr Shymanskyy
 
PDF
There is more to C
Juraj Michálek
 
PDF
Plasmaquick Workshop - FISL 13
Daker Fernandes
 
PDF
The Simple Scheduler in Embedded System @ OSDC.TW 2014
Jian-Hong Pan
 
PDF
Make Your Own Developement Board @ 2014.4.21 JuluOSDev
Jian-Hong Pan
 
PDF
D1T3-Anto-Joseph-Droid-FF
Anthony Jose
 
PDF
Quest for a low powered home hub 120522
Paul Tanner
 
PDF
Ищем уязвимости нулевого дня в ядре Linux
Positive Hack Days
 
Embedded. What Why How
Volodymyr Shymanskyy
 
There is more to C
Juraj Michálek
 
Plasmaquick Workshop - FISL 13
Daker Fernandes
 
The Simple Scheduler in Embedded System @ OSDC.TW 2014
Jian-Hong Pan
 
Make Your Own Developement Board @ 2014.4.21 JuluOSDev
Jian-Hong Pan
 
D1T3-Anto-Joseph-Droid-FF
Anthony Jose
 
Quest for a low powered home hub 120522
Paul Tanner
 
Ищем уязвимости нулевого дня в ядре Linux
Positive Hack Days
 

What's hot (20)

PDF
OWF12/PAUG Conf Days Android tools for developpeurs, paul marois, design and ...
Paris Open Source Summit
 
PDF
Micro Python で組み込み Python
Hirotaka Kawata
 
PDF
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
dotCloud
 
PDF
syzkaller: the next gen kernel fuzzer
Dmitry Vyukov
 
PDF
Kernel Recipes 2016 - Speeding up development by setting up a kernel build farm
Anne Nicolas
 
PDF
[2014 CodeEngn Conference 11] 정든품바 - 웹성코드
Code Engn
 
PDF
syzbot and the tale of million kernel bugs
Dmitry Vyukov
 
PDF
Developer support/process automation tools
Dmitry Vyukov
 
PDF
HKG15-300: Art's Quick Compiler: An unofficial overview
Linaro
 
ODP
#Make01
Sandro Salari
 
PDF
Kernel Recipes 2016 - kernelci.org: 1.5 million kernel boots (and counting)
Anne Nicolas
 
PDF
Android NDK and the x86 Platform
Sebastian Mauer
 
ODP
Event Driven with LibUV and ZeroMQ
Luke Luo
 
PDF
MazuV-Debug-System
feathertw
 
PDF
Andrea Righi - Spying on the Linux kernel for fun and profit
linuxlab_conf
 
PDF
Rapid SPi Device Driver Development over USB
Samsung Open Source Group
 
PDF
01 linux-quick-start
Nguyen Vinh
 
DOCX
Bsdtw17: lightning talks/wip sessions
Scott Tsai
 
PDF
Neural Network File Format for Inference Framework
Kobe Yu
 
PDF
C from FW
feathertw
 
OWF12/PAUG Conf Days Android tools for developpeurs, paul marois, design and ...
Paris Open Source Summit
 
Micro Python で組み込み Python
Hirotaka Kawata
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
dotCloud
 
syzkaller: the next gen kernel fuzzer
Dmitry Vyukov
 
Kernel Recipes 2016 - Speeding up development by setting up a kernel build farm
Anne Nicolas
 
[2014 CodeEngn Conference 11] 정든품바 - 웹성코드
Code Engn
 
syzbot and the tale of million kernel bugs
Dmitry Vyukov
 
Developer support/process automation tools
Dmitry Vyukov
 
HKG15-300: Art's Quick Compiler: An unofficial overview
Linaro
 
#Make01
Sandro Salari
 
Kernel Recipes 2016 - kernelci.org: 1.5 million kernel boots (and counting)
Anne Nicolas
 
Android NDK and the x86 Platform
Sebastian Mauer
 
Event Driven with LibUV and ZeroMQ
Luke Luo
 
MazuV-Debug-System
feathertw
 
Andrea Righi - Spying on the Linux kernel for fun and profit
linuxlab_conf
 
Rapid SPi Device Driver Development over USB
Samsung Open Source Group
 
01 linux-quick-start
Nguyen Vinh
 
Bsdtw17: lightning talks/wip sessions
Scott Tsai
 
Neural Network File Format for Inference Framework
Kobe Yu
 
C from FW
feathertw
 
Ad

Similar to Tools (20)

PPTX
Go Is Your Next Language — Sergii Shapoval
GlobalLogic Ukraine
 
PPTX
Dmytro Dziubenko "Developer's toolchain"
Fwdays
 
PDF
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Jérôme Petazzoni
 
PDF
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
niallo
 
PDF
Dev + DevOps для PHP розробника
phpfriendsclub
 
PPTX
Creating a reasonable project boilerplate
Stanislav Petrov
 
PDF
Jvm profiling under the hood
RichardWarburton
 
PPTX
Scaling Magento
Copious
 
PDF
Hack Like It's 2013 (The Workshop)
Itzik Kotler
 
PPTX
Node.js Web Apps @ ebay scale
Dmytro Semenov
 
PDF
Android Internals
Opersys inc.
 
PDF
Programming for non tech entrepreneurs
Rodrigo Gil
 
PDF
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)
Ron Munitz
 
PDF
LibGDX: Cross Platform Game Development
Intel® Software
 
PPTX
My benchmarks brings all the boys to the yard
Ion Dormenco
 
PDF
OWF12/PAUG Conf Days Dart a new html5 technology, nicolas geoffray, softwar...
Paris Open Source Summit
 
PPTX
Continuous testing
Oleksandr Metelytsia
 
PDF
(phpconftw2012) PHP as a Middleware in Embedded Systems
sosorry
 
PDF
Why go ?
Mailjet
 
Go Is Your Next Language — Sergii Shapoval
GlobalLogic Ukraine
 
Dmytro Dziubenko "Developer's toolchain"
Fwdays
 
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Jérôme Petazzoni
 
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
niallo
 
Dev + DevOps для PHP розробника
phpfriendsclub
 
Creating a reasonable project boilerplate
Stanislav Petrov
 
Jvm profiling under the hood
RichardWarburton
 
Scaling Magento
Copious
 
Hack Like It's 2013 (The Workshop)
Itzik Kotler
 
Node.js Web Apps @ ebay scale
Dmytro Semenov
 
Android Internals
Opersys inc.
 
Programming for non tech entrepreneurs
Rodrigo Gil
 
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)
Ron Munitz
 
LibGDX: Cross Platform Game Development
Intel® Software
 
My benchmarks brings all the boys to the yard
Ion Dormenco
 
OWF12/PAUG Conf Days Dart a new html5 technology, nicolas geoffray, softwar...
Paris Open Source Summit
 
Continuous testing
Oleksandr Metelytsia
 
(phpconftw2012) PHP as a Middleware in Embedded Systems
sosorry
 
Why go ?
Mailjet
 
Ad

Recently uploaded (20)

PDF
top-5-use-cases-for-splunk-security-analytics.pdf
yaghutialireza
 
PDF
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
PPTX
Chapter_Seven_Construction_Reliability_Elective_III_Msc CM
SubashKumarBhattarai
 
PDF
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
PPT
Understanding the Key Components and Parts of a Drone System.ppt
Siva Reddy
 
PDF
Unit I Part II.pdf : Security Fundamentals
Dr. Madhuri Jawale
 
PDF
LEAP-1B presedntation xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hatem173148
 
PPTX
Victory Precisions_Supplier Profile.pptx
victoryprecisions199
 
PPTX
MULTI LEVEL DATA TRACKING USING COOJA.pptx
dollysharma12ab
 
PDF
Packaging Tips for Stainless Steel Tubes and Pipes
heavymetalsandtubes
 
PPTX
IoT_Smart_Agriculture_Presentations.pptx
poojakumari696707
 
PPTX
business incubation centre aaaaaaaaaaaaaa
hodeeesite4
 
PDF
EVS+PRESENTATIONS EVS+PRESENTATIONS like
saiyedaqib429
 
PPTX
FUNDAMENTALS OF ELECTRIC VEHICLES UNIT-1
MikkiliSuresh
 
PDF
All chapters of Strength of materials.ppt
girmabiniyam1234
 
PDF
2010_Book_EnvironmentalBioengineering (1).pdf
EmilianoRodriguezTll
 
PPTX
sunil mishra pptmmmmmmmmmmmmmmmmmmmmmmmmm
singhamit111
 
PDF
Biodegradable Plastics: Innovations and Market Potential (www.kiu.ac.ug)
publication11
 
PDF
Zero Carbon Building Performance standard
BassemOsman1
 
PPTX
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 
top-5-use-cases-for-splunk-security-analytics.pdf
yaghutialireza
 
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
Chapter_Seven_Construction_Reliability_Elective_III_Msc CM
SubashKumarBhattarai
 
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
Understanding the Key Components and Parts of a Drone System.ppt
Siva Reddy
 
Unit I Part II.pdf : Security Fundamentals
Dr. Madhuri Jawale
 
LEAP-1B presedntation xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hatem173148
 
Victory Precisions_Supplier Profile.pptx
victoryprecisions199
 
MULTI LEVEL DATA TRACKING USING COOJA.pptx
dollysharma12ab
 
Packaging Tips for Stainless Steel Tubes and Pipes
heavymetalsandtubes
 
IoT_Smart_Agriculture_Presentations.pptx
poojakumari696707
 
business incubation centre aaaaaaaaaaaaaa
hodeeesite4
 
EVS+PRESENTATIONS EVS+PRESENTATIONS like
saiyedaqib429
 
FUNDAMENTALS OF ELECTRIC VEHICLES UNIT-1
MikkiliSuresh
 
All chapters of Strength of materials.ppt
girmabiniyam1234
 
2010_Book_EnvironmentalBioengineering (1).pdf
EmilianoRodriguezTll
 
sunil mishra pptmmmmmmmmmmmmmmmmmmmmmmmmm
singhamit111
 
Biodegradable Plastics: Innovations and Market Potential (www.kiu.ac.ug)
publication11
 
Zero Carbon Building Performance standard
BassemOsman1
 
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 

Tools