# Debugging Room released

scaron (scaron@neon.ci.lexington.ma.us)
Thu, 17 Jul 97 17:06:49 -0500

- Messages sorted by:[ date ][ thread ][ subject ][ author ]

    Hello again.

    A preliminary version of the $debug Debugging Room has been released (for
    use in conjunction with the SLD patch created by Nick Ingolia). Please
    bear in mind that the current $debug doesn't have much error checking
    (i.e., don't try to "say" or "emote" from within the editor ;>), and I'm
    not entirely sure if the permission checks I use are enough.

    To install the $debug:
    -- install the SLD patch (already installed in MacGoesMOO).
    -- log in as #2 and type the following lines:
          @create $generic_editor named Debugging Room:Debugging Room
          @prop #0.debug <obj# of object you just created>
    -- download the debug_object @dump file, available at
    <ftp://neon.ci.lexington.ma.us/pub/debug_object.moo>
    -- quote the debug_object.moo into your MOO via TinyFugue's /quote
    command, or via copy/paste.

    To use the $debug:
    @debug <obj>:<verb>      -- Initializes the debugger for use
    start                    -- Starts the verb running
    l*ist                    -- Lists the current frame, including line number
    s*tep                    -- Executes the current line
    "step_in i*n"            -- Steps into any verb call on the current line
    "step_out o*ut"          -- Steps out of the current frame
    "go run resume con*tinue"-- Allows the task to complete at full speed
    v*ariables               -- Lists all variables in the current frame
    m*odify_variable         -- Modify variables in the current frame
    "done q*uit pause"       -- Exit the debugger
    abort                    -- Kill the task and reset the debugger

    Among the perm-checks I perform are:
    -- When listing a particular frame, $debug will not show a verb's
    contents if player isn't a wizard and verb is set -r.
    -- When modifying variables, if player is a wizard, player can modify any
    variable. If player is not a wizard, but owns the current verb, player
    can modify any variable except 'player' and 'caller'. If player is not a
    wizard and doesn't own the current verb, player can't modify any
    variables.

    Please let me know if there are any problems with $debug, or if I'm
    missing necessary perm-checks or have unnecessary perm-checks.

    Thanks!

     -Steve
        I am a Troubleshooter; my job is to seek out and shoot trouble.