graph LR
CLI_Core_Entry_Points["CLI & Core Entry Points"]
Debugger_Core_Engine["Debugger Core Engine"]
Configuration_Management["Configuration Management"]
IPython_Integration_Output_Handler["IPython Integration & Output Handler"]
System_Exception_Hook_Manager["System Exception Hook Manager"]
CLI_Core_Entry_Points -- "initiates" --> Debugger_Core_Engine
CLI_Core_Entry_Points -- "registers with" --> System_Exception_Hook_Manager
Debugger_Core_Engine -- "requests" --> Configuration_Management
Configuration_Management -- "provides to" --> Debugger_Core_Engine
IPython_Integration_Output_Handler -- "processes output from" --> Debugger_Core_Engine
click CLI_Core_Entry_Points href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ipdb/CLI_Core_Entry_Points.md" "Details"
click Debugger_Core_Engine href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ipdb/Debugger_Core_Engine.md" "Details"
click System_Exception_Hook_Manager href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ipdb/System_Exception_Hook_Manager.md" "Details"
The ipdb debugger's architecture centers around the CLI & Core Entry Points, which serves as the primary user interface for initiating debugging sessions. This component orchestrates the setup by initiating the Debugger Core Engine, the core logic responsible for managing the debugging environment. The Debugger Core Engine relies on Configuration Management to retrieve and apply settings that dictate debugger behavior. For robust error handling, the CLI & Core Entry Points registers with the System Exception Hook Manager to enable post-mortem debugging. Within the IPython environment, the IPython Integration & Output Handler plays a crucial role by processing output generated by the Debugger Core Engine, ensuring proper display and interaction specific to IPython.
CLI & Core Entry Points [Expand]
The primary interface for users to start debugging sessions, handling direct invocations and orchestrating initial debugger setup.
Related Classes/Methods:
Debugger Core Engine [Expand]
Encapsulates the fundamental logic for creating and managing the ipdb debugger instance, responsible for setting up the debugging environment.
Related Classes/Methods:
Manages the loading, parsing, and provision of ipdb's configuration settings, dictating debugger behavior and context.
Related Classes/Methods:
Manages ipdb's specific adaptations and interactions within the IPython environment, including standard output redirection and IPython-specific entry points.
Related Classes/Methods:
System Exception Hook Manager [Expand]
Responsible for intercepting system-level exceptions to automatically launch the debugger, ensuring unhandled errors can be debugged post-mortem.
Related Classes/Methods: