The message statements used by the developers for debugging Progress® OpenEdge® application are considered by many as “Fools way of debugging!”.
When I heard it for the first time, I asked “What are our other alternatives considering most of the developers work on UNIX/Linux Environment and OpenEdge® Character version?”.
It came as surprise to me to learn that Progress® did have a debugger product that could be used to debug the Progress® OpenEdge® application. This was however, popular with the windows based development environment. On windows it was pretty straight install and start using!
Unfortunately, for many developers that could be a luxury and I have seen developers having spent their life on putty or similar products. I was fortunate to work on OpenEdge® debugger and can surely tell you it’s awesome and helps in the debugging process. However, my experience was with a windows based application development environment.
Could we have something similar for UNIX/Linux environment?
This article explores the possibility of doing so. As I am writing this article, I do not have an UNIX or Linux environment to test what I am writing and hence request the readers to try themselves (it would be great if the learning is shared with others as well). I personally feel, it would work! The source to this article is from Progress® knowledgebase (refer below URL to the article).
Also, this article does not aim at teaching how use the debugging tool!
Challenge:
How to configure the OpenEdge® debugger? on Unix or How to configure the OpenEdge® graphical debugger for use with sessions running on a Unix / Linux system?
Solution:
To configure the OpenEdge® debugger for use with Unix / Linux sessions:
1. Enable OpenEdge® for debugging:
proDebugEnable -enable-all
The proDebugEnable command only needs to be run once, unless debugging is disabled at a later time with the -disable-all parameter.
2. Verify that the X window system (typically X11) is available, running and properly configured on the Unix system, and that an X server is running and properly configured on the system containing the display (for example, a Windows PC).
The X Window System (X11, X, and sometimes informally X-Windows) is a windowing system for bitmap displays, common on UNIX-like computer operating systems. X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting with a mouse and keyboard.
In computing, xterm is the standard terminal emulator for the X Window System. A user can have many different invocations of xterm running at once on the same display, each of which provides independent input/output for the process running in it (normally the process is a Unix shell).
I was browsing through and found something that could be of your interest. Free Xterm and X Server downloadable http://mobaxterm.mobatek.net/.
Configuring X is beyond the scope of this article; refer to operating system documentation and/or documentation for the Windows-based X server being used.
3. Verify that the DISPLAY environment variable is set to the address of the X server.
4. To invoke the debugger, use one of the following methods:
a) Start the OpenEdge® client (PRO or MPRO) from the command line with the -debug option. For example:
pro -debug
b) From within the OpenEdge® client:
- Open a source file for debugging.
- Choose Compile > Debug from the main menu.
c) In ABL code using the DEBUGGER system handle:
DEBUGGER:INITIATE().
DEBUGGER:SET-BREAK().
OR:
DEBUGGER:DEBUG().
Using either method will open the graphical debugger display in the X server window.
Additional Notes:
- As a graphical debugger, the OpenEdge® debugger requires the X window system to display in a Unix or Linux session. When the debugger is invoked, the display appears in an X server window.
- An OpenEdge® process running on a Unix / Linux system can also be attached to an OpenEdge® debugger running on a Windows system.
Credits and Source(s):
- http://knowledgebase.Progress.com/articles/Article/000035523
- https://en.wikipedia.org/wiki/X_Window_System
- https://en.wikipedia.org/wiki/Xterm
- http://mobaxterm.mobatek.net/
Author: Raghuraman Kadambi
Linkedin: https://www.linkedin.com/pulse/how-configure-openedge-debugger-use-unix-linux-sessions-pmp/