Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Table of Contents
BackCover
Software Exorcism - A Handbook for Debugging and Optimizing Legacy Code
Introduction
Audience
Organization
Typographical Conventions
Prerequisites
Chapter 1: Preventative Medicine
1.1 Core Problems
1.2 Defensive Programming
1.3 Unit Testing
1.4 Tool Configuration
1.5 Machine Dependencies
1.6 Summary
Chapter 2: Debugging Tactics
2.1 Initial Steps
2.2 Resolving the Bug: Quick Fixes
2.3 Resolving the Bug: The Scientific Method
2.4 Record Keeping
2.5 Summary
Chapter 3: Understand the Problem
3.1 How Knowledge Is Lost
3.2 Poorly Written Code
3.3 Reverse Engineering
3.4 Summary
Chapter 4: Debugger Internals
4.2 Symbolic Debugger Extensions
4.3 Countertactics
4.4 Summary
Chapter 5: Optimization: Memory Footprint
5.1 Forgotten History
5.2 Program Layout in Memory
5.3 Code Segment
5.4 Data Segment
5.5 Stack Segment
5.6 Heap
5.7 Summary
Chapter 6: Optimization: CPU Cycles
6.1 Program Control Jumps
6.2 Program Control Branching
6.3 Program Control Loops
6.4 Memory Management
6.5 Input/Output
6.6 Exceptions
6.7 Expensive Operations
6.8 Quick Fixes
6.9 Summary
6.10 Putting It All Together
Chapter 7: Final Words of Advice
7.1 Other Threats to Source Code Integrity
7.2 Maintaining a Paper Trail
7.3 History Repeats Itself
Index
Index_A
Index_B
Index_C
Index_D
Index_E
Index_F
Index_G
Index_H
Index_I
Index_J
Index_K
Index_L
Index_M
Index_N
Index_O
Index_P
Index_Q
Index_R
Index_S
Index_T
Index_U
Index_V
Index_W
Index_X
Index_Y
Index_Z
List of Figures
List of Tables
← Prev
Back
Next →
← Prev
Back
Next →