Photo above shows
Theseus 3000 running on @Macarlo's Warp 4 FP6 IDE. The Activity
Monitor inside Theseus' window is from PM Patrol (I used Theseus
3000 in order to analyze PMP memory usage, as you can see in the
other photo, below.) New Theseus Released for OS/2 Warp (Theseus 3000) Theseus3 for OS/2 - ComponentID = 5639F9310 Test by @Macarlo, Team OS/2 Registered In Affiliation
=@MACARLO MICROSOFT= =@MACARLO YAHOO= =@MACARLO WEBALIAS= =@MACARLO ALTAVISTA=
|
![]()
![]()
Hi All.
A new version of Theseus, known as Theseus3,
has been released. This new version works on Warp 3, FixPak 38 or later, Warp
4 at any FixPak level, including WSOD, and the e-Business Server. Theseus is
a memory analysis program for the Warp Operating System, indispensable for OS/2
programmers. Theseus is a memor used
to:
Determine
the amount of memory consumed by each process.
Determine working set
information on a system basis or per process.
Detect memory leaks on
system wide basis or per process.
Examine application memory
(in hexadecimal notation)
Examine selected OS/2
system control blocks (formatted)
Examine selected machine
registers and control blocks (formatted)
If you are Norloff's subscriber like me @Macarlo, simply click the link below and get it (1,13MB) now:
I used Theseus on my Warp 3 and Warp 4 IDEs for long time (version 2) and now
I decided test the new version, called Theseus 3000, that has been developed
by IBM including the ability to analyze mermory usage also on Warp Server for
e-business (a.k.a. Aurora). If you have the Version 2 installed perrhaps it's
not sufficient only comment the load command for THESEUS2.SYS in your config.sys
(REM DEVICE=C:\THESEUS\THESEUS2.SYS). You must be boot jumping the command line
in order to delete all old files, including theseus0.dll.

![]()
Theseus (pronounced Thee'-see-us) was one of the Attic heroes of Greek mythology. According to legend, he was one of the young Greeks chosen to be sacrificed to the Minotaur, the mythical half man/half bull confined in the Labyrinth. Instead, Theseus killed the Minotaur. One of the local girls, Ariadne, gave him a thread, which he used to mark his trail into and out of the Labyrinth. He then married Ariadne and they sailed off into the sunset.
The analogy of the labyrinth is appropriate, because assigning memoryto a user in the OS/2 environment is quite complex, much like the Labyrinth of old. However, this program knows its way through the labyrinth and can assist you in determining the amount of memory used by your programs.
THESEUS3* is a memory analysis program for the OS/2 WARP* 3.x, 4.x, and
e-Business server systems to:
1. Determine the amount of memory
consumed by each active process.
a) Memory leak detection.
b) Working set analysis.
c) Memory utilization.
2. Look at application memory (in hexadecimal notation)
a) In hexadecimal byte
notation.
b) In hexadecimal word
notation (2 bytes).
c) In hexadecimal double
word notation ( 4 bytes ).
d) In unassembled notation.
3. Look at selected OS/2 system control blocks (formatted)
4. Look at selected machine registers and control blocks
(formatted)
INSTALLATION
1. To install
Theseus, create a directory into which you want to
install this
product.
MKDIR \THESEUS
2. Change into the directory that you have just made.
CD \THESEUS
3. The file
THES3xxx.EXE is a self-extracting zip file. Run
THES3xxx.EXE
to extract the contents into the current directory.
'xxx' is the
Theseus version number, e.g. 000.
4. To enable
Theseus on your system you must add a DEVICE=
statement
added to your CONFIG.SYS as follows:
DEVICE=X:\THESEUS\THESEUS5.SYS
Where X: is the drive where THESEUS5.SYS is installed.
5. If you
have installed a previous version of Theseus, then you
should remove
any older Theseus device driver statements from
CONFIG.SYS
at this time. The old device driver for Theseus2,
THESEUS2.SYS,
does not work with this version nor does
THESEUS2.EXE
work with this device driver, THESEUS5.SYS.
6. Now that
you have updated the CONFIG.SYS, you will need to
re-boot your
machine to activate the device driver THESEUS5.SYS.
7. After restarting your system, you may run THESEUS3.EXE.
MEMORY ANALISYS USING THESEUS
Memory Usage for Entire System
The amount of memory (RAM) consumed by each process is determined and then a summary of consumption by all processes is displayed by the RAM Usage by Process function. Memory is considered consumed if it is allocated and marked present in the Page Table Entry.
This is done for the entire system and the display includes data for all processes.
This gives an overall indication of memory consumption. However, since this does not consider which pages are being used, only present, the actual amount of memory needed by each process may be less than the amount shown.
Kernel Memory Usage
The amount of memory consumed by the operating system is determined by system owner code by the Kernel Memory Usage function. The information is displayed sorted by system owner code.
This is useful to determine how much memory is consumed by:
Device driver allocated
(owner = FF6B - allocated via devhlp AllocPhys), which
includes any "RAM disk"
allocated
Kernel code (owner = FFAA - os2krnl
load image)
Any object allocated by the kernel,
device drivers and IFSs.
Memory Usage by a Single Process
Details about the memory usage by the selected process is displayed by the Memory Utilization function. This data is computed as if there were no other processes in the system. When multiple copies of a particular program are running, each of them would show the EXE file as being consumed by that process.
This is done for only the selected process. Some detail for the process is shown.
This is useful for determining if a process is leaking
memory. See Is a
Process Leaking Memory? (method 1) for a description of how to do this.
A SHORT DEMONSTRATION
THESEUS3 is a PM windowed application with hyperblock linking between
the OS/2 control blocks. To try it out:
1. Bring up THESEUS3.
2. Select the Registers
pull-down.
3. Select Control Registers.
4. Double-click
mouse button 1 while pointing at the GDT base value (which is in green).
5. What you are seeing is the formatted GDT.
6. Close that window.
7. Double-click mouse button 2 while pointing at the GDT base value (which
is in green).
8. What you are seeing is a "description"
of the GDT memory object.
9. Press the F1 key to obtain a help panel
that explains what you are looking at.
In this third photo, below, you can see my old Theseus 2 running on Warp 4 FP3:

![]()
![]()
@Macarlo, Inc.
@Macarlo's Shareware & Web
OS/2
Java Lobby Member
Java Site Accredited