1 / 12

Work Package 5 – Debugging Task 5.2 - Generic Debug Interface

Work Package 5 – Debugging Task 5.2 - Generic Debug Interface. K. De Bosschere e.a. Goals. Define a debug-interface for components Trace behaviour of components Limit trace information Checkpointing and replay of components

Download Presentation

Work Package 5 – Debugging Task 5.2 - Generic Debug Interface

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Work Package 5 – DebuggingTask 5.2 - Generic Debug Interface K. De Bosschere e.a.

  2. Goals • Define a debug-interface for components • Trace behaviour of components • Limit trace information • Checkpointing and replay of components • Must always be applicable to the system, not just during development

  3. Types of Debugging • Many types of debugging are possible • correctness debugging: where is the bug? • performance debugging: why is it so slow? (or fast?) • 'exploratory' debugging: what does it do? How does it do it? • ... • Many types of programs to debug • own source or third party libraries? • IO intensive or CPU bound? • text interface or GUI? • ... • Many types of hardware to debug on/with • large workstations or small embedded systems • network access, GUI or text • ...

  4. Requirements • Many types of information are required: • tracing of events: • method calls • accesses to objects • I/O • events from the component system • timing: • methods • I/O • resources: • heap • stack • locks

  5. Problems: Conclusions • So, the approach to debugging is linked to: • the type of debugging • the type of application being debugged • the type of hardware available • Requirements are varied and sometimes consume large amounts of resources • We need a flexible debugging solution: • all types of debugging must be possible • it must be possible to select only the debugging mechanisms we need

  6. Standard embedded JVM configuration • Normal operation of embedded system + JVM Embedded System JVM Class Input/Output

  7. Debugging Configuration on Board • Specialised instrumentation of class files • On the embedded system Embedded System JVM Class Input/Output Debug JVM

  8. Debugging Configuration on Two Systems • Specialised instrumentation of class files • Debugger is different system: minimal interference while maintaining high flexibility i.e. a component Embedded System JVM Class Input/Output Cache Instrumentor Debug JVM

  9. Potential Applications • Simple: • Print out activation tree • Time method calls • ... • More complex: • Patch erroneous code • Analyse memory allocation • Trace arguments • Execution replay of non-deterministic multi-threaded applications • Tracing of some or all IO • ...

  10. Developping Debugger module: Record/Replay A=5 A=9 A=9 A=5 • Multiple threads • Interleaving produces different results • Non-deterministic • Record all non-deterministic behaviour to trace and replay with this trace

  11. Future • Perfect the instrumentation layer • Implement a number of modules on top of this layer with useful functionality • Integrate with the component communication system • Further development of record/replay module

  12. Conclusions • Debugging is a very specific activity for which the requirements can vary greatly • Embedded systems have only a limited amount of resources • We propose to dynamically alter the bytecode to tailor the debugging facilities to the debug problem and the available hardware • We are currently developing debug facilities on top of this module

More Related