#13881: Enhanced debugging: cygdb and better backtraces
-------------------------------+--------------------------------------------
       Reporter:  vbraun       |         Owner:  GeorgSWeber 
           Type:  enhancement  |        Status:  needs_review
       Priority:  major        |     Milestone:  sage-5.6    
      Component:  build        |    Resolution:              
       Keywords:               |   Work issues:              
Report Upstream:  N/A          |     Reviewers:              
        Authors:               |     Merged in:              
   Dependencies:  #13669       |      Stopgaps:              
-------------------------------+--------------------------------------------
Changes (by vbraun):

  * status:  new => needs_review
  * dependencies:  => #13669


Old description:



New description:

 The purpose of these patches is to make cython emit debugging output
 (unless `SAGE_DEBUG=no` since it only costs some disk space) and run cygdb
 instead of gdb for `sage --gdb` if `SAGE_DEBUG=yes`. cydbg can be a bit
 slow to start up, but gives cython source-level debugging. For example:
 {{{
 [vbraun@volker-desktop sage-5.6.beta1]$ SAGE_DEBUG=yes ./sage -gdb
 ----------------------------------------------------------------------
 | Sage Version 5.6.beta1, Release Date: 2012-12-27                   |
 | Type "notebook()" for the browser-based notebook interface.        |
 | Type "help()" for help.                                            |
 ----------------------------------------------------------------------
 **********************************************************************
 *                                                                    *
 * Warning: this is a prerelease version, and it may be unstable.     *
 *                                                                    *
 **********************************************************************
 GNU gdb (GDB) 7.5.1
 Copyright (C) 2012 Free Software Foundation, Inc.
 License GPLv3+: GNU GPL version 3 or later
 <http://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
 and "show warranty" for details.
 This GDB was configured as "x86_64-unknown-linux-gnu".
 For bug reporting instructions, please see:
 <http://www.gnu.org/software/gdb/bugs/>...
 Reading symbols from
 /home/vbraun/opt/sage-5.6.beta1/local/bin/python...done.
 Python was not compiled with debug symbols (or it was stripped). Some
 functionality may not work (properly).
 [Thread debugging using libthread_db enabled]
 Using host libthread_db library "/lib64/libthread_db.so.1".

 sage: from sage.tests.interrupt import unguarded_dereference_null_pointer
 sage: unguarded_dereference_null_pointer()

 Program received signal SIGSEGV, Segmentation fault.
 0x00007fffc1f9d04a in
 __pyx_f_4sage_5tests_9interrupt_dereference_null_pointer ()
     at sage/tests/interrupt.c:894
 894       (__pyx_v_ptr[__pyx_t_1]) = ((__pyx_v_ptr[__pyx_t_1]) + 1);
 (gdb) cy list
     59    # Dereference a NULL pointer on purpose. This signals a SIGSEGV
 on most
     60    # systems, but on older Mac OS X and possibly other systems,
 this
     61    # signals a SIGBUS instead. In any case, this should give some
 signal.
     62    cdef void dereference_null_pointer():
     63        cdef long* ptr = <long*>(0)
 >   64        ptr[0] += 1
     65
     66
     67
 ########################################################################
     68    # Python helper functions
 #
 }}}

 Apply
   * [attachment:trac_13881_cython_debug_symbols.patch] to the Sage library
   * [attachment:trac_13881_launch_cygdb.patch] to the Sage root repository

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13881#comment:2>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to