コンテンツにスキップ

未翻訳のページ

このページはまだ日本語に翻訳されていないため、英語の原文を表示しています。 翻訳に協力する

trace Module

The trace module provides tracing of program execution and coverage analysis, showing which lines of code are executed.

Complexity Reference

Operation Time Space Notes
Trace.run() O(n) O(n) n = bytecode instructions; significant overhead per line
Coverage analysis O(n) O(n) Track executed lines; stores line counts

Program Tracing

Basic Execution Tracing

import trace

def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n-1) + fibonacci(n-2)

# Create tracer - O(1)
tracer = trace.Trace(count=False, trace=True)

# Run with trace - O(n)
tracer.run('fibonacci(5)')

# Output shows each line executed

Coverage Analysis

import trace

def calculate(x, y):
    result = x + y
    unused = x * y  # This line might not execute
    return result

# Create coverage tracer - O(1)
tracer = trace.Trace(count=True, trace=False)

# Run - O(n)
tracer.run('calculate(2, 3)')

# Get results - O(1)
results = tracer.results()
results.write_results(show_missing=True)