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

21
DEV-13: You've Got a Problem, Here’s How to Find It Problem diagnosis & debugging Peter Judge Principal Software Engineer OpenEdge

Upload: carmella-simpson

Post on 17-Dec-2015

222 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: DEV-13: You've Got a Problem, Here’s How to Find It Problem diagnosis & debugging Peter Judge Principal Software Engineer OpenEdge

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

Problem diagnosis & debugging

Peter Judge Principal Software Engineer

OpenEdge

Page 2: 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

Page 3: 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 Corporation3

What are we trying to find and fix?

Bugs Incomplete features Resource issues

• Memory leaks

Performance issues• Queries, especially dynamic

Page 4: 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 Corporation4

Agenda

Introduction Debugging tools Debugging scenarios

Page 5: 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 Corporation5

Debugging tools

OpenEdge® Debugger MESSAGE statement Logging framework

• LogRead utility

Pro*Spy Plus Profiler

Page 6: 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 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

Page 7: 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 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

Page 8: 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 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

Page 9: 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 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

Page 10: 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 Corporation11

Agenda

Introduction Debugging tools Debugging situations

Page 11: 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 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

Page 12: 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 Corporation13

DEMO: Memory leaks

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

Page 13: 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 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

Page 14: 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 Corporation15

DEMO: Debugging on different platforms

Enabling debugging GUI debugger

• Linux, Windows

Architect debugger perspective• Windows

Page 15: 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 Corporation17

DEMO: Debugging performance issues

Indexes/queries• Compile xref

• Index-information

Call / execution stack

Page 16: 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 Corporation18

In Summary

Debuggers• GUI Debugger

• OpenEdge Debugger Perspective

Other tools• Log manager

Page 17: 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 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…

Page 18: 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 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

Page 19: 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 Corporation21

Questions?

Page 20: 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 Corporation22

Thank You

Page 21: 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 Corporation23