DEV-13: You've Got a Problem, Here’s How to Find It

Slides:



Advertisements
Similar presentations
DEV-2: Getting Started with OpenEdge® Architect – Part I
Advertisements

Improving your OpenEdge® Development Productivity David Lund Sr. Training Program Manager, Progress.
® IBM Software Group © 2010 IBM Corporation What’s New in Profiling & Code Coverage RAD V8 April 21, 2011 Kathy Chan
OPS-7: Migrating your Distributed Application from V9 to OpenEdge ® 10 with (Almost) No Downtime Roy Ellis Principal QA Engineer.
DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer.
Finding and Debugging Errors
COMP-03 Business Objects’ Crystal Reports Server for Progress Customers and Partners Jason McCafferty, Business Objects Consultant Jim Lundy, Progress.
DEV450 Visual Studio: Best Practices For Debugging Managed Applications Habib Heydarian Scott Nonnenberg Program Managers Microsoft Corporation.
05 | Configuration and Deployment Richard Currey | Senior Technical Trainer–New Horizons United George Squillace | Senior Technical Trainer–New Horizons.
DEV-14: Understanding and Programming for the AppServer™
Performance testing of Progress Appservers and a plug-in for Jmeter
What’s new in Progress Developer Studio for OpenEdge 11.0?
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
A New Object Model for WebSpeed and HTTP
OPS-17: Utilizing Firewalls - In the Reign of Fire
SOA-18: Sonic ESB Application Deployment using SDM
SOA-06: Get On the Bus with the OpenEdge ® Adapter for Sonic ESB ® David Cleary Principal Software Engineer, Progress.
What's New In Progress Developer Studio for OpenEdge?
DEV-07: Increasing Productivity with Tools for Business Logic Gikas Principal Software Engineer.
DONE-10: Adminserver Survival Tips Brian Bowman Product Manager, Data Management Group.
© 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical.
Oracle9 i JDeveloper for Database Developers and DBAs Brian Fry Principal Product Manager Oracle JDeveloper Oracle Corporation.
COMP-10: OpenEdge ® Management & Replication – Divide et impera! Cyril Gleiman & Libor Laubacher Principal Technical Support Engineers.
© 2005 by IBM Corporation; made available under the EPL v1.0 | February 28 th 2005 Adopting the Eclipse™ Test and Performance Tools Platform (TPTP) project.
DEV-2: Making OpenEdge ® Architect Work For You David Lund Product Readiness.
DEV-7: The OpenEdge ® Architect “Experience” Anthony D Swindells Engineering Fellow A path to a better life (at work)
DEV-25: From Box to Development for WSA/AIA/WebSpeed ™ using Tomcat Matt Harrison Senior Software Engineer, Progress OpenEdge.
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
DEV339 Best Practices for Debugging Visual Studio.NET Applications Keith Pleas Architect, Guided Design
DEV-05: Ratcheting up your OpenEdge™ Development Productivity Sunil S Belgaonkar Principal Software Engineer.
DEV-09: User Authentication in an OpenEdge™ 10.1 Distributed Computing Environment Michael Jacobs Development Architect.
DONE-08 Sizing and Performance Tuning N-Tier Applications Mike Furgal Performance Manager Progress Software
OPS-15: What was Happening with My Database, AppServer ™, OS... Yesterday, Last Month, Last Year? Libor LaubacherRuanne Cluer Principal Tech Support Engineer.
DEV-01 What’s New in Progress Dynamics ® Anthony Swindells Progress Fellow.
SOA-14: Deploying your SOA Application David Cleary Principal Software Engineer.
DEV-8: OpenEdge® Architect – Extensibility & Third Party Integration Sunil Belgaonkar Principal Software Engineer Architect Phillip Magnay.
COMP-1: OpenEdge® Management Overview and Demo Principal Technical Support Engineer Cyril E. Gleiman.
Catch Me If You Can P ractical Structured Error Handling Peter van Dam.
What’s new in OpenEdge 10.2B OpenEdge Management OpenEdge Replication
Debugging and Profiling With some help from Software Carpentry resources.
SONIC-3: Creating Large Scale Installations & Deployments Andrew S. Neumann Principal Engineer, Progress Sonic.
INNOV-14: A Look Inside the OpenEdge® UI Research Lab Bruce Gruenbaum Principal Software Engineer Shelley Chase
SOA-02: Sonic SOA Products Overview Luis Maldonado Technical Product Manager Sonic Software.
DB-16 : JTA Transactions in the RDBMS, What's Going on Down There? Deb Walz Principal Software Engineer.
DEV-3: Getting Started with OpenEdge® Architect – Part II David Lund Sr. Training Program Manager Mark Hanley Sr. Manager Development Tools.
SONIC-3: Creating Large Scale Installations & Deployments Andrew S. Neumann Principal Engineer Progress Sonic.
INT-9: Implementing ESB Processes with OpenEdge ® and Sonic ™ David Cleary Principal Software Engineer.
A9: Developer Productivity with the Roundtable ® OpenEdge ® Architect Plug-in Randall Harp Product Architect.
© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group.
A New Object Model for WebSpeed and HTTP
Msdevcon.ru#msdevcon. ИЗ ПЕРВЫХ РУК: ДИАГНОСТИКА ПРИЛОЖЕНИЙ С ПОМОЩЮ ИНСТРУМЕНТОВ VISUAL STUDIO 2012 MAXIM GOLDIN Senior Developer, Microsoft.
DEV-8: AppServer ™ Mode Case Studies Simon Epps Solutions Engineer.
ARCH-5: Service Interfaces in Practice Christian Stiller Technical Architect.
A2: Making OpenEdge ® Architect Work For You Susan Houniet Senior Solution Consultant.
E Copyright © 2007, Oracle. All rights reserved. Using JDeveloper.
Copyright Ó Oracle Corporation, All rights reserved Debugging Triggers.
15 Copyright © 2004, Oracle. All rights reserved. Debugging Triggers.
DEV-21: Embracing OpenEdge ® Architect Sunil S Belgaonkar Software Architect.
DEV-22: You’ve got a problem, here’s how to find it
DEV-25: You've Got a Problem, Here’s How to Find It
Jason McCafferty, Business Objects Consultant
HP C/C++ Remote developer plug-in for Eclipse
DEBUGGING.
COMP-10: Managing OpenEdge® Development with the Roundtable® TSMS
DEBUGGING JAVA PROGRAMS USING ECLIPSE DEBUGGER
The Ins and Outs of Performance Profiling and Debugging
Delivering great hardware solutions for Windows
Dev 11: Embracing OpenEdge® Architect
SOA-09: Conducting Business with OpenEdge® and SonicMQ®
Presentation transcript:

DEV-13: You've Got a Problem, Here’s How to Find It Problem diagnosis & debugging “how to fix other people’s code” Who’s using debugger in oea? 10-1c? Wanting to go to 10.2a? Whenever I say AVM or PVM or session I mean “OpenEdge Runtime” Peter Judge Principal Software Engineer OpenEdge

Agenda Introduction Debugging tools Debugging situations

What are we trying to find and fix? Bugs Incomplete features Resource issues Memory leaks Performance issues Queries, especially dynamic Focus of this presentation is not performance – there’s another one just for that – but there are definitely some things we can look at with the debugger that will help us with performance issues.

Agenda Introduction Debugging tools Debugging scenarios

Debugging tools OpenEdge® Debugger MESSAGE statement Logging framework LogRead utility Pro*Spy Plus Profiler OE Architect Debugger perspective Also other 3rd party and misc tools Our main focus is on the Debugger, specifically the OEA debugger perspective.

OpenEdge Debuggers Java™ based Variants Local & remote debugging Runs on Linux, Unix … Windows too Variants GUI Debugger (runs on all platforms) OpenEdge Debugger Perspective (Windows only) Local & remote debugging Attach to OpenEdge runtime Java based: means it runs on all the platforms OE is supported on. GUI Debugger: Non-Windows-based platforms require X11 (x-windows) in order to run the debugger. Look, feel, functionality identical across platforms. The main diff is that GUI debugger can attach to running process, and can step into AppServer code, and the OEA debugger can’t. (this is in the plans for OEA debugger). Debugger had Tech Preview in 9.1D05 First official release OpenEdge® 10.0A First integrated into OpenEdge Architect in 10.1A The Windows logo is a trademark of Microsoft Corporation. The Sun logo is a registered trademark of Sun Microsystems, Inc. The Red Hat logo is a registered trademark of Red Hat, Inc. The hp logo is a registered trademark of the Hewlett-Packard Company. The AiX logo is a registered trademark of IBM Corporation. Tech Preview Official Release OpenEdge Architect Integration 9.1D05 10.0A 10.1A

What’s available in the debugger? See and change variables, parameters Runtime object inspection Pseudo-objects too Stack trace Break points Line Error Watchpoint Expression watches Error, watchpoint breakpoints in GUI Debugger only.

The OpenEdge Debugger Perspective Leverages Eclipse Debug Framework Allows non-modal debugging Multiple concurrent debug sessions Persists breakpoints and settings Invoke using launch configs Needs r-code, but … Compiler debug listings not required Can add missing source code Simplified inspection of complex objects R-code requirement is on roadmap for removal (no dates yet) “Add Missing source code” = if source not found in propath or project, can add via UI in IDE version “non-modal” = Use editor actions during debugging “Multiple concurrent debug sessions” -> Separate PVM spawned per session “Simplified inspection of complex objects” = more and better coming in 10.2A. Only bugfixes for debugger in 10.1C. Uses adecomm/_runcode.p which does some cleanup after itself.

The GUI Debugger Launch it Invoke it Step into AppServer code AppBuilder, Procedure Editor, TTY editor Compile → Debug Attach AppServer™ code from client Invoke it DEBUGGER system handle Initiate debugging in AppServer or WebSpeed® code -debugalert + MESSAGE statement Step into AppServer code Also can attach to other PVMs, on same machine or different machine. “ DEFINE VARIABLE debug AS LOGICAL. debug = DEBUGGER:INITIATE(). debug = DEBUGGER:SET-BREAK(“dOrder.p",6).

The Attachable Debugger No need to modify code to launch debugger Great when source code unavailable Also useful when … The server’s in another office There’s no monitor attached It’s just easier to debug from where you are Note that having no source available means that we can’t see the lines of code we’re stepping through – we can only see the stack, variables and watches. A debug listing is needed to see code as we step through it.

Agenda Introduction Debugging tools Debugging situations Troubleshooting Common Situations including Memory Leaks Debugging across an AppServer Performance Issues Debugging a WebSpeed application Debugging GUI and ChUI clients

Under Development D I S C L A I M E R This talk includes information about potential future products and/or product enhancements. What I am going to say reflects our current thinking, but the information contained herein is preliminary and subject to change. Any future products we ultimately deliver may be materially different from what is described here. D I S C L A I M E R

DEMO: Memory leaks Debugger overview Persistent procedures Buffers, temp-tables, ProDataSets UI Widgets Queries MEMPTRs Can also use LOG-MANAGER for finding memory leaks. “> RETURN NewNodeHandle. KSV > > DELETE OBJECT NewNodeHandle. “

DEMO: Debugging across an AppServer Attachable debugger Enabling debugger for attachment Different machine/same machine Can step into AppServer code from GUI Logging Log-manager Logging in launch configurations Attachable debugger Enabling debugger for attachment Different machine/same machine Can step into AppServer code from GUI Logging Log-manager Logging in launch configurations LogRead utility

DEMO: Debugging on different platforms Enabling debugging GUI debugger Linux, Windows Architect debugger perspective Windows

DEMO: Debugging WebSpeed Log inspection Multiple logs to inspect: WebSpeed broker & server, web server logs LogRead Messages Environment vars? (speak to Garry about this) Webspeed agent debug and appserver agent debug very similar Messages prolly best way of doing things 4gl trace logging Mostly just abl code Shasha and roy’s presentations have details of plumbing stuff Log inspection Multiple logs to inspect: WebSpeed broker & server, web server logs LogRead Messages? Environment vars?

DEMO: Debugging performance issues Indexes/queries Compile xref Index-information Call / execution stack Indexes/queries Compile xref Index-information Call / execution stack Profiler Performance stuff in other presentation

In Summary Debuggers Other tools GUI Debugger OpenEdge Debugger Perspective Other tools Log manager

For More Information, go to… PSDN LogRead 1.0 Tool Overview (English & Spanish)   http://www.psdn.com/library/entry.jspa?categoryID=62&externalID=1841 Log Read Utility http://www.psdn.com/library/entry.jspa?categoryID=41&externalID=349 Documentation OpenEdge Development: Debugging and Troubleshooting OpenEdge Deployment: Startup Command and Parameter Reference

Relevant Exchange Sessions Presented at psdnlive08 OPS-6: Caring for an Ailing AppServer OPS-15: What was Happening with My Database, AppServer, Operating System. . . Yesterday, Last Month, Last Year? OPS-17: Utilizing Firewalls - In the Reign of Fire Presented at Exchange, available on PSDN

? Questions

Thank You