Pencils Down

This weblog is about my experiences in software development

Browsing Posts tagged Debugging

Wow! This statement is in the introductory section of an online python training manual.

1 – don’t use a debugger, huh?
2 – use print statements, kind of ok
3 – write in small increments, yes

Nothing about using some kind of testing for your development. Why not push new users into some kind of test driven development and/or agile path?

Just got this (while trying to create history records of a set)

The error occurs because an attempt was made to store the exact same Collection object more than once (possibly in multiple objects).

In my case I just attempted to copy the collection out of the real object into the history object.

I think this is enforcement of the not allowing multiple inheritance in Java. Also, not sure how this would work at the database level

Take your favorite site with images.  Load the same site on IE and FF.  Compare.  The images on FF are lighter – a slight foggy effect.

Long term client asked why their logo was all foggy.  Odd, since it hasn’t changed in months.  Didn’t notice the change until I compared browsers.

Any ideas?

After chasing down a PERMGEN error deploying/running a site on oc4j for a while I did the smarter thing and did something else for a while. Of course it doesn’t help that the top N google hits for “PERMGEN” aren’t even from Oracle/Java.  So, you get all sorts if interesting advice for changes to Java memory management.

Then it occurred to be: the site was working fine before a recent set of changes, maybe something got broken?

Even better, it had to be some kind of configuration setting that was wrong, incorrect, bad.  Any pure coding/linking error would have been more specific.  I was betting config errors were buried in the oc4j logging somewhere and only the resultant “PERMGEN” showed up.

Turns out a couple of items were off in the config XMLs for the project: missing setters for injections, not including a new hibernate mapping file in the list of mappings.  (I think that was the killer).

Took under 10 minutes to fix these things and everything started working again.

I really don’t like oc4j.

Ok, so the Spring Framework allows for a high level of code re-use.  Great.

You use simple XML files to layout the flow of applications in Spring.  This allows for easy configuration of systems.  Great.

You now have a high amount of very atomic code/routines that are put together as needed to implement specific functions.  However, if something goes wrong you can not easily find the problem.  Again, due to the large amount of atomic, small routines that have been pasted together.

Log files are likely useless, as they will point out what happens at the lower level.

The only thing we have found is to log ‘events’ as specially executed code functions at the XML, config layer so we trap the higher level functions attempted to be performed at a specific time.

Other ideas would be great.