No Bugs! offers a revolutionary approach to software development by showing programmers how to write error-free code from the start. No Bugs! presents techniques to stop many kinds of bugs from being included in a prog ram. It also discusses how to test programs to find bugs.
No Bugs!: Delivering Error Free Code in C and C++
β Scribed by David Thielen
- Publisher
- Addison-Wesley Educational Publishers Inc
- Year
- 2009
- Tongue
- English
- Leaves
- 214
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
No Bugs! offers a revolutionary approach to software development by showing programmers how to write error-free code from the start. No Bugs! presents techniques to stop many kinds of bugs from being included in a prog ram. It also discusses how to test programs to find bugs.
β¦ Table of Contents
/......Page 3
Table Of Contents......Page 4
Update......Page 7
Preface......Page 8
Introduction......Page 11
Who this book is for......Page 13
No bugs......Page 14
Testing......Page 15
More Tricks......Page 16
What is a bug?......Page 18
Where bugs come from......Page 19
Tricks of the trade......Page 20
Create a list......Page 21
Debug code is read only......Page 23
Exercising code paths......Page 26
Forcing actions......Page 28
Rock-solid low-level functions......Page 30
/......Page 33
Debugging in conditional defines......Page 34
Comment your open Issues......Page 35
Keep it unobtrusive......Page 37
TestAll functions......Page 38
Restoring system state......Page 40
ENTER / EXIT logging......Page 42
Error Message file......Page 44
Filling buffers......Page 45
NULL pointers......Page 48
Prototyping including CONST......Page 49
CRC Checking......Page 50
Roll your Own......Page 51
Assert the World......Page 52
Assert to the rescue......Page 53
AssertBool......Page 55
AssertInt......Page 56
AssertStr......Page 57
Assert a structure......Page 58
Parameter validation......Page 62
Assert everything......Page 64
Debug Printfs......Page 66
Message Box......Page 67
Debug printf......Page 70
Conditional defines......Page 72
Using variables......Page 74
Stack Space......Page 77
The concepts behind the code......Page 83
Allocate some memory......Page 84
Be sure all freed......Page 95
EMS and XMS......Page 96
Handle tracking......Page 97
Expanded memory (EMS)......Page 102
Extended memory (XMS)......Page 106
Consistency checks......Page 107
Open......Page 108
Check handle-based calls......Page 111
Seek......Page 112
Read......Page 114
Write......Page 116
Close......Page 117
Override global new and delete......Page 120
Constructors and destructors......Page 122
Base class assert......Page 125
A debug class......Page 127
Trap and IntTest......Page 128
Checking registers......Page 130
Creating local variables......Page 134
Wrapping it all together......Page 137
Developers and testers......Page 138
Setting up the process......Page 139
The plan......Page 140
Automation......Page 141
Bug reporting......Page 142
The bug database......Page 143
The testing process......Page 146
White box testing......Page 147
Black box testing......Page 148
Designing the tests......Page 149
Running the tests......Page 150
Testing platforms......Page 151
The Beta Test......Page 153
When to beta......Page 155
Selecting beta sites......Page 157
Handling bug reports......Page 158
Shipping the Product......Page 160
To release or not to release......Page 161
Management......Page 162
Putting it all together......Page 163
Dire warning......Page 164
Bounds Checker......Page 165
MemCheck......Page 167
/Microsoft Test......Page 169
/Multiscope post-mortem debugger......Page 172
/Windows Dr. Watson......Page 173
Windows debug version......Page 174
RT-link......Page 175
Debuggers......Page 176
Periscope......Page 177
/Soft-Ice......Page 178
/Multiscope......Page 180
The End......Page 182
Debug Message Boxes......Page 184
Debug Second Monitor......Page 197
π SIMILAR VOLUMES
Advocating a style of C programming based upon data abstraction (classes) and run-time object verification, this book describes a technique that results in virtually bug-free code from the beginning. It details the key to writing bug-free code: the class methodology with run-time type checking. In s
Some simple constructive procedures are given for coding sequences of symbols to be transmitted over noisy channels. A message encoded by such a process transmits a positive amount of information over the channel, with an error probability which the receiver may set to be as small as it pleases,
"This book has useful things to say and an engaging way of saying them...a worthwhile addition to the shelves of any full-time programmer." - PC Week. Here, from a former Microsoft developer, are super secrets for developing bug-free C programs. Maguire provides examples of how bugs are caught at
"This book has useful things to say and an engaging way of saying them...a worthwhile addition to the shelves of any full-time programmer." - PC Week. Here, from a former Microsoft developer, are super secrets for developing bug-free C programs. Maguire provides examples of how bugs are caught at Mi