[PJUG Javamail] debugging server-side code

Matt Reynolds mreynolds at loopysoft.com
Sun Aug 12 18:37:56 UTC 2007


> It was more than 4 years ago. Before Eclipse, before IDEA. Lots of
> things were primitive about app server development.  Of course that
> would lead some to argue that because of all the changes the
> experience is much improved and I should give it another try. I'm not
> disputing that it might be easier now, just that since I've given up
> reliance on the debugger, I have no desire to go back.
>
> Any case someone can find for claiming remote debugging is needed I
> can demonstrate a variety of ways that solve the problem and add
> lasting value to the system and development team's understanding of
> it.

I'm not saying the case can't be made for both better team  
understanding and also lasting value to the overall system.  My point  
focuses on the systems that don't work well with this style of work  
due to the cost of discovery and implementation.  The cost to  
implement this style (and the surrounding cases in the wiki page)  
seems to allow for time to rewrite, refactor, and properly test a  
component.  If you have tight coupling (and/or poor interfaces with  
poor/leaky encapsulation), the time I have to bug fix (a day?) is not  
enough to attack the problem in the manner suggested.  Just  
discovering the location of true behavior of the bug from the bug  
report can take several hours, let alone making the ailing component  
better.  Getting the time to properly address a systemic problem may  
be the core issue.  In most cases, myself/my boss/my team doesn't  
want to fix the old system any more than they have to, due to the  
fragility and rigid nature of the system, and subsequent fallout with  
even small changes.

Again, most of the legacy systems I've inherited have had these  
problem.  Systems where the team learned from their mistakes, wrote  
new systems/components that were well constructed, and created unit  
tests as part of that construction don't require a debugger.  The  
system doesn't have to be perfect, but monolithic legacy systems are  
hard to "not debug".

If you have suggestions on how to get rid of the debugger, I'd love  
to hear them.



More information about the Javamail mailing list