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

이 라이브러리들은 파이썬 개발을 돕습니다: 디버거를 사용하면 코드를 단
계별로 실행하고, 스택 프레임을 분석하고, 중단 점을 설정할 수 있으며,
프로파일러는 코드를 실행하고, 프로그램의 병목 지점을 식별할 수 있도록
실행 시간을 자세하게 분석합니다. 감사 이벤트는 이것이 없다면 침입적인
디버깅이나 패치가 필요한 실행 시간 동작에 대한 가시성을 제공합니다.

* 감사 이벤트 표

* "bdb" --- 디버거 프레임워크

* "faulthandler" --- 파이썬 트레이스백 덤프

  * 트레이스백 덤프하기

  * Dumping the C stack

    * C Stack Compatibility

  * 결함 처리기 상태

  * 시간 초과 후에 트레이스백 덤프하기

  * 사용자 시그널에 트레이스백 덤프하기

  * 파일 기술자 관련 문제

  * 예제

* "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" --- 파이썬 문장 실행 추적

  * 명령 줄 사용법

    * 주요 옵션

    * 수정자

    * 필터

  * 프로그래밍 인터페이스

* "tracemalloc" --- 메모리 할당 추적

  * 예

    * 상위 10개 표시

    * 차이 계산

    * 메모리 블록의 트레이스백 얻기

    * 예쁜 탑(top)

      * 모든 추적한 메모리 블록의 현재 및 최대 크기를 기록

  * API

    * 함수

    * DomainFilter

    * Filter

    * Frame

    * Snapshot

    * Statistic

    * StatisticDiff

    * Trace

    * Traceback
