SlideShare a Scribd company logo
Ruby Debugger
Integrating Ruby Debugger into YaST
Ing. Ladislav Slezák
SUSE (The YaST Team)
lslezak@suse.com
2
Ruby Debugger – Introduction
● Debugger is a tool for testing and inspecting running programs
● The Ruby debugger is called “byebug”
3
Ruby Debugger – Installation
Run
Gemfile:
Run
gem install byebug
group :development, :test do
gem 'byebug'
end
bundle install
4
Ruby Debugger – Usage
Start:
Or adapt the script:
And start:
require 'byebug'
byebug
byebug script.rb
ruby script.rb
5
And YaST...?
Unfortunately this does NOT work in YaST…
● YaST runs embedded Ruby
● YaST is a GUI/TUI desktop application
● The installer runs in a limited minimal system
● Read-only RAM disk, no storage
● No desktop environment
● Cannot install new libraries/gems easily
6
Byebug – Solution
Byebug client/server architecture
● Input/output goes through a TCP port instead of STDOUT/STDIN
● Allows remote debugging
7
Byebyg – Remote Debugging
Start server (in the code):
Start client (from another console):
# initialize the server
require 'byebug/core'
Byebug.wait_connection = true
# use ‘0.0.0.0’ for real remote debugging
Byebug.start_server('localhost', 3344)
…
# start the debugger
byebug
byebug -R localhost:3344
8
YaST – GUI
Open a new terminal window automatically
● Run “xterm -e byebug -R ... ”
9
YaST – Text Mode
Connect manually in the text mode
10
Invoking the Debugger in YaST
Simply boot the installer with
In installed system run with
y2debugger=1
Y2DEBUGGER=1 yast2 <module>
11
Demo
12
YaST – Exceptions
● Run the debugger also from the global exception handler
13
Questions?
14
Links
● https://github.com/deivid-rodriguez/byebug
● https://github.com/deivid-rodriguez/byebug/blob/master/GUIDE.md
● https://yastgithubio.readthedocs.io/en/latest/debugging/
● https://github.com/yast/yast-ruby-bindings/blob/master/src/ruby/yast/debug
15
Thank You!

More Related Content

What's hot (20)

PPTX
CRaSH the shell for the JVM
jviet
 
PDF
Modernizing Your WordPress Workflow with Grunt & Bower
Alan Crissey
 
PPTX
Improving WordPress Theme Development Workflow - Naveen Kharwar.
Naveen Kharwar
 
PDF
Writing your own browser reload functionality
Anže Žnidaršič
 
PPTX
Introduction to using Grunt & Bower with WordPress theme development
James Bundey
 
PDF
Helpful pre commit hooks for Python and Django
roskakori
 
PDF
linux_distro
Thipphachan Maniphousai
 
ODP
Puppet Provisioning Vagrant Virtual Machine
Arpit Aggarwal
 
PDF
Libvirt API Certification
LinuxCon ContainerCon CloudOpen China
 
PDF
LibreOffice oss-fuzz, crashtesting, coverity
Caolán McNamara
 
ODP
What grunt?
Lucio Martinez
 
ODP
Docker. Micro services for lazy developers
Eugene Krevenets
 
PDF
Nightwatch.js (vodQA Shots - Pune 2017)
Smriti Tuteja
 
PDF
Screaming Fast Wpmu
djcp
 
PDF
Devenez le plus heureux des Front-end avec Gulp.js
Rémy Savard
 
PDF
Laravel Poznań Meetup #12 - "Speed up web API with Laravel and Swoole using ...
HighSolutions Sp. z o.o.
 
PDF
Setup Kubernetes with flannel on ubuntu platform
Ajeet Singh
 
PDF
Gulp - The Streaming Build System
TO THE NEW | Technology
 
PPTX
When a Sassquatch and a Board get together (or how to use Grunt to chew Sass)
Ricardo Castelhano
 
PPTX
uWSGI - Swiss army knife for your Python web apps
Tomislav Raseta
 
CRaSH the shell for the JVM
jviet
 
Modernizing Your WordPress Workflow with Grunt & Bower
Alan Crissey
 
Improving WordPress Theme Development Workflow - Naveen Kharwar.
Naveen Kharwar
 
Writing your own browser reload functionality
Anže Žnidaršič
 
Introduction to using Grunt & Bower with WordPress theme development
James Bundey
 
Helpful pre commit hooks for Python and Django
roskakori
 
Puppet Provisioning Vagrant Virtual Machine
Arpit Aggarwal
 
Libvirt API Certification
LinuxCon ContainerCon CloudOpen China
 
LibreOffice oss-fuzz, crashtesting, coverity
Caolán McNamara
 
What grunt?
Lucio Martinez
 
Docker. Micro services for lazy developers
Eugene Krevenets
 
Nightwatch.js (vodQA Shots - Pune 2017)
Smriti Tuteja
 
Screaming Fast Wpmu
djcp
 
Devenez le plus heureux des Front-end avec Gulp.js
Rémy Savard
 
Laravel Poznań Meetup #12 - "Speed up web API with Laravel and Swoole using ...
HighSolutions Sp. z o.o.
 
Setup Kubernetes with flannel on ubuntu platform
Ajeet Singh
 
Gulp - The Streaming Build System
TO THE NEW | Technology
 
When a Sassquatch and a Board get together (or how to use Grunt to chew Sass)
Ricardo Castelhano
 
uWSGI - Swiss army knife for your Python web apps
Tomislav Raseta
 

Viewers also liked (15)

PDF
chapman tran 1
Karen Martin
 
PDF
Jill 9
kfehr2010
 
PDF
Horario de oraciónes.junio
mohamalaga
 
DOC
Ejercicio 11 de word
sheilarodri1998
 
PPTX
La amistad
kLhau brunno
 
PPTX
Hola soy bata
Blas O
 
PDF
How Wireless Communication Has Changed the Workplace
Laurence Zimmerman
 
PDF
Chana positivo cervezas mammoth
Elena Pérez Zafra
 
PPTX
Terugblik op de Promotiedagen 2016 (SlideShare)
Amber Potharst
 
PDF
BA Degree
Mekonnen Yazachew
 
PDF
Marketing de serviços
Lucas Ribeiro
 
PDF
Glaice untouched water
ND PHARMA BIOTECH
 
PPTX
huirty
gilvanphp
 
PDF
doc20150721112003
Ivan Samylovskiy
 
PPT
Kf 10
Valdet Shala
 
chapman tran 1
Karen Martin
 
Jill 9
kfehr2010
 
Horario de oraciónes.junio
mohamalaga
 
Ejercicio 11 de word
sheilarodri1998
 
La amistad
kLhau brunno
 
Hola soy bata
Blas O
 
How Wireless Communication Has Changed the Workplace
Laurence Zimmerman
 
Chana positivo cervezas mammoth
Elena Pérez Zafra
 
Terugblik op de Promotiedagen 2016 (SlideShare)
Amber Potharst
 
Marketing de serviços
Lucas Ribeiro
 
Glaice untouched water
ND PHARMA BIOTECH
 
huirty
gilvanphp
 
doc20150721112003
Ivan Samylovskiy
 
Ad

Similar to Integrating the Ruby Debugger into YaST (20)

PDF
Developing Rails Apps in Technical Isolation
Jesus Jackson
 
PDF
Linux Distribution Automated Testing
Aleksander Baranowski
 
PDF
Git hooks
Skills Matter
 
PDF
Android Platform Debugging & Development
Qualcomm Developer Network
 
PDF
Gr8conf EU 2013 Speed up your development: GroovyServ and Grails Improx Plugin
Yasuharu Nakano
 
PDF
My "Perfect" Toolchain Setup for Grails Projects
GR8Conf
 
PDF
Gitlab installation
Raiful Hasan
 
PPTX
How To Install GitLab As Your Private GitHub Clone
VEXXHOST Private Cloud
 
PDF
CNIT 126: 8: Debugging
Sam Bowne
 
ODP
The Deck by Phil Polstra GrrCON2012
Philip Polstra
 
PDF
Git lab installation guide
Raiful Hasan
 
PDF
HKG15-306: Introducing Aster - a tool for remote GUI testing on AOSP
Linaro
 
PDF
Embedded linux build systems
Mender.io
 
PPTX
Debo Installation Guide: Building Server and Agent Components in C
ssuser49be50
 
PDF
FOSDEM 2017: GitLab CI
OlinData
 
PDF
How to control physical devices with mruby
yamanekko
 
PDF
Wicked Network Management
Ben Chou
 
PPTX
Step by step guide to create theme for liferay dxp 7
Azilen Technologies Pvt. Ltd.
 
PDF
Streamline your development environment with docker
Giacomo Bagnoli
 
PDF
CNIT 126 8: Debugging
Sam Bowne
 
Developing Rails Apps in Technical Isolation
Jesus Jackson
 
Linux Distribution Automated Testing
Aleksander Baranowski
 
Git hooks
Skills Matter
 
Android Platform Debugging & Development
Qualcomm Developer Network
 
Gr8conf EU 2013 Speed up your development: GroovyServ and Grails Improx Plugin
Yasuharu Nakano
 
My "Perfect" Toolchain Setup for Grails Projects
GR8Conf
 
Gitlab installation
Raiful Hasan
 
How To Install GitLab As Your Private GitHub Clone
VEXXHOST Private Cloud
 
CNIT 126: 8: Debugging
Sam Bowne
 
The Deck by Phil Polstra GrrCON2012
Philip Polstra
 
Git lab installation guide
Raiful Hasan
 
HKG15-306: Introducing Aster - a tool for remote GUI testing on AOSP
Linaro
 
Embedded linux build systems
Mender.io
 
Debo Installation Guide: Building Server and Agent Components in C
ssuser49be50
 
FOSDEM 2017: GitLab CI
OlinData
 
How to control physical devices with mruby
yamanekko
 
Wicked Network Management
Ben Chou
 
Step by step guide to create theme for liferay dxp 7
Azilen Technologies Pvt. Ltd.
 
Streamline your development environment with docker
Giacomo Bagnoli
 
CNIT 126 8: Debugging
Sam Bowne
 
Ad

More from lslezak (7)

PDF
openSUSE Conference 2017 - YaST News
lslezak
 
ODP
openSUSE Conference 2017 - The Docker at Travis Presentation
lslezak
 
ODP
openSUSE Conference 2017 - The Atom Presentation
lslezak
 
ODP
YaST Debugging
lslezak
 
ODP
WebYaST (openSUSE conference 2010)
lslezak
 
ODP
DBus PolicyKit and YaST
lslezak
 
ODP
WebYaST presentation at LinuxTag 2010
lslezak
 
openSUSE Conference 2017 - YaST News
lslezak
 
openSUSE Conference 2017 - The Docker at Travis Presentation
lslezak
 
openSUSE Conference 2017 - The Atom Presentation
lslezak
 
YaST Debugging
lslezak
 
WebYaST (openSUSE conference 2010)
lslezak
 
DBus PolicyKit and YaST
lslezak
 
WebYaST presentation at LinuxTag 2010
lslezak
 

Recently uploaded (20)

PDF
Salesforce Experience Cloud Consultant.pdf
VALiNTRY360
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PPTX
Library_Management_System_PPT111111.pptx
nmtnissancrm
 
PDF
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PDF
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PPTX
Get Started with Maestro: Agent, Robot, and Human in Action – Session 5 of 5
klpathrudu
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
AI Prompts Cheat Code prompt engineering
Avijit Kumar Roy
 
PDF
Meet in the Middle: Solving the Low-Latency Challenge for Agentic AI
Alluxio, Inc.
 
PDF
Is Framer the Future of AI Powered No-Code Development?
Isla Pandora
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
PPTX
Function & Procedure: Function Vs Procedure in PL/SQL
Shani Tiwari
 
PPTX
UI5con_2025_Accessibility_Ever_Evolving_
gerganakremenska1
 
PDF
NPD Software -Omnex systems
omnex systems
 
PPTX
iaas vs paas vs saas :choosing your cloud strategy
CloudlayaTechnology
 
Salesforce Experience Cloud Consultant.pdf
VALiNTRY360
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
Library_Management_System_PPT111111.pptx
nmtnissancrm
 
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Get Started with Maestro: Agent, Robot, and Human in Action – Session 5 of 5
klpathrudu
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
AI Prompts Cheat Code prompt engineering
Avijit Kumar Roy
 
Meet in the Middle: Solving the Low-Latency Challenge for Agentic AI
Alluxio, Inc.
 
Is Framer the Future of AI Powered No-Code Development?
Isla Pandora
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
Function & Procedure: Function Vs Procedure in PL/SQL
Shani Tiwari
 
UI5con_2025_Accessibility_Ever_Evolving_
gerganakremenska1
 
NPD Software -Omnex systems
omnex systems
 
iaas vs paas vs saas :choosing your cloud strategy
CloudlayaTechnology
 

Integrating the Ruby Debugger into YaST