PATH:
usr
/
share
/
doc
/
python-docs-2.7.5
/
html
/
_sources
/
library
:mod:`trace` --- Trace or track Python statement execution ========================================================== .. module:: trace :synopsis: Trace or track Python statement execution. **Source code:** :source:`Lib/trace.py` -------------- The :mod:`trace` module allows you to trace program execution, generate annotated statement coverage listings, print caller/callee relationships and list functions executed during a program run. It can be used in another program or from the command line. .. _trace-cli: Command-Line Usage ------------------ The :mod:`trace` module can be invoked from the command line. It can be as simple as :: python -m trace --count -C . somefile.py ... The above will execute :file:`somefile.py` and generate annotated listings of all Python modules imported during the execution into the current directory. .. program:: trace .. cmdoption:: --help Display usage and exit. .. cmdoption:: --version Display the version of the module and exit. Main options ^^^^^^^^^^^^ At least one of the following options must be specified when invoking :mod:`trace`. The :option:`--listfuncs <-l>` option is mutually exclusive with the :option:`--trace <-t>` and :option:`--counts <-c>` options . When :option:`--listfuncs <-l>` is provided, neither :option:`--counts <-c>` nor :option:`--trace <-t>` are accepted, and vice versa. .. program:: trace .. cmdoption:: -c, --count Produce a set of annotated listing files upon program completion that shows how many times each statement was executed. See also :option:`--coverdir <-C>`, :option:`--file <-f>` and :option:`--no-report <-R>` below. .. cmdoption:: -t, --trace Display lines as they are executed. .. cmdoption:: -l, --listfuncs Display the functions executed by running the program. .. cmdoption:: -r, --report Produce an annotated list from an earlier program run that used the :option:`--count <-c>` and :option:`--file <-f>` option. This does not execute any code. .. cmdoption:: -T, --trackcalls Display the calling relationships exposed by running the program. Modifiers ^^^^^^^^^ .. program:: trace .. cmdoption:: -f, --file=<file> Name of a file to accumulate counts over several tracing runs. Should be used with the :option:`--count <-c>` option. .. cmdoption:: -C, --coverdir=<dir> Directory where the report files go. The coverage report for ``package.module`` is written to file :file:`{dir}/{package}/{module}.cover`. .. cmdoption:: -m, --missing When generating annotated listings, mark lines which were not executed with ``>>>>>>``. .. cmdoption:: -s, --summary When using :option:`--count <-c>` or :option:`--report <-r>`, write a brief summary to stdout for each file processed. .. cmdoption:: -R, --no-report Do not generate annotated listings. This is useful if you intend to make several runs with :option:`--count <-c>`, and then produce a single set of annotated listings at the end. .. cmdoption:: -g, --timing Prefix each line with the time since the program started. Only used while tracing. Filters ^^^^^^^ These options may be repeated multiple times. .. program:: trace .. cmdoption:: --ignore-module=<mod> Ignore each of the given module names and its submodules (if it is a package). The argument can be a list of names separated by a comma. .. cmdoption:: --ignore-dir=<dir> Ignore all modules and packages in the named directory and subdirectories. The argument can be a list of directories separated by :data:`os.pathsep`. .. _trace-api: Programmatic Interface ---------------------- .. class:: Trace([count=1[, trace=1[, countfuncs=0[, countcallers=0[, ignoremods=()[, ignoredirs=()[, infile=None[, outfile=None[, timing=False]]]]]]]]]) Create an object to trace execution of a single statement or expression. All parameters are optional. *count* enables counting of line numbers. *trace* enables line execution tracing. *countfuncs* enables listing of the functions called during the run. *countcallers* enables call relationship tracking. *ignoremods* is a list of modules or packages to ignore. *ignoredirs* is a list of directories whose modules or packages should be ignored. *infile* is the name of the file from which to read stored count information. *outfile* is the name of the file in which to write updated count information. *timing* enables a timestamp relative to when tracing was started to be displayed. .. method:: run(cmd) Execute the command and gather statistics from the execution with the current tracing parameters. *cmd* must be a string or code object, suitable for passing into :func:`exec`. .. method:: runctx(cmd, globals=None, locals=None) Execute the command and gather statistics from the execution with the current tracing parameters, in the defined global and local environments. If not defined, *globals* and *locals* default to empty dictionaries. .. method:: runfunc(func, *args, **kwds) Call *func* with the given arguments under control of the :class:`Trace` object with the current tracing parameters. .. method:: results() Return a :class:`CoverageResults` object that contains the cumulative results of all previous calls to ``run``, ``runctx`` and ``runfunc`` for the given :class:`Trace` instance. Does not reset the accumulated trace results. .. class:: CoverageResults A container for coverage results, created by :meth:`Trace.results`. Should not be created directly by the user. .. method:: update(other) Merge in data from another :class:`CoverageResults` object. .. method:: write_results([show_missing=True[, summary=False[, coverdir=None]]]) Write coverage results. Set *show_missing* to show lines that had no hits. Set *summary* to include in the output the coverage summary per module. *coverdir* specifies the directory into which the coverage result files will be output. If ``None``, the results for each source file are placed in its directory. A simple example demonstrating the use of the programmatic interface:: import sys import trace # create a Trace object, telling it what to ignore, and whether to # do tracing or line-counting or both. tracer = trace.Trace( ignoredirs=[sys.prefix, sys.exec_prefix], trace=0, count=1) # run the new command using the given tracer tracer.run('main()') # make a report, placing output in the current directory r = tracer.results() r.write_results(show_missing=True, coverdir=".")
[+]
..
[-] fpformat.txt
[edit]
[-] string.txt
[edit]
[-] aetypes.txt
[edit]
[-] textwrap.txt
[edit]
[-] codecs.txt
[edit]
[-] array.txt
[edit]
[-] urllib2.txt
[edit]
[-] pickle.txt
[edit]
[-] 2to3.txt
[edit]
[-] ossaudiodev.txt
[edit]
[-] markup.txt
[edit]
[-] sha.txt
[edit]
[-] stat.txt
[edit]
[-] itertools.txt
[edit]
[-] numeric.txt
[edit]
[-] gzip.txt
[edit]
[-] pkgutil.txt
[edit]
[-] subprocess.txt
[edit]
[-] token.txt
[edit]
[-] debug.txt
[edit]
[-] dummy_thread.txt
[edit]
[-] mimify.txt
[edit]
[-] bastion.txt
[edit]
[-] popen2.txt
[edit]
[-] autogil.txt
[edit]
[-] importlib.txt
[edit]
[-] io.txt
[edit]
[-] msilib.txt
[edit]
[-] development.txt
[edit]
[-] hotshot.txt
[edit]
[-] constants.txt
[edit]
[-] curses.ascii.txt
[edit]
[-] os.txt
[edit]
[-] easydialogs.txt
[edit]
[-] mutex.txt
[edit]
[-] md5.txt
[edit]
[-] stdtypes.txt
[edit]
[-] bz2.txt
[edit]
[-] imgfile.txt
[edit]
[-] aetools.txt
[edit]
[-] internet.txt
[edit]
[-] xml.dom.pulldom.txt
[edit]
[-] cookie.txt
[edit]
[-] sunau.txt
[edit]
[-] archiving.txt
[edit]
[-] modules.txt
[edit]
[-] base64.txt
[edit]
[-] ttk.txt
[edit]
[-] tty.txt
[edit]
[-] cookielib.txt
[edit]
[-] pydoc.txt
[edit]
[-] misc.txt
[edit]
[-] fm.txt
[edit]
[-] whichdb.txt
[edit]
[-] imghdr.txt
[edit]
[-] datatypes.txt
[edit]
[-] dis.txt
[edit]
[-] datetime.txt
[edit]
[-] userdict.txt
[edit]
[-] py_compile.txt
[edit]
[-] imputil.txt
[edit]
[-] xml.dom.minidom.txt
[edit]
[-] multiprocessing.txt
[edit]
[-] functools.txt
[edit]
[-] audioop.txt
[edit]
[-] language.txt
[edit]
[-] miniaeframe.txt
[edit]
[-] ssl.txt
[edit]
[-] copy_reg.txt
[edit]
[-] heapq.txt
[edit]
[-] syslog.txt
[edit]
[-] fileformats.txt
[edit]
[-] simplexmlrpcserver.txt
[edit]
[-] numbers.txt
[edit]
[-] pipes.txt
[edit]
[-] shutil.txt
[edit]
[-] zlib.txt
[edit]
[-] optparse.txt
[edit]
[-] allos.txt
[edit]
[-] custominterp.txt
[edit]
[-] windows.txt
[edit]
[-] dbm.txt
[edit]
[-] select.txt
[edit]
[-] time.txt
[edit]
[-] index.txt
[edit]
[-] undoc.txt
[edit]
[-] plistlib.txt
[edit]
[-] htmllib.txt
[edit]
[-] warnings.txt
[edit]
[-] functions.txt
[edit]
[-] argparse.txt
[edit]
[-] distutils.txt
[edit]
[-] macpath.txt
[edit]
[-] fnmatch.txt
[edit]
[-] tabnanny.txt
[edit]
[-] calendar.txt
[edit]
[-] jpeg.txt
[edit]
[-] zipimport.txt
[edit]
[-] unix.txt
[edit]
[-] chunk.txt
[edit]
[-] smtplib.txt
[edit]
[-] tokenize.txt
[edit]
[-] asynchat.txt
[edit]
[-] decimal.txt
[edit]
[-] cd.txt
[edit]
[-] pickletools.txt
[edit]
[-] statvfs.txt
[edit]
[-] gettext.txt
[edit]
[-] sqlite3.txt
[edit]
[-] imageop.txt
[edit]
[-] dl.txt
[edit]
[-] logging.handlers.txt
[edit]
[-] zipfile.txt
[edit]
[-] copy.txt
[edit]
[-] sched.txt
[edit]
[-] nis.txt
[edit]
[-] timeit.txt
[edit]
[-] weakref.txt
[edit]
[-] mailbox.txt
[edit]
[-] othergui.txt
[edit]
[-] sgmllib.txt
[edit]
[-] mimewriter.txt
[edit]
[-] email.charset.txt
[edit]
[-] mmap.txt
[edit]
[-] xmlrpclib.txt
[edit]
[-] robotparser.txt
[edit]
[-] xml.sax.reader.txt
[edit]
[-] hmac.txt
[edit]
[-] collections.txt
[edit]
[-] mimetools.txt
[edit]
[-] aifc.txt
[edit]
[-] modulefinder.txt
[edit]
[-] socketserver.txt
[edit]
[-] grp.txt
[edit]
[-] getopt.txt
[edit]
[-] __future__.txt
[edit]
[-] binascii.txt
[edit]
[-] symtable.txt
[edit]
[-] crypt.txt
[edit]
[-] email.encoders.txt
[edit]
[-] imaplib.txt
[edit]
[-] spwd.txt
[edit]
[-] wsgiref.txt
[edit]
[-] errno.txt
[edit]
[-] email-examples.txt
[edit]
[-] sun.txt
[edit]
[-] doctest.txt
[edit]
[-] resource.txt
[edit]
[-] asyncore.txt
[edit]
[-] curses.panel.txt
[edit]
[-] imp.txt
[edit]
[-] htmlparser.txt
[edit]
[-] thread.txt
[edit]
[-] posix.txt
[edit]
[-] repr.txt
[edit]
[-] macostools.txt
[edit]
[-] colorsys.txt
[edit]
[-] bdb.txt
[edit]
[-] stringio.txt
[edit]
[-] mm.txt
[edit]
[-] cgi.txt
[edit]
[-] math.txt
[edit]
[-] httplib.txt
[edit]
[-] urlparse.txt
[edit]
[-] aepack.txt
[edit]
[-] colorpicker.txt
[edit]
[-] binhex.txt
[edit]
[-] tk.txt
[edit]
[-] xml.txt
[edit]
[-] webbrowser.txt
[edit]
[-] contextlib.txt
[edit]
[-] types.txt
[edit]
[-] shelve.txt
[edit]
[-] platform.txt
[edit]
[-] readline.txt
[edit]
[-] locale.txt
[edit]
[-] sets.txt
[edit]
[-] macosa.txt
[edit]
[-] bisect.txt
[edit]
[-] email.parser.txt
[edit]
[-] xml.sax.txt
[edit]
[-] xml.etree.elementtree.txt
[edit]
[-] netrc.txt
[edit]
[-] new.txt
[edit]
[-] bsddb.txt
[edit]
[-] fl.txt
[edit]
[-] curses.txt
[edit]
[-] hashlib.txt
[edit]
[-] tarfile.txt
[edit]
[-] ftplib.txt
[edit]
[-] telnetlib.txt
[edit]
[-] macos.txt
[edit]
[-] multifile.txt
[edit]
[-] dbhash.txt
[edit]
[-] netdata.txt
[edit]
[-] fileinput.txt
[edit]
[-] python.txt
[edit]
[-] mac.txt
[edit]
[-] filesys.txt
[edit]
[-] scrolledtext.txt
[edit]
[-] compiler.txt
[edit]
[-] tkinter.txt
[edit]
[-] random.txt
[edit]
[-] mailcap.txt
[edit]
[-] fpectl.txt
[edit]
[-] fcntl.txt
[edit]
[-] ipc.txt
[edit]
[-] formatter.txt
[edit]
[-] profile.txt
[edit]
[-] xml.dom.txt
[edit]
[-] email.iterators.txt
[edit]
[-] logging.config.txt
[edit]
[-] rlcompleter.txt
[edit]
[-] idle.txt
[edit]
[-] gdbm.txt
[edit]
[-] ast.txt
[edit]
[-] someos.txt
[edit]
[-] cmd.txt
[edit]
[-] re.txt
[edit]
[-] docxmlrpcserver.txt
[edit]
[-] pdb.txt
[edit]
[-] rexec.txt
[edit]
[-] commands.txt
[edit]
[-] restricted.txt
[edit]
[-] crypto.txt
[edit]
[-] dumbdbm.txt
[edit]
[-] email.txt
[edit]
[-] linecache.txt
[edit]
[-] os.path.txt
[edit]
[-] cgitb.txt
[edit]
[-] _winreg.txt
[edit]
[-] carbon.txt
[edit]
[-] turtle.txt
[edit]
[-] xml.sax.handler.txt
[edit]
[-] json.txt
[edit]
[-] email.generator.txt
[edit]
[-] struct.txt
[edit]
[-] mhlib.txt
[edit]
[-] uuid.txt
[edit]
[-] threading.txt
[edit]
[-] mimetypes.txt
[edit]
[-] traceback.txt
[edit]
[-] filecmp.txt
[edit]
[-] sndhdr.txt
[edit]
[-] logging.txt
[edit]
[-] getpass.txt
[edit]
[-] dummy_threading.txt
[edit]
[-] abc.txt
[edit]
[-] shlex.txt
[edit]
[-] email.mime.txt
[edit]
[-] fractions.txt
[edit]
[-] email.header.txt
[edit]
[-] marshal.txt
[edit]
[-] symbol.txt
[edit]
[-] wave.txt
[edit]
[-] urllib.txt
[edit]
[-] queue.txt
[edit]
[-] operator.txt
[edit]
[-] compileall.txt
[edit]
[-] sysconfig.txt
[edit]
[-] quopri.txt
[edit]
[-] inspect.txt
[edit]
[-] xdrlib.txt
[edit]
[-] __builtin__.txt
[edit]
[-] ic.txt
[edit]
[-] signal.txt
[edit]
[-] dircache.txt
[edit]
[-] rfc822.txt
[edit]
[-] glob.txt
[edit]
[-] stringprep.txt
[edit]
[-] tix.txt
[edit]
[-] i18n.txt
[edit]
[-] email.util.txt
[edit]
[-] anydbm.txt
[edit]
[-] code.txt
[edit]
[-] __main__.txt
[edit]
[-] difflib.txt
[edit]
[-] unicodedata.txt
[edit]
[-] sunaudio.txt
[edit]
[-] msvcrt.txt
[edit]
[-] site.txt
[edit]
[-] codeop.txt
[edit]
[-] uu.txt
[edit]
[-] winsound.txt
[edit]
[-] smtpd.txt
[edit]
[-] al.txt
[edit]
[-] user.txt
[edit]
[-] poplib.txt
[edit]
[-] nntplib.txt
[edit]
[-] keyword.txt
[edit]
[-] ctypes.txt
[edit]
[-] socket.txt
[edit]
[-] simplehttpserver.txt
[edit]
[-] sys.txt
[edit]
[-] pyexpat.txt
[edit]
[-] configparser.txt
[edit]
[-] persistence.txt
[edit]
[-] trace.txt
[edit]
[-] runpy.txt
[edit]
[-] csv.txt
[edit]
[-] test.txt
[edit]
[-] framework.txt
[edit]
[-] gc.txt
[edit]
[-] cmath.txt
[edit]
[-] exceptions.txt
[edit]
[-] pyclbr.txt
[edit]
[-] sgi.txt
[edit]
[-] parser.txt
[edit]
[-] future_builtins.txt
[edit]
[-] pwd.txt
[edit]
[-] strings.txt
[edit]
[-] frameworks.txt
[edit]
[-] email.message.txt
[edit]
[-] cgihttpserver.txt
[edit]
[-] intro.txt
[edit]
[-] email.errors.txt
[edit]
[-] pprint.txt
[edit]
[-] pty.txt
[edit]
[-] xml.sax.utils.txt
[edit]
[-] posixfile.txt
[edit]
[-] tempfile.txt
[edit]
[-] termios.txt
[edit]
[-] gl.txt
[edit]
[-] gensuitemodule.txt
[edit]
[-] atexit.txt
[edit]
[-] basehttpserver.txt
[edit]
[-] unittest.txt
[edit]