![]() |
Preface | ![]() |
This document was going to be entitled "The Art of Debugging II" in homage of the original, but I believe that this was an inaccurate title. I'd like to believe that debugging should not be thought of as a pseudo-mythical 'art', only practiced by the high mage muckety-mucks to something more substantial. The descent from a four or five page overview that the "Art of Debugging" provides, into a by-the-numbers description of debugging in laymans terms doesn't require vauge concepts, but hard facts, concrete examples and straightfoward answers. The system of arriving at the solution may be different for each person, but it is still a logical system. In short, it's a science.
This manual was specifically written for CircleMUD Admins and Programmers, and may contain terms and expressions which relate to that specifically. I'll try to keep the dependancies small.
As there is a dearth of to-be or would-be programmers who spring from their fathers head; full grown and wise in all things, there's surely a need for a Debugging manual among all the other 'How To' books. This particular How-To is devoted towards those with little debugging experience at all; starting with the basics like sourcing an error and logging and moving ahead to stack tracing and other advanced subjects..
The original "Art" also skiped some of the major points of software design and project management which directly affect debugging. Hopefully, we'll correct that here too, and make this a good reference for programmers and project administrators alike.
Keep in mind though, that while I start with the basics, for most of the technical topics, I do assume that you know the C (or C++) language, and understand terms such as "pointer", "dereference", "memory allocation", "segementation fault", and the sort. This is not a libram on programming, though I do include C source code to make examples.
If you were looking to get a leg up on software design, and do not yet know how to write code, you will have more than a rough time in those areas requiring it's knowledge. Though you may use this as a potentially helpful guide while learning the intracicies of the language, it will be far more useful to those already aware of it.
Not sure where you fit in?
Don't worry. Read until things stop making sense. I've tried to arrange the chapters so that the knowledge required
increases the further you read. If something stops making sense, just slow down, and ask yourself if the problem is your
understanding (of my poor writing style?) or that you don't yet understand enough that a given section will be valuable
to you. If it's the latter, at least you now know what you need to learn.
Of course, I did not prepare this text all on my own. I'd like to note that Henrik Stuart added a fairly clear
overview of the use of the Microsoft Visual Studio debugger, and was an able guide to some of it's more immediately
useful features. Heather Oliver provided me with some necessary graphics tututlage, as well as a very nice hug from
time to time.
If you have any questions, comments, complaints, suggestions, or corrections, please don't hesitate to contact me, and I'll try my best to answer them as they arrive (though, my 'update' schedules have never been ...timely.. to say the least)
![]() |
Index | ![]() |
Index | Contents |