Apr 10, 2012

Indigo, Codan and NetBurner

I was interested in upgrading to the Eclipse/CDT Indigo release from my current Galileo release. I use Eclipse/CDT  for my NetBurner development. Helios didn't work too well with NetBurner so I skipped it. Galileo works without any problems but I was interested in exploring the new Code Analysis and Refactoring features of Codan that I believe started in the Helios release.

NetBurner is working on new Indigo plug-ins and I able to test a beta release. Indigo is working better than Helios with these new plugins but there are still issues with the Run Configuration process. With any luck the final versions of the plug-ins will address this (see Update below). In the meantime I just used AutoUpdate from the toolbar to download code. I don't know of a work-around for using the debugger.

SNAGHTML5817fb6I started with the Indigo/CDT release. I kept getting various out-of-memory errors and pushing up the memory allocation didn't help. Eventually, I disabled the Mylyn and Usage Gathering plug-ins (I suspect it was Mylyn that was the problem but I have no proof) and things went much smoother.

Codan

SNAGHTML5599bddThere is a lot to like about Codan (especially if you don't lint your code) but there is one thing I don't like. The "errors" that Codan raises look just like true compiler errors so it can be rather disconcerting to see that your previously good code looks like it doesn't compile. It does, but the Problems pane is full of errors. This will not be good when you want to separate the real compiler errors from the Codan errors. You can set at a fairly fine level what is an error, warning or information setting, but still I would have preferred a new error icon (maybe along the lines of the blue bug that shows up when you violate naming conventions.

Where did size_t go?

There is an issue with using Codan and the NetBurner tool chain. The analysis indexer was unable to automatically find stddef.h, so all my usages of size_t were throwing errors. If size_t was a parameter of a method the errors could cascade. This was seriously hampering the usefulness of the tool. It took a while to solve but eventually with a little help from StackOverflow  I was able to solve the problem by adding the hard coded path to the stddef.h file to the indexer as shown:

SNAGHTML5701ed2

Refactoring in the future

There look to bet six basic refactorings, including rename and extract method (two that I use a lot). I hope to write a future post on how well these work.

Update

SNAGHTMLa8e5547I just got a second beta release of the 2.6.0 NetBurner plugins and they appear to be close to flawless. Using the new NetBurner Coldfire Launcher area shown in the image I was able to create new Run configurations and use them with no problem. I am not sure what the error at the top of the dialog means but it didn't appear to have any negative effect on the process.  I have tested both the factory demo programs for the 5270 and 5272 as well as several of my own projects including the unit testing framework and everything appears to work well. You will notice that Codan will flag some errors in the factory demos and it's safe to delete the unused forward declarations and add the suggested break statement.

I also discovered that a new eclipse.ini setting helped with some PermGen errors I was getting I upped the PermGen setting 512M with this addition

-XX:MaxPermSize=512M

About Me

My photo
Tod Gentille (@todgentille) is now a Curriculum Director for Pluralsight. He's been programming professionally since well before you were born and was a software consultant for most of his career. He's also a father, husband, drummer, and windsurfer. He wants to be a guitar player but he just hasn't got the chops for it.