SlideShare a Scribd company logo
DEBUGGING

IN
HELLO

my name
Anthony van der Hoorn
is

@anthony_v
DIAGNOSTICS
is one of the

hard
things we do
est
“Debugging is twice as hard as writing
the code in the first place.
Therefore, if you write the code as
cleverly as possible,

you are, by definition, not smart enou
debug it. ”
-- BRIAN KERNIGHAN
40 - time %
60 is
of our
debugging
spent
DEBUGGING
vs.

CREATIVITY
the web

isn‟t

SIMPLE
DEBUGGING
vs.

TRACING
vs.

INSTRUMENTATION
what are we
talking

ABOUT
BREAKPOINTS

Visual Stud
LOG FILES

NDepend
CODE ANALYSIS

NDepend
debugging
&
haven„t really
diagnostics changed in
the last

20 Years
these
don‟t
evolution we
address the have seen
in the last

20 Years
too

LOW
LEVEL
very

BLUNT
INSTRUMENTS
BREAKPOINTS

Visual Stud
LOG FILES

NDepend
runtime is

DYNAMIC
runtime is only
getting more

COMPLICATED
&

COMPLEX
CODE ANALYSIS

NDepend
let„s do

BETTER
what do we

REALLY
WANT
get a
picture of
our

REQUESTS
know our
ran the way we
frameworks

&

code
EXPECTED
aggregate request

DATA
bridging

CLIENT
&

SERVER
better

DIAGNOSTICS
let„s learn from the last

20 Years
ent
er

GLIMPSE
DEMO
what do we
have

NOW
information
has different

LEVELS
10,000

ft view

HUD
10,000 ft view
8,000 ft view

HUD
Timeline
10,000 ft view
8,000 ft view
5,000 ft view

HUD
Timeline
Tabs
10,000 ft view
8,000 ft view
5,000 ft view
2,000 ft view

HUD
Timeline
Tabs
Trace
10,000 ft view
HUD
Timeline
8,000 ft view
5,000 ft view
Tabs
2,000 ft view
Trace
1 ft view
Existing Too
different

MODES

of

developmen
LEARNER
LEARNER

DEBUGGER
LEARNER

DEBUGGER

DEVELOPER
diagnostics
PLATFORM
for the web
multi framework

ECOSYSTEM
information

TARGETED
at
UNDERSTANDING
browser

cross
browser
Platform

cross
cross
browser
Platform
stack

cross
cross

full
FREE
a
n
OPEN SOURCE
d
g
o

FORTH
and
be

AWESOME
please leave

FEEDBACK
THANK YOU
@anthony_vdh

More Related Content

Similar to Debugging in .NET - Glimpse

Clean code is not the goal - working software is
Clean code is not the goal - working software isClean code is not the goal - working software is
Clean code is not the goal - working software is
Edorian
 
Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08
Jens Hoffmann
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for Citizens
Mikhail Zyatin
 
Oli Gardner SMD Warsaw 2014 - Advanced Landing Page Optimization With Conve...
Oli Gardner  SMD Warsaw 2014  - Advanced Landing Page Optimization With Conve...Oli Gardner  SMD Warsaw 2014  - Advanced Landing Page Optimization With Conve...
Oli Gardner SMD Warsaw 2014 - Advanced Landing Page Optimization With Conve...
Joanna Gęsicka
 
Christoph C. Cemper: Improve your rankings with internal link building and no...
Christoph C. Cemper: Improve your rankings with internal link building and no...Christoph C. Cemper: Improve your rankings with internal link building and no...
Christoph C. Cemper: Improve your rankings with internal link building and no...
Authoritas
 
A Simple AI Problem That Wasn’t: A Smart Manufacturing Case Study
A Simple AI Problem That Wasn’t: A Smart Manufacturing Case StudyA Simple AI Problem That Wasn’t: A Smart Manufacturing Case Study
A Simple AI Problem That Wasn’t: A Smart Manufacturing Case Study
Wei-Chao Chen
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for Citizens
Mikhail Zyatin
 
Wireframes & More
Wireframes & MoreWireframes & More
Wireframes & More
SV.CO
 
Communications e business
Communications e businessCommunications e business
Communications e business
Ralph Paglia
 
How Low-Code Development Has Entered a Maturity Spurt Thanks to New Process-O...
How Low-Code Development Has Entered a Maturity Spurt Thanks to New Process-O...How Low-Code Development Has Entered a Maturity Spurt Thanks to New Process-O...
How Low-Code Development Has Entered a Maturity Spurt Thanks to New Process-O...
Dana Gardner
 
Michael Kowalski
Michael KowalskiMichael Kowalski
Michael Kowalski
Carsonified Team
 
QR Codes in the Classroom
QR Codes in the ClassroomQR Codes in the Classroom
QR Codes in the Classroom
Robert Mayben
 
Educ6751(2)
Educ6751(2)Educ6751(2)
Educ6751(2)
Robert Parkes
 
Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD
Gervais Johnson, Advisor
 
Legacy Code For Management
Legacy Code For ManagementLegacy Code For Management
20161029 legacy-code-for-management
20161029 legacy-code-for-management20161029 legacy-code-for-management
20161029 legacy-code-for-management
Staff Agile66
 
From dev to ops and beyond - getting it done
From dev to ops and beyond - getting it doneFrom dev to ops and beyond - getting it done
From dev to ops and beyond - getting it done
Edorian
 
BDD: There's more to it than you think
BDD: There's more to it than you thinkBDD: There's more to it than you think
BDD: There's more to it than you think
John Ferguson Smart Limited
 
QR Codes
QR CodesQR Codes
QR Codes
cpsmith206
 

Similar to Debugging in .NET - Glimpse (19)

Clean code is not the goal - working software is
Clean code is not the goal - working software isClean code is not the goal - working software is
Clean code is not the goal - working software is
 
Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for Citizens
 
Oli Gardner SMD Warsaw 2014 - Advanced Landing Page Optimization With Conve...
Oli Gardner  SMD Warsaw 2014  - Advanced Landing Page Optimization With Conve...Oli Gardner  SMD Warsaw 2014  - Advanced Landing Page Optimization With Conve...
Oli Gardner SMD Warsaw 2014 - Advanced Landing Page Optimization With Conve...
 
Christoph C. Cemper: Improve your rankings with internal link building and no...
Christoph C. Cemper: Improve your rankings with internal link building and no...Christoph C. Cemper: Improve your rankings with internal link building and no...
Christoph C. Cemper: Improve your rankings with internal link building and no...
 
A Simple AI Problem That Wasn’t: A Smart Manufacturing Case Study
A Simple AI Problem That Wasn’t: A Smart Manufacturing Case StudyA Simple AI Problem That Wasn’t: A Smart Manufacturing Case Study
A Simple AI Problem That Wasn’t: A Smart Manufacturing Case Study
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for Citizens
 
Wireframes & More
Wireframes & MoreWireframes & More
Wireframes & More
 
Communications e business
Communications e businessCommunications e business
Communications e business
 
How Low-Code Development Has Entered a Maturity Spurt Thanks to New Process-O...
How Low-Code Development Has Entered a Maturity Spurt Thanks to New Process-O...How Low-Code Development Has Entered a Maturity Spurt Thanks to New Process-O...
How Low-Code Development Has Entered a Maturity Spurt Thanks to New Process-O...
 
Michael Kowalski
Michael KowalskiMichael Kowalski
Michael Kowalski
 
QR Codes in the Classroom
QR Codes in the ClassroomQR Codes in the Classroom
QR Codes in the Classroom
 
Educ6751(2)
Educ6751(2)Educ6751(2)
Educ6751(2)
 
Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD
 
Legacy Code For Management
Legacy Code For ManagementLegacy Code For Management
Legacy Code For Management
 
20161029 legacy-code-for-management
20161029 legacy-code-for-management20161029 legacy-code-for-management
20161029 legacy-code-for-management
 
From dev to ops and beyond - getting it done
From dev to ops and beyond - getting it doneFrom dev to ops and beyond - getting it done
From dev to ops and beyond - getting it done
 
BDD: There's more to it than you think
BDD: There's more to it than you thinkBDD: There's more to it than you think
BDD: There's more to it than you think
 
QR Codes
QR CodesQR Codes
QR Codes
 

Recently uploaded

"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
Fwdays
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
zjhamm304
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Ukraine
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
DianaGray10
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
Fwdays
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
ScyllaDB
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
leebarnesutopia
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
HarpalGohil4
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 

Recently uploaded (20)

"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 

Debugging in .NET - Glimpse

Editor's Notes

  1. This allows us to stop our program at any given point in time and look at the state of the application
  2. This allows us to stop our program at any given point in time and look at the state of the application
  3. This allows us to stop our program at any given point in time and look at the state of the application
  4. This allows us to stop our program at any given point in time and look at the state of the application
  5. This allows us to stop our program at any given point in time and look at the state of the application
  6. This allows us to stop our program at any given point in time and look at the state of the application
  7. This allows us to stop our program at any given point in time and look at the state of the application
  8. This allows us to stop our program at any given point in time and look at the state of the application
  9. One of the biggest realizations that we have had is that we now have information at different levelsIf we image that breakpoints and log files are the 1 foot view of our system What would we want to see if we jumped to the 10,000 foot view
  10. Another realization is that from a diagnostics point on view, we have different modes of developement
  11. A major realization that we had over the course of Glimpse’s lifecycle, is that if you take away the tabs we ship with, we have a diagnostics platformIf we agree that we like the type of insights that Glimpse provides is valuable, we start asking why can’t I have this for other frameworks and can I do this using Glimpse
  12. The next evolution of having a diagnostics platform is that we have an ecosystem of different frameworks that are supportedWhen you open your project, you should be able to download packages for each of the various frameworks you are using
  13. In a web context, most of the time, we are dealing with a click, which:starts on the browser, connects over the network,runs on the server,may connect to other services or data stores,comes back over the network,runs on the client till render,then any other events on the client after thatThis is the picture that we wanted to provide
  14. In a web context, most of the time, we are dealing with a click, which:starts on the browser, connects over the network,runs on the server,may connect to other services or data stores,comes back over the network,runs on the client till render,then any other events on the client after thatThis is the picture that we wanted to provide
  15. In a web context, most of the time, we are dealing with a click, which:starts on the browser, connects over the network,runs on the server,may connect to other services or data stores,comes back over the network,runs on the client till render,then any other events on the client after thatThis is the picture that we wanted to provide