Description:
Debugging Windows Programs: Strategies, Tools, and Techniques for Visual C++ Programmers sounds like it might focus on using a debugger exclusively, but this book is actually a wide-ranging tour of how to write better, more robust Visual C++ code that can be debugged more easily. Mixing plenty of nuts-and-bolts tips with higher-level strategies for effective testing, Debugging Windows Programs offers plenty of valuable expertise for any working C++ programmer. The focus is on providing practical tips for more successful debugging, but many of the suggestions are for tweaking the way in which you write C++ code. Early sections examine how to take full advantage of assert statements (whether in C, MFC, or custom functions), which can be used to write safer code; trace statements, which are used to log debug messages, are covered, too. (Chances are that you haven't seen all of the APIs; luckily, they're rounded up for you here.) There are also numerous tips about C++ style, like how to choose readable variable names, along with the debugging dos and don'ts of working with errors, exceptions, COM objects, and threads. Chances are, even if you are an experienced Visual C++ programmer, you'll learn something useful about how to get more out of the C++ debugger from the last sections of this book. From the right compiler and linker switches (which can be mysterious) to how to customize watch variables by tweaking the configuration files in C++, you'll learn how to be more productive with this tool. The text concludes with another useful section, an FAQ-style listing of dozens of common debugging questions and answers. Although it's highly practical, the book also recommends thinking about your code, applying strategies for each aspect of debugging features consistently and effectively. The bottom line is that you not only will find bugs in present code, but also you'll design code that's easier to test and debug in the future. In all, Debugging Windows Programs delivers a good mix of practical tips and strategies that'll help C++ programmers create more robust (and testable) code. --Richard Dragan Topics covered: - The debugging and testing process
- Tips for writing better Visual C++ code
- Assertions (C, MFC, and custom assert statements)
- Logging output with trace statements (including trace APIs)
- Exception handling and debugging
- First-chance and last-chance exceptions
- Tips for better debugging in C++
- Naming conventions
- Postmortem
- Just-in-time (JIT) and remote debugging
| - Using map and .pdb files
- Compiler and linking options
- Debug windows
- Customizing the C++ debugging environment
- Basic and advanced debugging techniques
- Catching memory leaks with the debug heap
- Debugging multithreaded programs (including avoiding race conditions and deadlock)
- A primer for COM debugging
- Frequently asked questions and answers about debugging
| |
|