Changes between Version 3 and Version 4 of HBDBPlanning

Show
Ignore:
Timestamp:
08/06/11 21:27:08 (10 years ago)
Author:
cotto
Comment:

start breaking timeline down into discrete features

Legend:

Unmodified
Added
Removed
Modified
  • HBDBPlanning

    v3 v4  
    55 
    66 
     7FEATURES: 
     8 read HLL annotations 
     9 read data from debug segment 
     10 code instrumentation (steal from parrot-instrument) 
     11 code introspection (steal from parrot-instrument) 
     12 enable/disable breakpoints 
     13 breakpoints (line) 
     14 breakpoints (function) 
     15 watchpoints (registers) 
     16 reversible debugging 
     17 execute until the next annotation change 
     18 backtrace 
     19 bytecode disassembly 
     20 debugger scripting 
     21 trace open file handles (including children) 
     22 dynamic memory analysis (check for uninitialized values) 
     23 dynamic memory analysis (destruction-triggered watchpoints) 
     24 print internal debugger state info 
     25 start/continue execution 
     26 single-step execution 
     27 print registers 
     28 help 
     29 source listing 
     30 
     31 
    732Specific Details 
    8  
    9     Read bytecode annotations and debug data from currently running code. 
    10  
    11         This would effectively extend the debugger's "vocabulary" from PIR to all Parrot-supported HLL's. 
    12  
    13     Add an interface for code instrumentation and introspection, possibly stealing from parrot-instrument. 
    1433 
    1534    Create an extension that would open an interpreter and be able to run code within it one opcode at a time. 
     
    2544        Start and continue execution with the ability to add arguments if they're not specified on the command line. 
    2645 
    27         Creating breakpoints at a specific line or function. 
    28  
    29         Watch Parrot registers (including PMC's). 
    30  
    31         Stepping through code either forward or backward. Execute either a single PIR opcode or all opcodes until the next annotation line change. 
    32  
    3346        Changing the current working directory of the program. 
    34  
    35         Backtrace using the CallContext and Exception PMC. 
    36  
    37         Bytecode disassembly (possibly with pbc_dump). 
    38  
    39         Scripting. For instance, interpreting a file as a set of debugger commands. 
    40  
    41         There's much, much more that can be added in the future. These are just a few. 
    42  
    43     Trace all open file handles. 
    44  
    45         This would also mean it'd have to trace all child processes. 
    46  
    47     Dynamic memory analysis. 
    48  
    49         Check arguments to function calls for uninitialized or invalid values. 
    50  
    51         Place a watch on all or individual PMC's to detect when it has been reclaimed by the garbage collector. 
    52  
    53  Timeline: 
    54  
    55     Begin designing initial set of commands. A good starting point would be: enable/disable breakpoints, start/continue execution, stepping, print registers, source listing, help, etc 
    56  
    57     commands for bytecode disassembly, command scripting, printing information about the interpreter, etc.