Http://www.flickr.com/photos/hhoyer/2859038799/.

Slides:



Advertisements
Similar presentations
Drupal in the Enterprise
Advertisements

Bending Zen Intro Using Zen Themes functionality, but bending it into your own theme.
DOMINATE THE THEME LAYER August 21st.. Jesper Wøldiche Rahkonen Themer / architect at Bysted. Markup Marine / Journalist / Frontend United
Customizing your Theme Information Systems 337 Prof. Harry Plantinga.
Using Drupal to connect Social Investors with Social Entrepreneurs.
Interactive Media and Game Development Debugging.
E-commerce Project Erik Zeitler Erik Zeitler2 Lab 2  Will be anounced and scheduled later  We will deploy Java Server Pages on a Tomcat server.
Comparing Drupal Taking a look at Drupal for your Open Source CMS platform.
Stacking Virtual Machines How to mess stuff up… Konrad Lorincz Kevin Redwine Alex Sheh Harvard University June 27, 2015June 27, 2015June 27, 2015.
Interactive Media and Game Development Debugging.
Jigsaw in PowerPoint 1)Open Microsoft PowerPoint 2)Open a blank slide 3)Load a picture a) Go to Insert b) Click on picture c) Select file.
Justin Klein Keane Drupal Training Session 1 Introduction to Drupal.
Drupal Workshop Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology, Drupal technology, directories.
Hans Hoerschelman. whoami Hans Sr. Application UI 460 Design (moonlight) UIDUG & DrupalHawks.
Drupal and the CMS Project. Lesson Learned #1 Keep your modules updated, especially when there are security concerns in the update notes 2010 | The Sky’s.
Drupal 7 as an enterprise web application framework Why as a developer you should use Drupal to build web applications? Klaus Harris DrupalCon Munich 2012.
Hook, Drush, and Alters Oh Mai! Bryan Ollendyke.
1/30/11 Hacking your way through the Drupal API, a themers intro Baris Wanschers (BarisW)
SCHOOL OF INFORMATION UNIVERSITY OF MICHIGAN si.umich.edu Drupal: Configuration and Customization Week 4: Installation, Module Development January 25,
Drupal Training Syllabus Chaitanya Lakshmi
How to extend and configure Drupal without user interaction or database dump By Damien Snoeck for Switzerland Romandy Drupal Group January 27, 2010 Work.
Process of Science The Scientific Method.
Top-Down Design and Modular Development
Web Metrics Sean Fox Science Education Resource Center Carleton College
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
WHAT IS DRUPAL? by Peter K. Johnson - Originally presented at Minnebar - April 2012 What you need.
What you don’t know you don’t know about Drupal 6 Dan Harris daneesia on drupal.org.
Forensic Drupal Debugging Dan Harris daneesia on drupal.org.
Seattle Drupal Clinic Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology.
Debugging Strategies from Software Carpentry. Agan's Rules Many people make debugging harder than it needs to be by: Using inadequate tools Not going.
© 2004 OPNET Technologies, Inc. All rights reserved. OPNET and OPNET product names are trademarks of OPNET Technologies, Inc. ARMing Apache David Carter.
Drush: The Drupal Shell Utility Trevor Mckeown Founder & Owner Sublime Technologies
How does Drupal Work? Information Systems 337 Prof. Harry Plantinga.
The Information School of the University of Washington 13-Oct-2004cse debug1 Debugging and Troubleshooting INFO/CSE 100, Spring 2005 Fluency in Information.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Drupal Theming Chris Neglia and Lisa Forgan Copyright 2009, Page 1 Solutions.
Are You in the Right Room?  Want to learn about Features module  Are a beginner or intermediate drupaler who hasn't really used it yet  Don't have an.
DrupalCon 2011: Feedback ENTICE meeting 8 April 2011 Silvia Tomanin DG-CO.
11 Computers, C#, XNA, and You Session 1.1. Session Overview  Find out what computers are all about ...and what makes a great programmer  Discover.
The LC-3 – Chapter 6 COMP 2620 Dr. James Money COMP
Debugging Techniques for Drupal (and other web systems) Robert Ristroph 01 Coding and Development.
PHP Development Environment Setting Marketplace(e) OS Min-Chul Jeong 최진완
#! Phil Norton Getting Started With Jenkins and Drupal DrupalCampNW 2013.
Pragmatic Drupal Development John Fiala Developer.
Introduction To Simple WordPress Plugin Development
An Xray Look at Drupal 7 (OK, a look at permission machine names and some hooks.) Get Xray: gitorious.org/xray/xray gitorious.org/xray/xray/archive-tarball/master.
Software Architect Tomek Marszał Wsinf 2016.
iNOG::A – IPv6 Operating Challenges
CSE 403 Software Engineering
System Development Life Cycle (SDLC)
Custom search forms with Apache Solr David Hernández
Panelize all the Things!
Customizing your Theme
System Development Life Cycle (SDLC)
Cookies BIS1523 – Lecture 23.
CAPE INFORMATION TECHNOLOGY
Starting Out with Programming Logic & Design
(Test Driven) Software Development
System Development Life Cycle (SDLC)
Importance of logs in custom development
Due Next Monday Assignment 1 Start early
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
LESSON 01 Hands-on Training Execution
Write Job Applications
Starting Out with Programming Logic & Design
CAPE INFORMATION TECHNOLOGY
Applying Use Cases (Chapters 25,26)
CAPE INFORMATION TECHNOLOGY
System analysis and design
Page 40 Murphy’s Law.
Presentation transcript:

http://www.flickr.com/photos/hhoyer/2859038799/

minimalmedia.com/debugging-drupal DrupalCamp Ohio December 13, 2013 David Trainer Minimal Media @minimalmedia minimalmedia.com/debugging-drupal

What's Debugging?

What we won't cover Interactive debugging and profiling tools like Xdebug, NetBeans, xhprof xdebug.org github.com/facebook/xhprof They are too platform-specific

Who does debugging? Not just developers Not just code Not just errors Anyone who ever needs to dig into the system to figure out how something works Sometimes requires teamwork Debugging doesn't necessarily mean development You don't need to be writing code in order to experience a need to dig into the system and figure out how stuff works Any situation where the expected behavior doesn't match the expected behavior Importance of reproducing/replicating the issue: Sales/PMs take note: You can't really start debugging until you can reproduce the problem Should end with “The result was x, when I expected to see y”

When do we need to do debugging? When the behavior of a system does not match the expected behavior Need complete knowledge of both, in order to study the gap between them What if you're not the one encountering the behavior?

“It's not coming up”

“It's not coming up”

“It's not coming up”

“It's not coming up”

Reproducibility Need a good description of the steps to reproduce Test by inducing the problem behavior, while observing conditions inside the system On a complex issue, you can't start debugging until you can reproduce it http://drupal.org/node/952034

How to think What's Debugging? 1. Gather information 2. Form a hypothesis; devise a test 3. Test 4. goto 1 What's Debugging?

Gather Information

Tools and Resources api.drupal.org Chrome Developer tools, Firebug Drush Devel devel_demo Coder curl find

Logging Understand how different parts of the system report problems PHP Logging php.ini display_errors log_errors error_log Drupal dblog Syslog /var/log/syslog YMMV Understand how different parts of the system report problems

Understand how different pieces of the architecture fit together Instrumentation Understanding what Drupal actually does when it builds a page Bootstrap Menu callback Examine response headers using Chrome and curl Understand how different pieces of the architecture fit together

Know how to use the tools to reveal what's going on inside Instrumentation Understanding node hooks Using dpm() you can peer inside the node object during every phase You can use dpm() in the theme layer too ddebug_backtrace() Hack drupal_set_message() Know how to use the tools to reveal what's going on inside

Strategies Be prepared Dev environment Access to live environment Tools necessary to create an entire copy of your site, quickly Divide and conquer, process of elimination Turn off your theme Turn off modules

Common Problems WSOD: http://drupal.org/node/158043 Caching Reverse proxy cache Page cache Block cache Permissions Look out for field permissions Cron Performance related Make a list

Uncommon Problems Teaser trimming Menu cache

Thanks Robert Ristroph http://2011.drupalcampatlanta.com/session/debugging-techniques-drupal- and-lamp/index.html Angie Byron http://www.lullabot.com/articles/quick-and-dirty-debugging Randy Fay http://www.randyfay.com/topics/debugging Morten Wulff http://drupal.org/user/7118

minimalmedia.com/debugging-drupal Q&A @minimalmedia minimalmedia.com/debugging-drupal