Title: DEV-13: You've Got a Problem, Here
1DEV-13 You've Got a Problem, Heres How to Find
It
- Problem diagnosis debugging
Peter Judge
Principal Software Engineer OpenEdge
2Agenda
- Introduction
- Debugging tools
- Debugging situations
3What are we trying to find and fix?
- Bugs
- Incomplete features
- Resource issues
- Memory leaks
- Performance issues
- Queries, especially dynamic
4Agenda
- Introduction
- Debugging tools
- Debugging scenarios
5Debugging tools
- OpenEdge Debugger
- MESSAGE statement
- Logging framework
- LogRead utility
- ProSpy Plus
- Profiler
6OpenEdge 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
7Whats available in the debugger?
- See and change variables, parameters
- Runtime object inspection
- Pseudo-objects too
- Stack trace
- Break points
- Line
- Error
- Watchpoint
- Expression watches
8The 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
9The 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
10The Attachable Debugger
- No need to modify code to launch debugger
- Great when source code unavailable
- Also useful when
- The servers in another office
- Theres no monitor attached
- Its just easier to debug from where you are
11Agenda
- Introduction
- Debugging tools
- Debugging situations
12Under 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.
13DEMO Memory leaks
- Debugger overview
- Persistent procedures
- Buffers, temp-tables, ProDataSets
- UI Widgets
- Queries
- MEMPTRs
14DEMO 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
15DEMO Debugging on different platforms
- Enabling debugging
- GUI debugger
- Linux, Windows
- Architect debugger perspective
- Windows
16DEMO Debugging WebSpeed
- Log inspection
- Multiple logs to inspect
- WebSpeed broker server, web server logs
- LogRead
- Messages
- Environment vars?
17DEMO Debugging performance issues
- Indexes/queries
- Compile xref
- Index-information
- Call / execution stack
18In Summary
- Debuggers
- GUI Debugger
- OpenEdge Debugger Perspective
- Other tools
- Log manager
19For More Information, go to
- PSDN
- LogRead 1.0 Tool Overview (English Spanish)
- http//www.psdn.com/library/entry.jspa?categoryID
62externalID1841 - Log Read Utility
- http//www.psdn.com/library/entry.jspa?categoryID
41externalID349 - Documentation
- OpenEdge Development Debugging and
Troubleshooting - OpenEdge Deployment Startup Command and
Parameter Reference
20Relevant 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
21?
Questions
22Thank You
23(No Transcript)