Type feedback tool?
M.-A. Lemburg
mal at egenix.com
Mon Oct 27 06:50:22 EDT 2008
On 2008-10-26 13:54, Martin Vilcans wrote:
> Hi list,
>
> I'm wondering if there's a tool that can analyze a Python program
> while it runs, and generate a database with the types of arguments and
> return values for each function. In a way it is like a profiler, that
> instead of measuring how often functions are called and how long time
> it takes, it records the type information. So afterwards, when I'm
> reading the code, I can go to the database to see what data type
> parameter "foo" of function "bar" typically has. It would help a lot
> with deciphering old code.
>
> When I googled this, I learned that this is called "type feedback",
> and is used (?) to give type information to a compiler to help it
> generate fast code. My needs are much more humble. I just want a
> faster way to understand undocumented code with bad naming.
You could try the trace module:
http://www.python.org/doc/2.5.2/lib/module-trace.html
but I'm not sure whether that includes parameter listings.
Or write your own tracing function and then plug it into your
application using sys.settrace():
http://www.python.org/doc/2.5.2/lib/debugger-hooks.html#debugger-hooks
The frame object will have the information you need:
http://www.python.org/doc/2.5.2/ref/types.html#l2h-143
in f_locals.
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, Oct 27 2008)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
More information about the Python-list
mailing list