You know it, I know it, we all know it. You’ve either picked up someone’s code, taken on an existing project or are coming back to an old project. It’s late, something’s gone wrong and you’re stuck with how to resolve the issue.
But it could also be Monday morning after a good holiday, it could have been a long weekend, or it could be a brand new project and you’re just lost for some odd reason. What do you do? How do you find that thread of reason that you can start to draw on to help you successfully debug your application and get it sorted out?Well, recently I’ve begun to compile a list of questions to ask yourself. Have a look at the started list:
Now it’s not complete, not by a long stretch and that’s intentional. I’m only kicking off the discussion to see where it goes. I want your thoughts, your opinions, your ideas. What do you do, that you think others here in the community can benefit from?
What’s that little gem of an idea, novel approach, bash script or link that you use? Drop in a comment or send a tweet. I’m keen to hear your thoughts and ideas.
If you liked what you read and would like to see more, please retweet it, or give it a like on Facebook or even give it some Digg love. And we always value you feedback and comments.
If you're new to or migrating to the Zend Framework this book will help you get up and running quickly.
Whether you're completely new to Zend Framework, have experience in PHP or other MVC-based frameworks, this book will teach you what you need to know to successfully develop applications with Zend Framework 2. Register your interest TODAY to get your copy of the book when it's released in April
Why Kohana is an Excellent Alternative to Zend Framework
20 Jul 2012

Writing a simple blog with Zend Framework and mongoDB
07 Nov 2010

Zend Framework 2 Event Manager – A Gentle Introduction
15 Jan 2013

Zend Form Mastery with Zend Config – Part 1 Custom Filter Paths
27 Apr 2012
I like that you start by checking the logs. I have seen to many developers struggle with bugs when the answer has been in the error_log from the beginning.
If an application stop working suddenly, I would check if anything got updated recently.
If you have unit tests, you should run them and see if they turn out anything. Good unit tests should point you in the right direction. Another option is to try debugging your application.
- spam
- offensive
- disagree
- off topic
LikeEric, I completely agree. All too often, when I'm working with developers or mentoring, the error_log is completely overlooked, or there's insufficient debugging information written out in the application -- at an appropriate level. I'm beginning to wonder if it's becoming a lost, or dying, practice.
I also agree with your point about re-running tests to find if there's been any regression in a recent change. Definitely one of the best ways to find out quickly. What continuous integration server do you use? I'm considering moving to Jenkins after hearing Sebastian Bergmann speak about it so highly at PHP London earlier in the year.
Mind if I add your points about Unit testing to the list?
- spam
- offensive
- disagree
- off topic
LikeAt work we do not use continuous integration yet. I have played with Jenkins and I love it. I will be giving a short presentation on CI next week at the office. Hopefully it will get people interested in it. I also wrote a blog post about installing and configuring Jenkins.
Yes, you can add unit testing to your list.
- spam
- offensive
- disagree
- off topic
LikeEric,
all the best with the presentation. Hope that it goes well. I’ll check out your post on it shortly.
Matt
- spam
- offensive
- disagree
- off topic
LikeEric,
How did the CI presentation go? Did the team come on board to the idea, or did you have some negative sentiment to the proposal?
Matt
- spam
- offensive
- disagree
- off topic
LikeHey Matt,
It went pretty good. We need to start implementing it. But we have a long way to go.
We had some people from the team at an other office looking at the presentation. In 2 weeks someone from there should present about Bamboo. So we will have a comparison between Jenkins and Bamboo. It should be interesting.
- spam
- offensive
- disagree
- off topic
Like