Browse Prior Art Database

Execution Trace Analysis of OS/2 2 .DLLs Using an Intercept Layer

IP.com Disclosure Number: IPCOM000111679D
Original Publication Date: 1994-Mar-01
Included in the Prior Art Database: 2005-Mar-26
Document File: 4 page(s) / 73K

Publishing Venue

IBM

Related People

Christensen, JE: AUTHOR [+2]

Abstract

The method employed provides execution trace analysis for an OS2./2 2.* DLL module for which no source is available or for which a recompile and a relink are not desired involves 4 distinct pieces: a server (the .DLL to be traced, SERVER.DLL), a client (any module which calls said .DLL, CLIENT.EXE), a generated layer .DLL INTRCEPT.DLL), and an execution trace analyzer (ANALYZER.EXE).

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 55% of the total text.

Execution Trace Analysis of OS/2 2 .DLLs Using an Intercept Layer

      The method employed provides execution trace analysis for an
OS2./2 2.* DLL module for which no source is available or for which a
recompile and a relink are not desired involves 4 distinct pieces:  a
server (the .DLL to be traced, SERVER.DLL), a client (any module
which calls said .DLL, CLIENT.EXE), a generated layer .DLL
INTRCEPT.DLL), and an execution trace analyzer (ANALYZER.EXE).

      Essentially, CLIENT.EXE calls an entry point in SERVER.DLL
INTRCEPT.DLL intercepts this call, timestamps it, alters the return
address on the stack, and performs some internal bookkeeping.  Then
INTRCEPT.DLL passes the call along to SERVER.DLL.  When the routine
in SERVER.DLL is complete, process control returns to INTRCEPT.DLL
(due to the stack alteration), which timestamps the exit event and
returns to CLIENT.EXE.  Hence, no change needs to be made to
SERVER.DLL to analyze it.  Rather, INTRCEPT.DLL must be created and
linked with the client module.  To do this, entry points within
SERVER.DLL must first be identified with an intelligent .CMD file.
Then INTRCEPT.DLL can be created solely with this information.  By
relinking CLIENT.EXE with the INTRCEPT.DLL library, INTRCEPT.DLL is
now ready to intercept all SERVER.DLL calls, and ANALYZER.EXE is able
to perform trace analysis on SERVER.DLL which has not been modified
in any way.

      The process of layering a .DLL for the sake of execution trace
...