Limitations and Extensions:
The following functionality and limitations exist:
*Python version: Python 2.7, and Python 3.5 and above.
*Python compiled with debug information:
Debug information is required. If you are building your own Python version, the easiest way is to use the  ‑‑ with‑pydebug flag:
configure --with-pydebug
This option incorporates the -g option (debug information) and the -O0 option (no optimization). Optimizations can prevent TotalView from obtaining Python function, line, number, variable, or frame information, in which case it displays "Optimized out.” See Building and Using a Debug Version of Python for details on building a debug version of the interpreter.
For a pre-built Python distribution, check the documentation, installation guide and any configure files for information on how it was compiled.
*Python type support: Current support for Python types includes scalar types int, float, long, complex, str, and Numpy ndarray. Future support will include other sequence, mapping, and set types.
*Python extension technologies: Current support for the many Python extension technologies includes:
*SWIG to perform stack frame transformations
*ctypes to call functions in DLLs or shared libraries
*pybind11 for operability between C++11 and Python
Support for other Python extensions will be added to the product.
*Python distributions: Python debugging support has been tested on Python distributed with various operating systems. Support of the Enthought Python 3.5 distribution has also been validated. The Anaconda Python distribution is not supported due to the unavailability of debug information with the distribution.
If you have feedback or feature requests on Python debugging in TotalView, please let us know at https://totalview.io/support.