Top > 4.How to use Dionea
  1. How to use Dionea
    • Dionea as thread-aware debugger
      1. Installing Dionea.

      2. Running debug client.
        $ cd /path/to/dionea
        $ dionea &
        

        If the "automatic connection" is set enabled in the configration file (path/to/dionea/config/config.yml), you have to run the debug client in the same machine that you specified in this configuration file. Click the "connect" manu, and a dialog window is open. Then, choose the "auto" radio button. Then input the same port number that is specified in the configuration file.

      3. Running a debugee.
        • Python-Server
          $ cd /path/to/dionea
          $ dioneas.py [-p port number] script-name.py &
          
        • Ruby-Server
          $ cd /path/to/dionea
          $ dioneas.rb [-p port number] script-name.rb &
          

      4. Connecting to debuggee.
        Click "connect" menu icon.
        Highslide JS
        Click Connect Menu-icon. X


        Select "connect" radio button.
        Inpout Host name and Port number.
        Highslide JS
        Dionea Connect Dialog. X


      5. Setting Breakpoints.
        Highslide JS
        Setting Breakpoints. X


        Per-thread Breakpoint.
        Common Breakpoint.

      6. Click "continue","Step" or "Next" menu icon.
        Highslide JS
        Click "continue","Step" or "Next" menu icon. X

      • Screenshot

        Highslide JS
        Dionea. X


      • Sample Program List
        In /path/to/dionea/sample, two sample web projets using Rails, two sample projects using TurboGears, and several sample scripts to test multi-threading are included:
        Sample Program List
        • Depot application using Rails: [ .../rails/depot ]
        • Depot application using Rails/Ajax: [ .../rails/depot-ajax ]
        • Depot application using TurboGears: [ .../tg/depot ]
        • Depot application using TurboGears/Ajax: [ .../tg/depot-ajax ]
        • The dining philosophers problem:
          [ .../python/philosophers.py, .../ruby/philosophers.rb ]
        • Producer-consumer pattern: [ .../python/testP-C.py, .../ruby/testP-C.rb ]
        • Worker-thread pattern: [ .../python/testWorkerThread.py ]
        • Thread-per-message pattern:
          [ .../python/testTperM.py, .../ruby/testTperM.rb ]
        • Read/write lock synchronization: [ .../python/testRWLock.py ]
        • Barrier synchronization: [ .../python/testM-T.py ]
        • dRuby sample programs: [ .../ruby/druby/test-client.rb,test-server.rb ]
        X M


    • For Rails
    • For TurboGears