Changeset 1865

Show
Ignore:
Timestamp:
06/11/08 21:11:31 (2 months ago)
Author:
duncan
svm:headrev:

cc3e1ea1-1e01-0410-8d68-8b121e83a9d5:11147
Message:

Added the generation of a debug script when "freevo -d" is executed
Changed "freevo -d -d" to write the gdb debug script to the current directory

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • freevo/freevo

    r1382 r1865  
    3636import popen2 
    3737 
     38from stat import * 
    3839from signal import * 
    3940 
     
    4950    global debug 
    5051    global cmdfile 
    51     if debug < 2: 
     52    if debug < 1: 
    5253        return 
    5354    print >>cmdfile, message 
     
    241242    start a process 
    242243    """ 
    243     global cmdfile 
     244    global cmdfile, debug 
    244245    _debug_('start(name=%r, arg=%r, bg=%r, store=%r)' % (name, arg, bg, store)) 
    245     _gdb_script_('cat > /tmp/freevo-gdb << _END_') 
    246     _gdb_script_('b main') 
    247     _gdb_script_('r %s' % ' '.join(arg[1:])) 
    248     _gdb_script_('_END_') 
    249     _gdb_script_('gdb -x /tmp/freevo-gdb %s' % (arg[0])) 
    250     if cmdfile: cmdfile.close() 
     246    if debug >= 2: 
     247        _gdb_script_('cat > freevo-gdb << _END_') 
     248        _gdb_script_('b main') 
     249        _gdb_script_('r %s' % ' '.join(arg[1:])) 
     250        _gdb_script_('_END_') 
     251        _gdb_script_('gdb -x freevo-gdb %s' % (arg[0])) 
     252    elif debug >= 1: 
     253        _gdb_script_('%s -m pdb src/main.py' % (arg[0])) 
     254    if cmdfile: 
     255        cmdfile.close() 
     256        os.chmod(cmdfile.name, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) 
    251257 
    252258    pid = os.fork() 
     
    286292        sys.argv.remove('-d') 
    287293if debug >= 2: 
    288     cmdfile = open('/tmp/freevo-gdb.sh', 'w') 
     294    cmdfile = open('freevo-gdb.sh', 'w') 
     295    print >>cmdfile,'#!/bin/bash' 
     296elif debug >= 1: 
     297    cmdfile = open('freevo-pdb.sh', 'w') 
    289298    print >>cmdfile,'#!/bin/bash' 
    290299 
     
    352361 
    353362# add the variables from above into environ so Freevo can use them, too 
    354 for var in ('freevo_script', 'runapp', 'freevo_python', 'freevo_locale', 
     363for var in ('runapp', 'freevo_script', 'freevo_python', 'freevo_locale', 
    355364            'freevo_share', 'freevo_contrib', 'freevo_config', 'freevo_helpers'): 
    356365    os.environ[var.upper()] = eval(var)