done02: where did you go wrong? diagnostics and troubleshooting in openedge kris murphy senior...

69
DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

Upload: diana-cecilia-hawkins

Post on 17-Dec-2015

226 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge

Kris MurphySenior Solution Engineer

Page 2: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

2 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Agenda

Diagnostic & Troubleshooting Tools Overview

Common Troubleshooting Situations– Memory Leak

– Performance Issue

– Error in AppServer™ code Planned for OpenEdge™10.1A

Page 3: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

3 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Diagnostic & Troubleshooting Tools

GUI Debugger Logging Infrastructure LogRead Profiler Pro*Spy Plus

Page 4: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

4 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

GUI Debugger

Modern Java™ graphical interface Initial Technology Preview 9.1D SP 05 First official release OpenEdge™ 10 Supports local and remote debugging Supported on Windows and all

versions of UNIX that support Java

Page 5: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

5 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

For Your Application Safety…

Client – Start → Programs → OpenEdge → Proenv

AppServer™

Debugging is NOT enabled by default

Page 6: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

6 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

GUI Debugger

AppBuilder or Procedure Editor– Compile → Debug

– Can step into AppServer code from Client session

DEFINE VARIABLE debug AS LOGICAL. debug = DEBUGGER:INITIATE().debug = DEBUGGER:SET-BREAK(“dordbug.p",6).

Programmatically– DEBUGGER system handle methods

– Initiate debugging in AppServer or WebSpeed® code

Page 7: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

7 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Main Debugger Window

Toolbar

Right Click - Dataviews

View\Hide Panes

Organized by type

Source Code

4GL

Procedure

Stack

VariablesWatches

Menubar

Page 8: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

8 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Source Code Pane

Shows code Breakpoints

– Set– Remove– Enable/Disable

Arrow current line of execution

Page 9: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

9 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

4GL Procedure Stack Pane

Page 10: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

10 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Variables Pane

Variables Parameters Buffers Temp Tables DataSets

Page 11: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

11 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Watches Pane

Type variable directly in watches pane Keeps track of variables, buffer fields, attributes,

etc.

Page 12: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

12 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

More Variable Detail - Dataview

Additional information Debug Dataview

Page 13: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

13 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Quick Dataviews

DataList of SYSTEM

HANDLES

Page 14: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

14 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Traversing NEXT-SIBLING

Page 15: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

15 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Conditional Breakpoints

Page 16: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

16 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Watchpoints

Page 17: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

17 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Diagnostic & Troubleshooting Tools

GUI Debugger Logging Infrastructure LogRead Profiler Pro*Spy Plus

Page 18: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

18 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Logging Infrastructure We had logging in Progress® V9. We just

made it better in OpenEdge 10!– Easier to get rid of “noise” in the logs– Unified format– Control Log Size – New log entry types

Logging Infrastructure– Log entry types– Logging levels– Log size threshold– LOG-MANAGER

Page 19: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

19 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Log Entry Types

4GL Interpreter 4GLTrace DB.Connects DynObjects.* QryInfo SAX ProEvents.*

-logentrytypes DynObjects.DB,QryInfo

Client 4GLMessages

Other Components AS.Plumbing AS.Default MsgrTrace NameServer

Page 20: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

20 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Logging Levels

0 – None 1 – Errors 2 – Basic 3 – Verbose 4 – Extended

-logginglevel 2

-logentrytypes DynObjects.UI:3,qryInfo

Page 21: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

21 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Log File Has Size Threshold Startup Parameters

– Log Threshold

– Keep Log Files Progress Explorer

-numlogfiles

-logthreshold

Page 22: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

22 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

LOG-MANAGER

Runtime access Setting log file name

LOG-MANAGER:LOGFILE-NAME = “Mylog.log”.

Setting logging levelLOG-MANAGER:LOGGING-LEVEL = 2.

StartingLOG-MANAGER:LOG-ENTRY-TYPES = “4GLTrace”.

StoppingLOG-MANAGER:LOGGING-LEVEL = 0.

Page 23: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

23 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Diagnostic & Troubleshooting Tools

GUI Debugger Logging Infrastructure LogRead Profiler Pro*Spy Plus

Page 24: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

24 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

LogRead

GUI utility to view, filter, sort, merge and translate Progress log files

Not officially supported– On-line Help

Available on PSDN

Page 25: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

25 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Loading a Log File

Log file format Date format

Time adjustment Promsgs

translation Date Range Filter

Page 26: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

26 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

LogRead

Log View Utilities Queries

Page 27: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

27 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Sample

Page 28: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

28 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Analyze the Merge

Page 29: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

29 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

LogRead Planned Enhancement

Users can write their own:– Utilities to help analyze log files– Handlers to load other types of log files

Microsoft IIS log file

Page 30: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

30 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Diagnostic & Troubleshooting Tools

GUI Debugger Logging Infrastructure LogRead Profiler Pro*Spy Plus

Page 31: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

31 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Profiler

Provides profile of procedure execution Analyze where most time is spent Not officially supported Available on PSDN

Page 32: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

32 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Profiler

Page 33: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

33 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Profiler

Page 34: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

34 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Diagnostic & Troubleshooting Tools

GUI Debugger Logging Infrastructure LogRead Profiler Pro*Spy Plus

Page 35: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

35 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Pro*Spy Plus

Debugging tool used to trace the execution of a 4GL program

Can be turned on and off at the beginning or during execution

Results of tracing, which include all procedures, triggers, and functions appear in a browse widget

Page 36: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

36 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Pro*Spy Plus – Example

Page 37: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

37 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Pro*Spy Plus – Example

Page 38: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

38 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Pro*Spy Plus – Example

Page 39: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

39 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Agenda

Diagnostic & Troubleshooting Tools Overview

Common Troubleshooting Situations– Memory Leak

– Performance Issue

– Error in AppServer™ code Planned for OpenEdge 10.1A

Page 40: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

40 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Memory Leak

Memory is allocated and never freed Application may slow down, and it may affect

the system as a whole Dynamic Objects, Memptrs Tools for diagnosing

– Logging -LogEntryType DynObjects.* LogRead

– Debugger Dynamic Object Tracker

Page 41: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

41 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Memory Leak - LoggingLOG-MANAGER:LOGFILE-NAME = “memleak.log”.LOG-MANAGER:LOG-ENTRY-TYPES = “DynObjects.*”.LOG-MANAGER:LOGGING-LEVEL = 3.

CREATE TEMP-TABLE tth.bufHdl = BUFFER customer:HANDLE.tth:CREATE-LIKE(bufHdl).

CREATE TEMP-TABLE tth2.bufhdl2 = BUFFER order:HANDLE.tth2:CREATE-LIKE(bufhdl2).

CREATE QUERY qh.

DELETE OBJECT tth.DELETE OBJECT qh.LOG-MANAGER:LOGFILE-NAME = “”.

LOG-MANAGER:LOGFILE-NAME = “memleak.log”.LOG-MANAGER:LOG-ENTRY-TYPES = “DynObjects.*”.LOG-MANAGER:LOGGING-LEVEL = 3.

CREATE TEMP-TABLE tth.bufHdl = BUFFER customer:HANDLE.tth:CREATE-LIKE(bufHdl).

CREATE TEMP-TABLE tth2.bufhdl2 = BUFFER order:HANDLE.tth2:CREATE-LIKE(bufhdl2).

CREATE QUERY qh.

DELETE OBJECT tth.DELETE OBJECT qh.LOG-MANAGER:LOGFILE-NAME = “”.

LOG-MANAGER:LOGFILE-NAME = “memleak.log”.LOG-MANAGER:LOG-ENTRY-TYPES = “DynObjects.*”.LOG-MANAGER:LOGGING-LEVEL = 3.

CREATE TEMP-TABLE tth.bufHdl = BUFFER customer:HANDLE.tth:CREATE-LIKE(bufHdl).

CREATE TEMP-TABLE tth2.bufhdl2 = BUFFER order:HANDLE.tth2:CREATE-LIKE(bufhdl2).

CREATE QUERY qh.

DELETE OBJECT tth.DELETE OBJECT qh.LOG-MANAGER:LOGFILE-NAME = “”.

Page 42: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

42 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Memory Leak - Logging

Page 43: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

43 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Memory Leak - LogRead

Utilities FindDynObjLeak

Page 44: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

44 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Memory Leak - Dynamic Object Tracking

Diagnostics

Monitor Dynamic Objects

Page 45: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

45 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Dynamic Object Tracking

/* ttdelay.p */

CREATE TEMP-TABLE ttHdl1.

bufHdl = BUFFER customer:HANDLE.

ttHdl1:CREATE-LIKE(bufHdl).

ttHdl1:TEMP-TABLE-PREPARE("ttcust").

RUN dyn (TABLE-HANDLE ttHdl1,

OUTPUT TABLE-HANDLE ttHdl2).

Page 46: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

46 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Dynamic Object Tracking/* ttdelay.p Continued*/

Procedure dyn: DEFINE INPUT PARAM TABLE-HANDLE inhdl. DEFINE OUTPUT PARAM TABLE-HANDLE outHdl. … CREATE TEMP-TABLE outHdl. … outHdl:TEMP-TABLE-

PREPARE(“ttorder”). DELETE OBJECT inhdl.

END.

Page 47: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

47 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

If you forgot to cleanup

/* ttdelay.p Continued*/

DELETE OBJECT ttHdl1.

DELETE OBJECT ttHdl2.

RETURN.

What did we forget

to delete?

/* ttdelay.p Continued*/

Procedure dyn: DEFINE INPUT PARAM TABLE-HANDLE inhdl. DEFINE OUTPUT PARAM TABLE-HANDLE outHdl. … CREATE TEMP-TABLE outHdl. … outHdl:TEMP-TABLE-

PREPARE(“ttorder”). DELETE OBJECT inhdl. DELETE OBJECT outhdl.END.

Page 48: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

48 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

If you forgot to cleanup

Dynamic Object tracking allows you to quickly identify your failure to delete objects

Page 49: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

49 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Agenda

Diagnostic & Troubleshooting Tools Overview

Common Troubleshooting Situations– Memory Leak

– Performance Issue

– Error in AppServer™ code Planned for OpenEdge 10.1A

Page 50: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

50 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Performance Issues in the 4GL

Application is slow, queries take a long time to run

Inefficient index usage Diagnostic Tools

– INDEX-INFORMATION Attribute

– Query-Info Logging

– Profiler

Page 51: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

51 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Performance – INDEX-INFORMATION Attribute

qh:QUERY-PREPARE("FOR EACH customer WHERE name MATCHES ‘A*’”).

qh:QUERY-OPEN.

message qh:INDEX-INFORMATION(1) view-as alert-box.

qh2:QUERY-PREPARE("FOR EACH item WHERE name BEGINS ‘A’”).

qh2:QUERY-OPEN.

message qh2:INDEX-INFORMATION(1) view-as alert-box.

Page 52: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

52 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Performance – Query-Info Logging

LOG-MANAGER:LOGFILE-NAME = “Query.log”.

LOG-MANAGER:LOG-ENTRY-TYPES = “QryInfo:3”.

RUN runQuery(INPUT "for each customer where name begins 'A'").

RUN runQuery(INPUT "for each customer where name matches 'A*'").

PROCEDURE runQuery:

hqry:QUERY-PREPARE(cQry).

hqry:QUERY-OPEN().

hqry:QUERY-CLOSE().

END.

LOG-MANAGER:LOGGING-LEVEL=0.

Page 53: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

53 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Performance – Query-Info Logging – Query Plan

Query-Plan: how we extract information for the query including: – Query Type, Prepare String, Sorted, Scrolling

Page 54: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

54 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Performance –Query-Info Logging Query Statistics

Query Statistics: information on the query as it extracts data from the database including: – Times prepared (Dynamic only)– Time to prepare (Dynamic only)– Database blocks accessed– Records sent from server

Useful Failed

Page 55: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

55 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Performance –Query-Info Logging Query Statistics

Name BEGINS ‘A’ Name MATCHES ‘A*’

Page 56: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

56 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Performance - Profiler

Page 57: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

57 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Agenda

Diagnostic & Troubleshooting Tools Overview

Common Troubleshooting Situations– Memory Leak

– Performance Issue

– Error in AppServer code Planned for OpenEdge 10.1A

Page 58: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

58 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Error in AppServer code

Attachable Debugger– Server in another office / building

– No monitor attached

– Easier to debug from where you are

Page 59: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

59 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Attachable Debugger

Start Attachable Debugger – Start → Programs → OpenEdge → Debugger

Ready the Client process for debugging– -debugReady port-number– proDebugConfig– Attachable Debugger

Page 60: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

60 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Attachable Debugger

Page 61: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

61 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Break on Error Message

From within the debugger: Edit Breakpoints

Page 62: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

62 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Attachable Debugger

Page 63: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

63 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Agenda Diagnostic & Troubleshooting

Tools Overview Common Troubleshooting

Situations– Memory Leak

– Performance Issue

– Remote Debugging Planned for OpenEdge 10.1A

Page 64: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

64 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

D I S C L A I M E R

Coming in OpenEdge™ 10.1A

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 65: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

65 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Planned for OpenEdge 10.1A

User Logging 4GL Tracing: Log “return” from procedure Query-Info Logging Enhancements

Page 66: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

66 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

In Summary

Diagnostic Tools Overview Common Debugging &

Troubleshooting Situations To Learn More:

– Debugging & Troubleshooting Guide

– PSDN

– On-line Help

Page 67: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

67 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Questions?

Page 68: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

68 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation

Thank you for your time!

Page 69: DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer

69 DONE 02: Where Did You Go Wrong?© 2005 Progress Software Corporation