graph LR
Core_Debugger_Engine["Core Debugger Engine"]
CLI_Application_Entry_Point["CLI Application Entry Point"]
Debugging_Session_Initiators["Debugging Session Initiators"]
Configuration_Management["Configuration Management"]
System_Exception_Handler["System Exception Handler"]
CLI_Application_Entry_Point -- "calls" --> Core_Debugger_Engine
Debugging_Session_Initiators -- "calls" --> Core_Debugger_Engine
Core_Debugger_Engine -- "uses" --> Configuration_Management
Debugging_Session_Initiators -- "calls" --> System_Exception_Handler
The ipdb debugger's architecture is centered around a Core Debugger Engine that manages the debugging environment. The CLI Application Entry Point serves as the primary interface for command-line usage, orchestrating the debugging session. Various Debugging Session Initiators provide flexible ways to start and control debugging, including post-mortem analysis via the System Exception Handler. Configuration settings are managed by the Configuration Management component, which is integrated within the init.py module and provides essential settings to the Core Debugger Engine. This design ensures a modular yet cohesive system for interactive debugging.
Encapsulates the fundamental logic for creating and managing the ipdb debugger instance. This includes selecting the appropriate debugger class (e.g., Ipdb, Pdb) and applying initial configuration settings, thereby establishing the core debugging environment.
Related Classes/Methods:
The primary entry point for ipdb when invoked as a command-line tool. It is responsible for parsing command-line arguments, setting up the execution environment, and orchestrating the main debugging loop, including handling program restarts and post-mortem debugging on exceptions.
Related Classes/Methods:
Provides various mechanisms to initiate and control debugging sessions at different points in a program's execution. This includes setting trace points, launching post-mortem debugging after an exception, and executing arbitrary code or functions under debugger control.
Related Classes/Methods:
ipdb.__init__.set_traceipdb.__init__.post_mortemipdb.__init__.pmipdb.__init__.runipdb.__init__.runcallipdb.__init__.runeval
Manages the loading, parsing, and unified access of ipdb's configuration settings, primarily through the get_context_from_config function. It handles reading configuration and providing these settings to other components.
Related Classes/Methods:
Integrates ipdb with Python's system-wide exception handling mechanism. This allows the debugger to be automatically invoked when an unhandled exception occurs, facilitating post-mortem analysis.
Related Classes/Methods: