Debugging and profiling
***********************

Αυτές οι βιβλιοθήκες σας βοηθούν στην ανάπτυξη με την Python: ο
αποσφαλματωτής (debugger) σας επιτρέπει να εκτελείτε τον κώδικα βήμα
προς βήμα, να αναλύετε στοίβες κλήσεων και να ορίζετε σημεία διακοπής
κ.ά., ενώ τα εργαλεία ανάλυσης απόδοσης εκτελούν τον κώδικα και σας
παρέχουν λεπτομερή ανάλυση των χρόνων εκτέλεσης, επιτρέποντάς σας να
εντοπίσετε σημεία συμφόρησης στα προγράμματά σας. Τα συμβάντα ελέγχου
παρέχουν ορατότητα στις συμπεριφορές κατά τον χρόνο εκτέλεσης, οι
οποίες διαφορετικά θα απαιτούσαν παρεμβατική αποσφαλμάτωση ή
επιδιόρθωση.

* Audit events table

* "bdb" --- Debugger framework

* "faulthandler" --- Dump the Python traceback

  * Dumping the traceback

  * Dumping the C stack

    * C Stack Compatibility

  * Fault handler state

  * Dumping the tracebacks after a timeout

  * Dumping the traceback on a user signal

  * Issue with file descriptors

  * Example

* "pdb" --- The Python Debugger

  * Command-line interface

  * Debugger commands

* "profiling" --- Python profilers

  * Introduction to profiling

  * Choosing a profiler

    * When to use statistical sampling

    * When to use deterministic tracing

  * Quick start

    * Statistical profiling

    * Deterministic profiling

  * Understanding profile output

  * Legacy compatibility

    * "profiling.tracing" --- Deterministic profiler

      * What is deterministic profiling?

      * Command-line interface

      * Programmatic usage examples

        * Basic profiling

        * Using the "Profile" class

      * Module reference

      * Using a custom timer

      * Limitations

    * "profiling.sampling" --- Statistical profiler

      * What is statistical profiling?

        * How time is estimated

        * When to use a different approach

      * Quick examples

      * Commands

        * The "run" command

        * The "attach" command

        * The "dump" command

        * The "replay" command

        * Profiling in production

        * Platform requirements

        * Version compatibility

      * Sampling configuration

        * Sampling rate and duration

        * Thread selection

        * Blocking mode

        * Special frames

        * Opcode-aware profiling

        * Real-time statistics

        * Subprocess profiling

        * Sampling efficiency

      * Profiling modes

        * Wall-clock mode

        * CPU mode

        * Comparing wall-clock and CPU profiles

        * GIL mode

        * Exception mode

      * Output formats

        * pstats format

        * Collapsed stacks format

        * Flame graph format

          * Differential flame graphs

        * Gecko format

        * Heatmap format

        * Binary format

      * Record and replay workflow

      * Live mode

        * Keyboard commands

      * Async-aware profiling

        * Async modes

        * Task markers and stack reconstruction

        * Option restrictions

      * Command-line interface

        * Global options

        * Dump options

        * Sampling options

        * Mode options

        * Output options

        * pstats display options

        * Run command options

* "pstats" --- Statistics for profilers

  * Reading and displaying profile data

    * Working with statistics

    * Filtering output

    * Analyzing call relationships

    * Combining multiple profiles

  * The "Stats" class

  * Command-line interface

* "timeit" --- Μέτρηση χρόνου εκτέλεσης μικρών αποσπασμάτων κώδικα

  * Basic examples

  * Python interface

  * Command-line interface

  * Παραδείγματα

* "trace" --- Ιχνηλάτηση ή παρακολούθηση εκτέλεσης εντολών Python

  * Οδηγίες χρήσης γραμμής εντολών

    * Κύριες επιλογές

    * Τροποποιητές

    * Φίλτρα

  * Προγραμματιστική διεπαφή

* "tracemalloc" --- Trace memory allocations

  * Examples

    * Display the top 10

    * Compute differences

    * Get the traceback of a memory block

    * Pretty top

      * Record the current and peak size of all traced memory blocks

  * API

    * Functions

    * DomainFilter

    * Filter

    * Frame

    * Snapshot

    * Statistic

    * StatisticDiff

    * Trace

    * Traceback
