My kingdom for a debugger.

Mar 25, 2004 19:13


Okay, just for the geeks out there...Need to rant.



OKAY! Hi squeaky new programmer...We'll call you Q for now.. So Q is twenty-  and doesn't seem to know how to read anyone else's code. Heck, can't seem to use a debugger...*period*. Debugs by inserting printfs and re-running the code...it crashes...in exactly the same spot...oh well, add more printfs, and re-run. *WHAP WHAP WHAP* What the hell!?! If its only his code, it all seems to work, and there's a minimum of having to go in because some other part of the system gets broken. (Mostly because he doesn't use the system, he writes as much as he can in his own code space, re-implementing stuff) But he's *lost* anywhere else. I'm busy doing Foo..and he comes up, says Bar isn't working...

Cayne: What's wrong with it:

Q : Um, I don't know...its crashing in the middle of it.

Cayne: Well, seems to work on everyone else's box...what did you change in your code recently?

Q : My code is working fine...yours is busted over here.

Cayne: Okay, where abouts?

Q : I don't know.

Cayne: Is it stopped right now?

Q : Yes.

*goes over, looks at the crash, its in the middle of some random assembly code, he was running in debug..sure enough good, stack trace, hrrrm, yes, the upper level is in my stuff, but I made a call out to baz that he's working on and the stack dissapears after that point*

Cayne: Well, I'm calling with (click click type type) These parameters.

Q : Oh...okay.... *wanders off* *looks at it for a half hour or so*

Q : Um, Bar is still broken.

Cayne: Um, did you change Baz?

Q : Yes.

Cayne: And now, Bar is broken because Baz isn't expecting those inputs, so fix Bar...

Q : But Bar is broken, you were in there last week.

Cayne: And now I'm working on Foo...fix the bug.

Q : But what does Bar do...

Cayne: Dude...at that point its and called Baz to get the Now, if you've changed the way it likes its parameters, fix the call.

Q : Oh, okay...*45 minutes later...I'm done with Foo, and am working on RingWold, and suddenly everyone else is crashing in Bar, because Baz got checked in* Its still broken, and now everyone is stopped...

Cayne: Why did you check Baz in!?!

Q : Because it works.

Cayne: Um, dude...did you fix Bar?

Q : I'm still working on that...I'm trying to figure out what its doing.

Cayne: Dude...I told you what it was trying to do right there...just fix it... Let's see what you're up to. *over to  N 's computer again, nothing's changed...except a zillion printfs around* What the hell? *deletes printfs, oh shit, a bunch of code is gone...where did..any other changes in this file...undo checkout...* Okay, what did you change Foo to expect here to return for ?

Q : It doesn't do that anymore. It does .

Cayne: *BOGGLE* Um, okay...what does now?

Q : I didn't need it so I deleted it.

Cayne: *BOGGLE*...um....*source safe...grab old version...copy code...grab new version...add new function with old code and change Foo*

Q : Um, what are you doing?

Cayne: Putting back. I need it here unless you can think of a better way to get

Q : You can use and then do to get

Cayne: Or I can just put back. *save, compile, run...wait five minutes,  N is getting miffed,no crash, good'nuff for now checkin* Okay...EVERYONE GRAB Foo, and be on your merry way.

Q : But its not necessary any more. I took it out.

Cayne: I still need it, now if you want to really keep it out, change Bar so it can either deal without or hell, just leave it there... But you've got Wheefle to do.

Q : *POUT* *whine*

I *swear* a few of the other new guys aren't that much better. Good thing we can keep things compartmentalized so we don't often have to dabble in  Q 's code...or call into it for any reason. But I mean really....Something doesn't work in Release, when it works in Debug....um, are you using that variable before you initialize it? You know, the compiler prints out pretty warnings about that...Oh, and that memory you just allocated, it won't be full of zeroes unless you put them there. And speaking of allocating memory, why are you not using the library routines for it? It all eventually calls malloc yes, but if you use the wrappers, our memory instrumentation will work and we'll find the leaks. Why aren't your symbols showing up in Release...well, they've been optomized out...take a look at the assembly it should give you a clue... What, you can't...oh here..have a book to read this weekend. Its dry and dull, but get a bit familiar with it. You're gonna need it. Oh, the PS2 over there, its assembly is different...that's *this* book...

And this bozon is better than some of what comes straight out of school now-a-days. Hell, he's worked in the industry at other real places! And didn't get bad references apparently. WTF! The scary part, is that he's not the worst that's ever been here. Those guys didn't last their 3 months.

Previous post Next post
Up