Consultor Eletrônico



Kbase P77455: How to debug Dynamics dynamic objects with the debugger on the Appserver.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   1/6/2006
Status: Unverified

GOAL:

How to debug Dynamics dynamic objects with the debugger on the Appserver.

GOAL:

How to debug dynamic objects running remotely on the Progress Appserver with the Dynamics runtime thin client session.

FACT(s) (Environment):

Dynamics 2.1A

FIX:

1. Copy the appropriate source procedure from the Progress installation to your local parallel directory structure. For example if you want to debug the dynamic SDO, then use the src/adm2/dynsdo.w procedure.

2. Define an internal procedure in the source file with any name. For example AAA. The procedure does not actually have to do anything.

3. In the main block of the source file, add a debugger breakpoint and a call to the internal procedure created in 2 above. For example:

DEBUGGER:SET-BREAK().
RUN aaa.

4. Save the source code and compile using the instructions in solution 20110, creating the compiled .r code and .cmp file. As described in solution 20110, copy the .r code and .cmp file to the working directory of the Appserver. For example if the working directory of the Appserver is C:\Appserver, then you should copy the files as follows:

C:\Appserver\dynsdo.cmp
C:\Appserver\adm2\dynsdo.r
C:\Appserver\adm2\dynsdo_cl.r (probably not needed on server side)

5. Add the '-debug' startup parameter to the Dynamics Runtime session icon.

6. Use the Dynamics Runtime icon to start the session and the debugger. When the icfstart.p procedure appears in the debugger, select to 'Run' from the 'debug' menu. The error 3071 will appear:

No Debugger listing file available for icfstart.p. (3071)

Ignore this and then select the debugger 'Continue' button. After the Dynamic login, the code should halt at the breakpoint added in dynsdo.w, with the listing from dynsdo.cmp. You can now step through the code execution.

7. Proof that the code is running via the Appserver can be seen in the debugger window title where it should indicate a remote execution of the procedure. For example:

Progress Debugger [break] - adm2/dynsdo.w (ON SERVER s1180)

8. If the Appserver and the client session share the same working directory and directory structure, then the code will also execute exactly the same, but this time the debugger heading will be:

Progress Debugger [break] - adm2/dynsdo.w (LOCAL)