• Volker-Weissmann's avatar
    Fix cygdb (GH-3542) · afcc6040
    Volker-Weissmann authored
    * Cython debugger documentation: Added link to an installation script.
    * Got a new libpython.py from the cpython source distribution.
    * Default language level in tests is now 3 instead of 2
    * Migrated codefile from python 2 to python 3.
    * Added testcase for the cy list command in cygdb.
    * Temporarily removing test case that freezes gdb.
    * Fixed a bug that broke several Cygdb tests.
    
    The cython_debug/cython_debug_info_* files map the names of the C-functions generated by the Cython compiler to the names of the functions in the *.pyx source. If the function was defined using "def" (and not "cpdef" or "cdef") in the *.pyx source file, the C-function named in cython_debug/cython_debug_info_* used to be __pyx_pw_*, which is the name of the wrapper function and now it is __pyx_f_*, which is the name of the actual function. This makes some Cygdb tests pass that did not pass before.
    
    * Better error messages: If a cygdb command raises, a traceback will be printed.
    * Fixed a bug in cygdb.
    
    The following now works:
    1. Start cygdb
    2. Type "cy exec" and hit enter
    3. Type some other lines
    4. Type "end" and hit enter.
    -> These "other lines" will get executed
    
    * Fixed a bug in cygdb: cy list now works outside of functions.
    * Added print_hr_allmarkers function for easier debugging.
    * Fixed a bug that broke cygdb:
    
    cy break did not work if you put the breakpoint outside of a function if there was e.g. the following somewhere in your *.pyx file:
    cdef class SomeClass():
        pass
    
    * Added a Cygdb test for printing global variables.
    * Fixing cygdb: Replaced cy print with a simple, working solution.
    * If an exception in Cygdb occurs, a stacktrace will be printed.
    * Fixed a bug that broke cy break -p
    * Bugfix: The compiler now writes out correctly which cython linenumber and path corresponds to which c linenumber.
    * Set language_level=2 in runtests.py
    afcc6040
test_libcython_in_gdb.py 17.6 KB