Release 10.1A: OpenEdge Development:
Debugging and Troubleshooting

> ## Logging dynamic object creation and deletion

> To create log entries for dynamic object creation and deletion, use the Log Entry Types (`-logentrytypes)` startup parameter or, for AppServer and WebSpeed, the s`rvrLogEntryTypes` property in the `ubroker.properties` file. Specify one or more of the four dynamic object log entry types in a comma-separated list, or specify `DynObjects.*` to get all four types. For example:

>     -logentrytypes DynObjects.*
>     -logentrytypes DynObjects.DB,DynObjects.Other

> You also can turn on this logging at run time, by using the `LOG-MANAGER` system handle. For example, you can include the following line in the 4GL code:

>     LOG-MANAGER:LOG-ENTRY-TYPES = "DynObjects.UI"

> You can turn off this logging in the 4GL application by resetting the attribute. For example:

>     LOG-MANAGER:LOG-ENTRY-TYPES = ?

> Log entries generated for any of these types contain the tag `DynObjects`.

> OpenEdge writes a log entry every time it creates or destroys a dynamic object tracked by this feature. This also includes allocation and deletion of space for `MEMPTR`s, if you specify `DynObjects.Other` or `DynObjects.*`.

> ##### Logging class creation and deletion

> Log entries generated for this type contain the tag `DYNOBJECTS`. An example of Dynamic object logging messages for classes (with headers suppressed) is shown:

>     DYNOBJECTS Created        Progress.Lang.Object    Handle:1093 (foo.p Line 18)
>         tempclass
>     DYNOBJECTS Delete Pending Progress.Lang.Object    Handle:1094 (method1
>         tempclass Line 13) tempclass
>     DYNOBJECTS Deleted        Progress.Lang.Object    Handle:1093 (foo.p Line 20)
>         tempclass

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095