dev-13: you've got a problem, here’s how to find it problem diagnosis & debugging peter...

Post on 17-Dec-2015

222 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Problem diagnosis & debugging

Peter Judge Principal Software Engineer

OpenEdge

© 2008 Progress Software Corporation2

Agenda

Introduction Debugging tools Debugging situations

© 2008 Progress Software Corporation3

What are we trying to find and fix?

Bugs Incomplete features Resource issues

• Memory leaks

Performance issues• Queries, especially dynamic

© 2008 Progress Software Corporation4

Agenda

Introduction Debugging tools Debugging scenarios

© 2008 Progress Software Corporation5

Debugging tools

OpenEdge® Debugger MESSAGE statement Logging framework

• LogRead utility

Pro*Spy Plus Profiler

© 2008 Progress Software Corporation6

OpenEdge Debuggers

Java™ based• 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

TechPreview

OfficialRelease

OpenEdgeArchitectIntegration

9.1D05 10.0A 10.1A

© 2008 Progress Software Corporation7

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

© 2008 Progress Software Corporation8

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

The OpenEdge Debugger Perspective

© 2008 Progress Software Corporation9

The GUI Debugger

Launch it • 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

© 2008 Progress Software Corporation11

Agenda

Introduction Debugging tools Debugging situations

© 2008 Progress Software Corporation12

D I S C L A I M E R

Under Development

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

© 2008 Progress Software Corporation13

DEMO: Memory leaks

Debugger overview Persistent procedures Buffers, temp-tables, ProDataSets UI Widgets Queries MEMPTRs

© 2008 Progress Software Corporation14

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

© 2008 Progress Software Corporation15

DEMO: Debugging on different platforms

Enabling debugging GUI debugger

• Linux, Windows

Architect debugger perspective• Windows

© 2008 Progress Software Corporation17

DEMO: Debugging performance issues

Indexes/queries• Compile xref

• Index-information

Call / execution stack

© 2008 Progress Software Corporation18

In Summary

Debuggers• GUI Debugger

• OpenEdge Debugger Perspective

Other tools• Log manager

© 2008 Progress Software Corporation19

PSDN• LogRead 1.0 Tool Overview (English & Spanish)

  http://www.psdn.com/library/entry.jspa?

categoryID=62&externalID=1841

• Log Read Utilityhttp://www.psdn.com/library/entry.jspa?categoryID=41&externalID=349

Documentation• OpenEdge Development: Debugging and

Troubleshooting• OpenEdge Deployment: Startup Command and

Parameter Reference

For More Information, go to…

© 2008 Progress Software Corporation20

Relevant Exchange Sessions

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 psdnlive08

Presented at Exchange, available on PSDN

© 2008 Progress Software Corporation21

Questions?

© 2008 Progress Software Corporation22

Thank You

© 2008 Progress Software Corporation23

top related