Hrm… I’m busy trying to step through an application to find out why its not creating an object it needs and there are two things that are frustrating me. Firstly, the object I’m looking for should be created and added to a collection at some point in a deep nest of methods. Now since I didn’t write it I’m not sure where exactly it should be created, and that’s where the troubles begin. I now have to step through the code line by line and there are thousands of lines. That alone would be fairly manageable except that there are about 25 objects involved in handling this process and they’re all calling eachother or base class methods of their own, or invoking methods on objects that are cast as more generic objects. So I end up with this “tangled mess” of methods, collections and objects which is a nightmare to sort out. There MUST be an easier (more intuitive) way to debug code. I know I’m looking for a method which modifies a “Join” object, which has a reference to a “Language” and a “Person” object. I’d love to be able to run the app, and then run some kind of “Select” statement on what just ran to say something like:
SELECT * FROM Methods WHERE Object="Join" AND Property["Join.Left"]="Language" AND Property["Join.Right"]="Person"
That could then fast forward through the “execution plan” to show me exactly where in the code any matching methods were found. It could even have a funky 3D display with the various heirarchies of methods/properties calling methods/properties… But I guess that would need a fairly powerful pc to operate on, and mine is certainly not that powerful.
Which brings me to the second point. I keep stepping over code that I should have stepped through which then modifies things enough that I can’t simply drag the execution point back and step into the code, so I have to re-start the app. This takes about 4-5 minutes each time. Now that’s a waste of time if ever I’ve seen one.
Recently some bloggers (Don who links to Doug & Julia on the same topic) were talking about the specs for a development machine… Mine is less than 1/2 as powerful as any of Don’s specs. I wonder how much money would be saved with a faster PC? I should also say that I have one of the faster PC’s in our team (Its a Celeron 1.1gig). Although recently 2 of the team members got new machines which have cpu’s of over 2gigs, but their memory is only 256mb, which is a pitty. There’s not much chance that I’ll get a new PC in the near future, so I guess I better “deal with it”. 🙁