dev-13: you've got a problem, here’s how to find it problem diagnosis & debugging peter...
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