Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
THE ART OF DEBUGGING WITH GDB, DDD, AND ECLIPSE
PREFACE 1. SOME PRELIMINARIES FOR BEGINNERS AND PROS
Debugging Tools Used in This Book Programming Language Focus The Principles of Debugging
The Essence of Debugging: The Principle of Confirmation Of What Value Is a Debugging Tool for the Principle of Confirmation? Other Debugging Principles
Text-Based vs. GUI-Based Debugging Tools, and a Compromise Between Them
Brief Comparison of Interfaces
GDB: Plain Text DDD: a GUI Debugging Tool Eclipse: A GUI Debugger and Much More Eclipse vs. DDD Advantages of the GUIs Advantages of GDB The Bottom Line: Each Has Its Value
Compromises
GDB in TUI Mode CGDB
Main Debugger Operations
Stepping Through the Source Code Inspecting Variables Issuing an "All Points Bulletin" for Changes to a Variable Moving Up and Down the Call Stack
Online Help Introductory Debugging Session
The GDB Approach The Same Session in DDD The Session in Eclipse
Use of Startup Files
2. STOPPING TO TAKE A LOOK AROUND
Mechanisms for Pause Overview of Breakpoints Keeping Track of Breakpoints
Breakpoint Lists in GDB Breakpoint Lists in DDD Breakpoint Lists in Eclipse
Setting Breakpoints
Setting Breakpoints in GDB Setting Breakpoints in DDD Setting Breakpoints in Eclipse
Extended GDB Example Persistence of Breakpoints Deleting and Disabling Breakpoints
Deleting Breakpoints in GDB Disabling Breakpoints in GDB Deleting and Disabling Breakpoints in DDD Deleting and Disabling Breakpoints in Eclipse "Moving" Breakpoints in DDD Undoing/Redoing Breakpoint Actions in DDD
More on Viewing Breakpoint Attributes
GDB DDD Eclipse
Resuming Execution
In GDB
Single-stepping with step and next Resuming Program Execution with continue Resuming Program Execution with finish Resuming Program Execution with until
In DDD
Standard Operations Undo/Redo
In Eclipse
Conditional Breakpoints
GDB DDD Eclipse
Breakpoint Command Lists Watchpoints
Setting Watchpoints Expressions
3. INSPECTING AND SETTING VARIABLES
Our Main Example Code Advanced Inspection and Setting of Variables
Inspection in GDB Inspection in DDD Inspection in Eclipse Inspecting Dynamic Arrays
Solutions in GDB Solutions in DDD Solutions in Eclipse
What About C++? Monitoring Local Variables Examining Memory Directly Advanced Options for Print and Display
Setting Variables from Within GDB/DDD/Eclipse GDB's Own Variables
Making Use of the Value History Convenience Variables
4. WHEN A PROGRAM CRASHES
Background Material: Memory Management
Why Does a Program Crash? Program Layout in Memory The Notion of Pages Details on the Role of the Page Table A Slight Memory-Access Bug Might Not Cause a Seg Fault 4.1.6 Seg Faults and Unix Signals Other Types of Exceptions
Core Files
How Core Files Are Created Your Shell May Suppress the Creation of a Core File
Extended Example
First Bug Don't Leave GDB During a Debugging Session Second and Third Bugs Fourth Bug Fifth and Sixth Bugs
5. DEBUGGING IN A MULTIPLE-ACTIVITIES CONTEXT
Debugging Client/Server Network Programs Debugging Threaded Code
Review of Processes and Threads Basic Example A Variation GDB Threads Command Summary Threads Commands in DDD Threads Commands in Eclipse
Debugging Parallel Applications
Message-Passing Systems Shared-Memory Systems
True Shared Memory Software Distributed Shared-Memory Systems
Extended Example
OpenMP Overview OpenMP Example Program
6. SPECIAL TOPICS
What If It Doesn't Even Compile or Load?
Phantom Line Numbers in Syntax Error Messages Missing Libraries
Example Library Usage in Open Source Software
Debugging GUI Programs
Debugging Curses Programs
Using GDB Using DDD Using Eclipse
7. OTHER TOOLS
Making Good Use of a Text Editor
Syntax Highlighting Matching Brackets Vim and Makefiles Makefiles and Compiler Warnings Final Thoughts on a Text Editor as an IDE
Making Good Use of the Compiler Error Reporting in C
Using errno
Better Living with strace and ltrace Static Code Checkers: lint and Friends
How to Use splint Last Words
Debugging Dynamically Allocated Memory
Strategies for Detecting DAM Problems Electric Fence Debugging DAM Problems with GNU C Library Tools
The MALLOC_CHECK_ Environment Variable Using the mcheck() Facility Using mtrace() to Catch Memory Leaks and Double Frees
8. USING GDB/DDD/ECLIPSE FOR OTHER LANGUAGES
Java
TestLL.java
TestLL.java LinkedList.java Node.java
Direct Use of GDB for Debugging Java Using DDD with GDB to Debug Java Using DDD as a GUI for JDB Debugging Java in Eclipse
Perl
Debugging Perl via DDD Debugging Perl in Eclipse
Python
Debugging Python in DDD Debugging Python in Eclipse
Debugging SWIG Code Assembly Language
COLOPHON
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion