© 2007 by IBM; made available under the EPL v1.0 | Jan 9 th, 2007 Darin Wright IBM Rational Software Debug Platform 3.3.

Slides:



Advertisements
Similar presentations
Accelerating The Application Lifecycle. DEPLOY DEFINE DESIGN TEST DEVELOP CHANGE MANAGEMENT Application Lifecycle Management #1 in Java Meta, Giga, Gartner.
Advertisements

Extending Eclipse CDT for Remote Target Debugging Thomas Fletcher Director, Automotive Engineering Services QNX Software Systems.
6 Copyright © 2005, Oracle. All rights reserved. Building Applications with Oracle JDeveloper 10g.
A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v1.0 1 Towards A Flexible Debug Platform (3.2)  State of the World in 3.1 and.
A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v1.0 1 Progress Report - Debug Platform (3.2 M4)  State of 3.2 M4  Some Demos.
Instant Queue IBM Techline Instant Queue Manager Deployed for IBM Techline Richard Brader IBM Techline January 2012.
® IBM Software Group © 2010 IBM Corporation What’s New in Profiling & Code Coverage RAD V8 April 21, 2011 Kathy Chan
Technical BI Project Lifecycle
Chapter 6 Multiform Projects Copyright © 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved. McGraw-Hill.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
V0.01 © 2009 Research In Motion Limited Introduction to Java Application Development for the BlackBerry Smartphone Trainer name Date.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Object-Oriented Analysis and Design
New UI Changes for Endpoint Security in LDMS 9.6 SP2.
Copyright (c) 2005 IBM Corporation; made available under the EPL v1.0 Enhancements in Memory View December 21, 2005.
Eclipse IDE. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as teaching.
03 Using Eclipse. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as.
© Copyright 2008 IBM Corp. All rights reserved. This presentation is licensed under Creative Commons Att. Nc Nd 2.5 license Using Commands and Menu Contributions.
Chapter 9 Macros, Navigation Forms, PivotTables, and PivotCharts
© 2005 UBC; made available under the EPL v1.0 mylar a degree-of-interest model for eclipse Mik Kersten Gail Murphy Shawn.
A.k.a. GUI’s.  If you want to discuss your Lab 2 grade come see me this week. ◦ Office: 436 ERB. One hour prior to class ◦ Open to Appointments MWF 
MVC pattern and implementation in java
Copyright © IBM Corp., All rights reserved. Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, and more Benjamin Pasero.
JFace 吳昆澤. UI framework for plug-ins JFace provides classes for handling common UI programming tasks: Viewers handle the drudgery of populating, sorting,
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
Design Patterns Part two. Structural Patterns Concerned with how classes and objects are composed to form larger structures Concerned with how classes.
Debugging. 2 © 2003, Espirity Inc. Module Road Map 1.Eclipse Debugging  Debug Perspective  Debug Session  Breakpoint  Debug Views  Breakpoint Types.
McGraw-Hill © 2009 The McGraw-Hill Companies, Inc. All rights reserved. Chapter 6 Multiform Projects.
Copyright © IBM Corp., All rights reserved. From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP Benjamin Pasero.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of The Eclipse debugger.
Flexible hierarchy design proposal. Flexible hierarchy design  Goals  Allow debug plugins to define their own debug element hierarchy and behaviour.
Reset and Recycle IIS Reset Application Pool Management Error Codes New HTTP Sub-status codes Custom/Detailed Errors Tracing in IIS7 and.
© 2008 by Matt Flaherty & Mary Ruddy; made available under the EPL v1.0 Security & Identity : From present to future Matt Flaherty, IBM Mary Ruddy, Meristic.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary © Wind River Systems, released under EPL 1.0. All logos are TM of their respective.
Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition.
SilkTest 2008 R2 SP1: Silk4J Introduction. ConfidentialCopyright © 2008 Borland Software Corporation. 2 What is Silk4J? Silk4J enables you to create functional.
Copyright © IBM Corp., All rights reserved; made available under the EPL v1.0 | March 18, 2008 | Nitin Dahyabhai What can the WTP Snippets View do.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
© 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Lesson # 9 HP UCMDB 8.0 Essentials.
INSERT BOOK COVER 1Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall. Exploring Getting Started with VBA for Microsoft Office 2010 by.
Processes and Virtual Memory
Eclipse Debug Views Update Policy. 2 Agenda  Background  Requirements  How does it work now?  How to make it more flexible?
© 2006 by IBM; made available under the EPL v1.0 | March 20, 2006 | Jeffrey Liu Release Lead IBM Rational Managing APIs with Eclipse API Scanner.
Introduction 1 Lars Vogel 4/22/2009.  Who am I?  Eclipse as a platform  What is Eclipse RCP?  Extension Points / Extensions  Equinox  SWT & JFace.
Interceptor CS562 Spring 2002 Jan Anand Krishnan Morgan Deters Venkita Subramonian.
Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 Update Policy ~ Where we are in 3.2.
TOOLS FOR DESIGN AND DEVELOPMENT ENVIRONMENTS. Case study - ECLIPSE Lecture notes 5.
Eclipse Debug Views Update Policy. 2 Copyright (c) 2005 IBM Corporation and others. All rights reserved. This program and the accompanying materials are.
Bogor-Java Environment for Eclipse MSE Presentation III Yong Peng.
Editing and Debugging Mumps with VistA and the Eclipse IDE Joel L. Ivey, Ph.D. Dept. of Veteran Affairs OI&T, Veterans Health IT Infrastructure & Security.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
Java FX: Scene Builder.
Lesson # 9 HP UCMDB 8.0 Essentials
How to link a test to a launcher (in this case a shell launcher)
DEV-25: You've Got a Problem, Here’s How to Find It
CS3015 Beacon Module 4 Messenger & Setting Preferences
Activities and Intents
Important terms Black-box testing White-box testing Regression testing
Important terms Black-box testing White-box testing Regression testing
Debugging Dwight Deugo
HP Quality Center 10.0 The Test Plan Module
Code Composer Essentials 3.0
Presentation transcript:

© 2007 by IBM; made available under the EPL v1.0 | Jan 9 th, 2007 Darin Wright IBM Rational Software Debug Platform 3.3

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v1.0 2 Topics  Debug Viewers  Debug Command Handlers  Other Enhancements

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v1.0 3 Provisional to Public in 3.3  Public  Debug Context Management  Debug Command Handlers  Source Display  Suspend Trigger  Provisional  Viewers

© 2007 by IBM; made available under the EPL v1.0 | Jan 9 th, 2007 Debug Viewers aka Flexible Hierarchy

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v1.0 5 Debug Platform 3.1 and Earlier Common Debug Perspective, Views & Actions Standard Debug Model Interfaces Implementation of the Standard Model Platform defined API Model defined API

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v1.0 6 Debug Platform 3.2 Common Debug Perspective, Views & Actions Standard Debug Model Interfaces Implementation of the Standard Model Alternate Debug Implementation Common Interaction Adapters: Content, Labels, Function Standard Adapter ImplementationAlternate Adapter Implementation

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v1.0 7 Debug Platform 3.3 – Adapters Changed Common Debug Perspective, Views & Actions Standard Debug Model Interfaces Implementation of the Standard Model Alternate Debug Implementation ** Common Interaction Adapters: Content, Labels, Function ** Standard Adapter Implementation** Alternate Adapter Implementation **

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v1.0 8 Motivation: Leverage JFace  The 3.3 implementation uses the JFace viewer framework  JFace tree viewer with SWT.VIRTUAL flag, lazy tree content provider, etc.  Debug has less duplicated/custom viewer code  More (but not all) of the viewer framework lives in the right place  To ensure the platform provides correct solution the revised implementation will be provided as provisional APIs in 3.3  Community needs to verify APIs  Others would like to see APIs live in JFace rather than Debug

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Content & Labels Viewer Any Model Presentation Context Content Adapter Label Adapter Element Request Monitor Request Monitor add(…)/done() update set(…)/done() retrieve model specific API

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Content & Labels JFace Tree Viewer Debug Model Element Content Provider Label Provider update(…) updateHasChildren(…) updateChildCount(…) updateElement(…) Element Content Provider update(…) Request done() replace(…), setChildCount(…) setHasChildren(…) Element Label Provider update(…) Request done() setText(…), setImage(…), …

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Differences  IElementContentProvider vs. IAsynchronousContentAdapter  Interface names changed – behavior vs. implementation  Retrieves child counts vs. all children  Retrieves visible ranges of children vs. all children  Content provider is queried for each child  Coalesces requests and asks adpater for ranges of children  No longer an intermediate cache of model  Smaller footprint

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Differences (more)  IElementLabelProvider vs. IAsynchronousLabelAdapter  Columns are in the request vs. presentation context  Operands and result are specified in one argument  Old style:  doXYZ(Object element, IStatusMonitor monitor, IPresentationContext context)  New style: specializations of IRequest  doXYZ(IChildrenUpdate update)

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Filtering  JFace does not support filtering in virtual tree viewers  Since all elements are not retrieved at once  For backwards compatibility, debug has added support for filters  The filters work incrementally – as elements are added to the viewer, filters are applied  Side effect – scrollbars can grow shrink if many elements are filtered  For a more stable UI, models can perform filtering  Sorting is not supported  Models must perform sorting if desired

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Same Old Problem  There can only be one adapter (type) per object (type)  3 rd parties can’t  Extend adapters for new views  Modify or extend content in existing views  Assumption we’ve be going on  The debug model implementation provides all adapters (or re-uses the platform adapters)  Debuggers are not extended in downstream plug-ins

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v ViewerModel Presentation Context Model Proxy Element fires deltas add, remove refresh, select expand Updating with Model Proxy Model Proxy Factory create model specific interaction Content Provider

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Model Deltas  Model deltas are similar to resource deltas  Describe incremental changes in a hierarchical model  Model deltas describe what changed, how it changed, and what action to perform on an element Debug Target: NO_CHANGE Thread: CONTENT | STATE | EXPAND Stack Frame: STATE | SELECT

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Differences  The model controls proxy installation and disposal  A model proxy is installed for the viewer’s root element by the viewer implementation  After that, models control which and when model proxies are installed and uninstalled by firing deltas (in 3.2, a proxy was installed automatically when an element was added to a viewer)  New flags exist: INSTALL and UNINSTALL  Deltas must include indexes and child counts to support expand and select  Supports virtual content retrieval (only retrieve visible children)  Allows expand/select to happen in one pass (vs. iterative)

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Viewer State: Expansion & Selection  Viewer framework supports expansion and selection state saving  Models provide element mementos via IElementMementoProvider  Register adapter with viewer input element  Can register adapters with each model element, or use root memento provider for all elements in a viewer  Viewer has LRU cache of 20 states  Currently, cache is not persisted – only present for viewer lifecycle  Used by Variables, Registers, and Expressions views

© 2007 by IBM; made available under the EPL v1.0 | Jan 9 th, 2007 Debug Commands & Handlers

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Debug Context Debug View Selection Actions (getAdapter IStep, etc) Source Lookup (getAdapter ISourceDisplay) IDebugContextService Context activated Provides context (context service per window)

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Debug Context API  A “Debug Context Manager” manages “Debug Context Services”  There is a service for each workbench window  A “Debug Context Service” provides context change notification for a window  Context listeners register with a service for notification  Context providers register with a service to provide context  Change notification is sent with “Debug Context Events”  Each event identifies the active context (as an ISelection), the source of the event (context provider), and the type of event (ACTIVATED vs. STATE change)

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Debug Command API  The debug platform provides actions for common debug operations like step, terminate, etc.  Each action delegates to a “command handler” to carry out the operation  A “command handler” is retrieved from the active debug context  The platform defines standard command handlers and provides implementations of the handlers for the standard debug mode  IDebugCommandHandler and its subtypes: IDisconnectHandler, IDropToFrameHandler, IResumeHandler, IStepFiltersHandler, IStepIntoHandler, IStepOverHandler, IStepReturnHandler, ISuspendHandler, ITerminateHandler  Allows an action to remain enabled handler is executing

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Update Action State Debug View Selection (fire) CONTEXT ACTIVATED Context Service Step Over Action (notify) CONTEXT ACTIVATED Step Over Handler Request canExecute(…) setEnabled(…) done() setEnabled(…)

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Execute Action Step Over Action Step Over Handler Request execute(…) setStatus(…) done() Notify errors in dialog click | key press remain enabled?

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Differences  Interfaces moved to debug.core plug-in  All interfaces are subtypes of IDebugCommandHandler with common methods:  canExecute(IEnabledStateRequest request)  execute(IDebugCommandRequest request)  Step operations are separated into individual command handlers

© 2007 by IBM; made available under the EPL v1.0 | Jan 9 th, 2007 Other Enhancements

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Launching Enhancements  Mixed mode launching  For example, profile & debug  Multiple launchers for the same configuration type & mode  User is allowed to choose from available launchers  For example, Yourkit and TPTP profilers can exist in same workbench  Contribute tabs to existing tab groups  For example, a profiler can add a tab to Java Applications

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Pluggable Detail Panes  The variables, registers, and expression views support a pluggable detail pane  Contribute a “detail pane factory” to create detail panes for a given selection (new extension point)  Include enablement expression to support lazy loading  Can be more than one pane available per selection – user is allowed to choose from available panes  Detail pane can be any SWT control

Debug Platform 3.3 | © 2007 by IBM; made available under the EPL v Legal Notices Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.