JPH06131212A - 他のプログラムによるターゲットプログラムの呼び出しに関してターゲットプログラムの実行を追跡するコンピュータ制御方法 - Google Patents
他のプログラムによるターゲットプログラムの呼び出しに関してターゲットプログラムの実行を追跡するコンピュータ制御方法Info
- Publication number
- JPH06131212A JPH06131212A JP5062064A JP6206493A JPH06131212A JP H06131212 A JPH06131212 A JP H06131212A JP 5062064 A JP5062064 A JP 5062064A JP 6206493 A JP6206493 A JP 6206493A JP H06131212 A JPH06131212 A JP H06131212A
- Authority
- JP
- Japan
- Prior art keywords
- program
- target
- program module
- routine
- tracking
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 追跡要求がターゲットプログラムへの割り込
みを必要としないようにターゲットプログラムPTから
分離された追跡命令を有する。 【構成】 他のプログラムによるターゲットルーチンの
呼び出しに関してターゲットプログラム実行を追跡する
場合、必要な追跡命令が、別の追跡プログラムモジュー
ル3−1に記憶される。このモジュールは、入力情報を
記録するための命令3−3、出力データを記録するため
の命令3−5、及びターゲットルーチン3−7のターゲ
ットアドレスを含む。ターゲットプログラムのターゲッ
トルーチンが呼び出されると、入力データが記録される
追跡プログラムモジュールが最初にアドレス指定され
る。ターゲットアドレスSに応答して、プログラムはタ
ーゲットルーチンに分岐し、ターゲットルーチンが実行
された後に、出力データを記録するために追跡プログラ
ムモジュール3−1に分岐して戻る。
みを必要としないようにターゲットプログラムPTから
分離された追跡命令を有する。 【構成】 他のプログラムによるターゲットルーチンの
呼び出しに関してターゲットプログラム実行を追跡する
場合、必要な追跡命令が、別の追跡プログラムモジュー
ル3−1に記憶される。このモジュールは、入力情報を
記録するための命令3−3、出力データを記録するため
の命令3−5、及びターゲットルーチン3−7のターゲ
ットアドレスを含む。ターゲットプログラムのターゲッ
トルーチンが呼び出されると、入力データが記録される
追跡プログラムモジュールが最初にアドレス指定され
る。ターゲットアドレスSに応答して、プログラムはタ
ーゲットルーチンに分岐し、ターゲットルーチンが実行
された後に、出力データを記録するために追跡プログラ
ムモジュール3−1に分岐して戻る。
Description
【0001】
【産業上の利用分野】本発明は、プログラムのコンピュ
ータ制御追跡方法に関する。「追跡」という用語は、英
語の用法によって公知であり、ドイツ語においてもある
程度確立されている。本発明に従った追跡方法は、詳細
には、他のプログラムによって呼び出されたターゲット
プログラムに関する。
ータ制御追跡方法に関する。「追跡」という用語は、英
語の用法によって公知であり、ドイツ語においてもある
程度確立されている。本発明に従った追跡方法は、詳細
には、他のプログラムによって呼び出されたターゲット
プログラムに関する。
【0002】
【従来の技術およびその課題】当業の技術水準は、以下
の2種類の追跡方法を識別している。
の2種類の追跡方法を識別している。
【0003】1)オペレーティングシステムのレベルで
の追跡(例えば、記憶空間要求の追跡、記録関連演算の
追跡、そのオペレーティングシステムによって支援され
ている外部の電子データ処理装置の追跡など)、 2)プログラム間の通信に関するアプリケーションプロ
グラムのレベルでの追跡。
の追跡(例えば、記憶空間要求の追跡、記録関連演算の
追跡、そのオペレーティングシステムによって支援され
ている外部の電子データ処理装置の追跡など)、 2)プログラム間の通信に関するアプリケーションプロ
グラムのレベルでの追跡。
【0004】電子データ処理においては、プログラム、
特にアプリケーションプログラムは、しばしば協同する
必要がある。
特にアプリケーションプログラムは、しばしば協同する
必要がある。
【0005】図1は、ターゲットプログラムPT(1−
4)と協同するプログラムP1(1−1)、P2(1−
2)およびP3(1−3)の略図を示している。
4)と協同するプログラムP1(1−1)、P2(1−
2)およびP3(1−3)の略図を示している。
【0006】このような協同において、プログラムP
1、P2およびP3は、ターゲットプログラムPTの特
定のターゲットルーチンを知っている。例えば、その名
前によりターゲットルーチンがプログラムP1、P2ま
たはP3によって呼び出されることができるそのルーチ
ンの名前(例えば、“HUGO”)、そのルーチンが何
をできるか、それがどのような入力情報を受信するか、
その実行後に呼び出し側プログラムP1、P2またはP
3にどのような出力情報を供給するか、などである。図
1では、要求は実線矢印で示し、フィードバックは破線
矢印で示されている。
1、P2およびP3は、ターゲットプログラムPTの特
定のターゲットルーチンを知っている。例えば、その名
前によりターゲットルーチンがプログラムP1、P2ま
たはP3によって呼び出されることができるそのルーチ
ンの名前(例えば、“HUGO”)、そのルーチンが何
をできるか、それがどのような入力情報を受信するか、
その実行後に呼び出し側プログラムP1、P2またはP
3にどのような出力情報を供給するか、などである。図
1では、要求は実線矢印で示し、フィードバックは破線
矢印で示されている。
【0007】ターゲットプログラムPTにおけるターゲ
ットルーチン“HUGO”の呼び出しの例は、図2で略
示されている。その呼び出しは、“Call HUGO
−PT(Par 1 input,Par 2 inp
ut;Par 1 output,Par 2 out
put)”によって行われる。
ットルーチン“HUGO”の呼び出しの例は、図2で略
示されている。その呼び出しは、“Call HUGO
−PT(Par 1 input,Par 2 inp
ut;Par 1 output,Par 2 out
put)”によって行われる。
【0008】この呼び出しに応答して、プログラムモジ
ュールPT2−1のアドレスSのルーチン“HUGO”
が実行される。“HUGO”ルーチンの実行前に、入力
情報が、例えば“Par 1 input”および“P
ar 2 input”として略示されたフィールドで
P1によって供給され、それはターゲットルーチン“H
UGO”によって処理される。
ュールPT2−1のアドレスSのルーチン“HUGO”
が実行される。“HUGO”ルーチンの実行前に、入力
情報が、例えば“Par 1 input”および“P
ar 2 input”として略示されたフィールドで
P1によって供給され、それはターゲットルーチン“H
UGO”によって処理される。
【0009】“HUGO”ルーチンの実行後、このルー
チンによって確立された出力情報は、“Par 1 o
utput”および“Par 2 output”とし
て略示された特定のフィールドに設定され、P1へフィ
ードバックされる。実際の要求は、同じく実線矢印によ
って図2に示されており、“HUGO”ルーチンの実行
後のプログラムP1へのフィードバックは、破線矢印で
示されている。
チンによって確立された出力情報は、“Par 1 o
utput”および“Par 2 output”とし
て略示された特定のフィールドに設定され、P1へフィ
ードバックされる。実際の要求は、同じく実線矢印によ
って図2に示されており、“HUGO”ルーチンの実行
後のプログラムP1へのフィードバックは、破線矢印で
示されている。
【0010】検査、診断および誤りの削除のために、入
出力データを含む、要求側プログラムによるターゲット
ルーチンの呼び出しに関してターゲットプログラムPT
を追跡することが一般に必要である。このようにして、
例えば、以下のことが容易に認識可能である。 ・プログラムP1がターゲットプログラムPTのターゲ
ットルーチン“HUGO”を呼び出したこと。 ・応答して、“Par 1 input”および“Pa
r 2 input”の特定の値がターゲットルーチン
“HUGO”に転送され、その側では“Par1 ou
tput”および“Par 2 output”によっ
て特定の出力値をフィードバックしたこと。
出力データを含む、要求側プログラムによるターゲット
ルーチンの呼び出しに関してターゲットプログラムPT
を追跡することが一般に必要である。このようにして、
例えば、以下のことが容易に認識可能である。 ・プログラムP1がターゲットプログラムPTのターゲ
ットルーチン“HUGO”を呼び出したこと。 ・応答して、“Par 1 input”および“Pa
r 2 input”の特定の値がターゲットルーチン
“HUGO”に転送され、その側では“Par1 ou
tput”および“Par 2 output”によっ
て特定の出力値をフィードバックしたこと。
【0011】この情報は、そのプログラムの実行中にお
ける特定の事象の入力順の記録である。
ける特定の事象の入力順の記録である。
【0012】それにもとづいて、プログラムPTの実行
は再構築することができる。アクセス動作および入出力
情報を記録するこれらの追跡命令は、当業の技術水準に
従ったターゲットプログラムPTの一部である。すなわ
ち、アクセス動作を追跡したいとする場合には、PTプ
ログラムに「割り込み」、関連する追跡情報を付加する
ことによって、それを行わなければならない。(追跡命
令によって記録された情報は、検査、診断および誤りの
削除のために不可欠である。)しかし、ターゲットプロ
グラムPTにこのような追跡命令を「包含すること」
は、不利である。なぜなら、追跡命令はそのプログラム
モジュールの大きさを増大させ、それはオペレーティン
グシステムのロード時間に悪影響を及ぼす。これは、そ
のオペレーティングシステムが、記憶空間の不足のため
に、それが現在必要としないプログラムモジュールをス
ワップアウトし、後にそれらを参照のために再ロードす
るように強いる場合、特に重大である。さらに、ターゲ
ットルーチンは、追跡が実施されるべきか否かを確定す
るために使用される問い合わせも含む。
は再構築することができる。アクセス動作および入出力
情報を記録するこれらの追跡命令は、当業の技術水準に
従ったターゲットプログラムPTの一部である。すなわ
ち、アクセス動作を追跡したいとする場合には、PTプ
ログラムに「割り込み」、関連する追跡情報を付加する
ことによって、それを行わなければならない。(追跡命
令によって記録された情報は、検査、診断および誤りの
削除のために不可欠である。)しかし、ターゲットプロ
グラムPTにこのような追跡命令を「包含すること」
は、不利である。なぜなら、追跡命令はそのプログラム
モジュールの大きさを増大させ、それはオペレーティン
グシステムのロード時間に悪影響を及ぼす。これは、そ
のオペレーティングシステムが、記憶空間の不足のため
に、それが現在必要としないプログラムモジュールをス
ワップアウトし、後にそれらを参照のために再ロードす
るように強いる場合、特に重大である。さらに、ターゲ
ットルーチンは、追跡が実施されるべきか否かを確定す
るために使用される問い合わせも含む。
【0013】
【課題を解決するための手段】従って、本発明の目的
は、追跡要求がターゲットプログラムへの割り込みを必
要としないようにターゲットプログラムPTから分離さ
れた追跡命令を有することを可能にする機能を提供する
ことである。さらに、(追跡を伴わない)通常の動作で
は、ターゲットプログラムの実行速度は、付加的な問い
合わせによって影響されてはならない。
は、追跡要求がターゲットプログラムへの割り込みを必
要としないようにターゲットプログラムPTから分離さ
れた追跡命令を有することを可能にする機能を提供する
ことである。さらに、(追跡を伴わない)通常の動作で
は、ターゲットプログラムの実行速度は、付加的な問い
合わせによって影響されてはならない。
【0014】本発明のこの目的は、好ましくは、請求項
1の特徴となる部分に規定された手段によって達成され
る。本発明のさらに有利な発展は、従属請求項に見られ
るであろう。
1の特徴となる部分に規定された手段によって達成され
る。本発明のさらに有利な発展は、従属請求項に見られ
るであろう。
【0015】
【実施例】図3は、本発明に従った追跡、すなわち、プ
ログラムP1(1−1)によるターゲットルーチン“H
UGO”の呼び出しによって、他のプログラムによるタ
ーゲットルーチンの呼び出しに関する、ターゲットプロ
グラムPT(3−6)の実行の追跡の略図である。この
プログラム呼び出しは、以下のフォーマットを有すると
仮定する。
ログラムP1(1−1)によるターゲットルーチン“H
UGO”の呼び出しによって、他のプログラムによるタ
ーゲットルーチンの呼び出しに関する、ターゲットプロ
グラムPT(3−6)の実行の追跡の略図である。この
プログラム呼び出しは、以下のフォーマットを有すると
仮定する。
【0016】“Call HUGO−PT(Par 1
input,Par 2 input;Par 1
output,Par 2 output)”ここで、
Callは、要求を意味する。“HUGO”は、ターゲ
ットプログラムPT(3−6)のターゲットルーチン
“HUGO”(3−7)の記号名である。PTは、ター
ゲットプログラムPT(3−6)である。Par 1
input,Par 2 inputは、ルーチン“H
UGO”による処理のためにP1によって供給される入
力情報の略示フィールドである。Par 1 outp
ut,Par 2 outputは、ターゲットルーチ
ン“HUGO”により供給される出力情報を収納するた
めの略示フィールドである。
input,Par 2 input;Par 1
output,Par 2 output)”ここで、
Callは、要求を意味する。“HUGO”は、ターゲ
ットプログラムPT(3−6)のターゲットルーチン
“HUGO”(3−7)の記号名である。PTは、ター
ゲットプログラムPT(3−6)である。Par 1
input,Par 2 inputは、ルーチン“H
UGO”による処理のためにP1によって供給される入
力情報の略示フィールドである。Par 1 outp
ut,Par 2 outputは、ターゲットルーチ
ン“HUGO”により供給される出力情報を収納するた
めの略示フィールドである。
【0017】本発明に従った追跡の本質的特徴は、実際
のターゲットプログラムと同様にしてアドレス指定され
る「シャドウプログラムモジュール」(追跡プログラム
モジュール)として公知であるものを提供することであ
る。追跡の場合、呼び出しに応答して、最初に追跡プロ
グラムモジュール(かつターゲットプログラムでない)
がアクセスされるという注意が配慮されなければならな
い。これは、例えば、追跡プログラムモジュールが実際
のターゲットプログラムに先行する探索パスによるター
ゲット探索によって実施され得る。
のターゲットプログラムと同様にしてアドレス指定され
る「シャドウプログラムモジュール」(追跡プログラム
モジュール)として公知であるものを提供することであ
る。追跡の場合、呼び出しに応答して、最初に追跡プロ
グラムモジュール(かつターゲットプログラムでない)
がアクセスされるという注意が配慮されなければならな
い。これは、例えば、追跡プログラムモジュールが実際
のターゲットプログラムに先行する探索パスによるター
ゲット探索によって実施され得る。
【0018】これは、要求Call HUGO−P
T...が、図2に示すように、プログラムPTのター
ゲットルーチン“HUGO”(3−7)を直接アドレス
指定するのではなく、追跡プログラムモジュール(3−
1)の“HUGO”(3−2)として指示されたルーチ
ンにアドレス指定することを保証する。このルーチン
は、入力データ“Par 1 input”および“P
ar 2 input”を記録するための追跡命令3−
3を含む。
T...が、図2に示すように、プログラムPTのター
ゲットルーチン“HUGO”(3−7)を直接アドレス
指定するのではなく、追跡プログラムモジュール(3−
1)の“HUGO”(3−2)として指示されたルーチ
ンにアドレス指定することを保証する。このルーチン
は、入力データ“Par 1 input”および“P
ar 2 input”を記録するための追跡命令3−
3を含む。
【0019】追跡プログラムはまた、ターゲットプログ
ラム(3−6)のターゲットルーチン“HUGO”(3
−7)の開始アドレスも含む。
ラム(3−6)のターゲットルーチン“HUGO”(3
−7)の開始アドレスも含む。
【0020】さらにこの追跡プログラムモジュールに
は、ターゲットルーチン“HUGO”が供給しなければ
ならないはずの出力データの追跡命令3−5も含まれ
る。この場合、“Par 1 output”および
“Par 2 output”の値が記録される。
は、ターゲットルーチン“HUGO”が供給しなければ
ならないはずの出力データの追跡命令3−5も含まれ
る。この場合、“Par 1 output”および
“Par 2 output”の値が記録される。
【0021】追跡モジュールが、Call HUGO−
PT...によってアドレス指定されると、その入力デ
ータが追跡命令3−3によって記録される。その後プロ
グラムは、プログラムPTのターゲットルーチン“HU
GO”を実行するために、“HUGO”について(3−
4)に指定されたアドレスSに分岐する(実線矢印)。
このルーチンの実行後(破線矢印)、プログラムは出力
情報を記録するために追跡命令(3−5)に分岐する。
その後、プログラムは、破線矢印で示されたように、プ
ログラム1−1へ復帰する。
PT...によってアドレス指定されると、その入力デ
ータが追跡命令3−3によって記録される。その後プロ
グラムは、プログラムPTのターゲットルーチン“HU
GO”を実行するために、“HUGO”について(3−
4)に指定されたアドレスSに分岐する(実線矢印)。
このルーチンの実行後(破線矢印)、プログラムは出力
情報を記録するために追跡命令(3−5)に分岐する。
その後、プログラムは、破線矢印で示されたように、プ
ログラム1−1へ復帰する。
【0022】(これに関して指摘すべきことは、特に強
調されていなくても、P1の入力データは“shado
w”によってターゲットルーチン“HUGO”(3−
7)へ転送される一方、ターゲットルーチン“HUG
O”(3−7)の出力データは、そのデータが以降のプ
ログラムシーケンスにとって不可欠であるので、“sh
adow library”によってプログラムP1に
転送される、ということである。)図3における追跡プ
ログラムモジュールの例示の主たる目的は、前述のデー
タの流れではなく、追跡命令3−3および3−5ならび
に、開始アドレスSによるターゲットルーチン“HUG
O”へのアクセス3−4である。
調されていなくても、P1の入力データは“shado
w”によってターゲットルーチン“HUGO”(3−
7)へ転送される一方、ターゲットルーチン“HUG
O”(3−7)の出力データは、そのデータが以降のプ
ログラムシーケンスにとって不可欠であるので、“sh
adow library”によってプログラムP1に
転送される、ということである。)図3における追跡プ
ログラムモジュールの例示の主たる目的は、前述のデー
タの流れではなく、追跡命令3−3および3−5ならび
に、開始アドレスSによるターゲットルーチン“HUG
O”へのアクセス3−4である。
【0023】この追跡プログラムモジュールを用いて、
ターゲットプログラムPTは、この例においてPTプロ
グラムモジュールのシャドウ(追跡プログラムモジュー
ル)によって適応される追跡命令から解放されている。
ターゲットプログラムPTは、この例においてPTプロ
グラムモジュールのシャドウ(追跡プログラムモジュー
ル)によって適応される追跡命令から解放されている。
【0024】本発明に従った前述の方法は、それらが動
的リンクに適している場合、特定のオペレーティングシ
ステムと連係して実施することが比較的容易かつ有利で
ある。リンクとは、相互に独立して機械語に翻訳された
プログラムモジュールが、モジュールポインタが保証さ
れるように連結されるプロセスである。上述の用途で
は、静的リンクと動的リンクとの間で区別される。
的リンクに適している場合、特定のオペレーティングシ
ステムと連係して実施することが比較的容易かつ有利で
ある。リンクとは、相互に独立して機械語に翻訳された
プログラムモジュールが、モジュールポインタが保証さ
れるように連結されるプロセスである。上述の用途で
は、静的リンクと動的リンクとの間で区別される。
【0025】動的リンクプロセスの特殊な機能および利
点を論じる前に、静的リンクプロセス(図4)によっ
て、その典型的な特徴を以下に述べる。プログラムモジ
ュールA(4−1)は、要求Call X(Xは、プロ
グラムモジュール4−3におけるルーチンである)に応
答して、プログラムモジュールC(4−3)に静的にリ
ンクされていると仮定する。そのため、プログラムモジ
ュールAおよびCは、それらの2つの“リンクされた”
プログラムモジュールから成るプログラムがその後に実
行される、所定の連続アドレス空間4−4で関係づけら
れている。
点を論じる前に、静的リンクプロセス(図4)によっ
て、その典型的な特徴を以下に述べる。プログラムモジ
ュールA(4−1)は、要求Call X(Xは、プロ
グラムモジュール4−3におけるルーチンである)に応
答して、プログラムモジュールC(4−3)に静的にリ
ンクされていると仮定する。そのため、プログラムモジ
ュールAおよびCは、それらの2つの“リンクされた”
プログラムモジュールから成るプログラムがその後に実
行される、所定の連続アドレス空間4−4で関係づけら
れている。
【0026】プログラムモジュールB 4−2およびプ
ログラムモジュールX 4−3も、同様にリンクされて
いる。
ログラムモジュールX 4−3も、同様にリンクされて
いる。
【0027】両者(4−4および4−5)の場合におい
て、それらの“リンクされた”モジュールには、大きな
連続アドレス空間(大きな記憶領域)が要求される。静
的リンクプロセスは、それらの“リンクされた”プログ
ラムモジュールの前に実行される。
て、それらの“リンクされた”モジュールには、大きな
連続アドレス空間(大きな記憶領域)が要求される。静
的リンクプロセスは、それらの“リンクされた”プログ
ラムモジュールの前に実行される。
【0028】図5によって説明され、そのプログラムの
実行中に実行される、より有利なリンクプロセスは、そ
のような大きなアドレス空間をまったく必要としない。
実行中に実行される、より有利なリンクプロセスは、そ
のような大きなアドレス空間をまったく必要としない。
【0029】実際に実行可能なプログラムモジュールA
4−6および実際に実行可能なプログラムモジュール
C 4−8を動的にリンクする場合、また、実際に実行
可能なプログラムモジュールB 4−7および実際に実
行可能なプログラムモジュールC 4−8の動的リンク
において、プログラムの実行中に生じる動的リンク中で
は複数の記憶空間はプログラムモジュールCにはまった
く必要としない。動的リンクプロセスの利点は明白であ
る。すなわち、静的リンクによって形成されるプログラ
ムに要求されるような、大きな連続アドレス空間が不要
となる。また、動的にリンク可能なプログラムモジュー
ルは、独立した単位としてオペレーティングシステムに
よって管理される。
4−6および実際に実行可能なプログラムモジュール
C 4−8を動的にリンクする場合、また、実際に実行
可能なプログラムモジュールB 4−7および実際に実
行可能なプログラムモジュールC 4−8の動的リンク
において、プログラムの実行中に生じる動的リンク中で
は複数の記憶空間はプログラムモジュールCにはまった
く必要としない。動的リンクプロセスの利点は明白であ
る。すなわち、静的リンクによって形成されるプログラ
ムに要求されるような、大きな連続アドレス空間が不要
となる。また、動的にリンク可能なプログラムモジュー
ルは、独立した単位としてオペレーティングシステムに
よって管理される。
【0030】本発明に従った方法は、動的リンク動作を
支援しているIBMのオペレーティングシステムOS/
2といったオペレーティングシステムにおいて、容易か
つ有利に実施することができる。追跡されるプログラム
モジュールは、この場合、動的にリンク可能なモジュー
ルとして存在する。そのプログラムモジュールが要求さ
れた場合は必ず、それはオペレーティングシステムの探
索パスによってアドレス指定可能でなければならない。
そのターゲットプログラムモジュールについて追跡を開
始する場合、関連する追跡モジュール(動的にリンク可
能でもある)は、それがオペレーティングシステムによ
って最初に見つけられるように探索パスに位置づけられ
なければならない。
支援しているIBMのオペレーティングシステムOS/
2といったオペレーティングシステムにおいて、容易か
つ有利に実施することができる。追跡されるプログラム
モジュールは、この場合、動的にリンク可能なモジュー
ルとして存在する。そのプログラムモジュールが要求さ
れた場合は必ず、それはオペレーティングシステムの探
索パスによってアドレス指定可能でなければならない。
そのターゲットプログラムモジュールについて追跡を開
始する場合、関連する追跡モジュール(動的にリンク可
能でもある)は、それがオペレーティングシステムによ
って最初に見つけられるように探索パスに位置づけられ
なければならない。
【0031】追跡プログラムモジュールおよびターゲッ
トプログラムは、それらに含まれたルーチンについて、
同一名および同一エントリポイントを有する。
トプログラムは、それらに含まれたルーチンについて、
同一名および同一エントリポイントを有する。
【0032】追跡が開始されない場合、探索パスの追跡
プログラムモジュールは禁止されなければならず、それ
は上述のオペレーティングシステムによって可能とな
る。
プログラムモジュールは禁止されなければならず、それ
は上述のオペレーティングシステムによって可能とな
る。
【0033】追跡プログラムモジュールのルーチンのエ
ントリポイントの後に、ターゲットルーチンのコードは
存在しない。なぜなら、その点から、ターゲットルーチ
ンへの直接呼び出しと同様に、入出力パラメータのエン
トリポイント特定追跡が始まるからである。追跡プログ
ラムにおいて、ターゲットルーチンのターゲットアドレ
スは、それが探索パスによって確立される必要がないよ
うに、OS/2オペレーティングシステムによって使用
可能とされている。オペレーティングシステムのこの機
能は、動的リンクモジュールが、プログラムに含まれる
ルーチンをアドレス指定するためにプログラムの開始時
ではなく、実行中に呼び出された場合は常に使用され
る。
ントリポイントの後に、ターゲットルーチンのコードは
存在しない。なぜなら、その点から、ターゲットルーチ
ンへの直接呼び出しと同様に、入出力パラメータのエン
トリポイント特定追跡が始まるからである。追跡プログ
ラムにおいて、ターゲットルーチンのターゲットアドレ
スは、それが探索パスによって確立される必要がないよ
うに、OS/2オペレーティングシステムによって使用
可能とされている。オペレーティングシステムのこの機
能は、動的リンクモジュールが、プログラムに含まれる
ルーチンをアドレス指定するためにプログラムの開始時
ではなく、実行中に呼び出された場合は常に使用され
る。
【0034】探索パス戦略に加え、IBMのOS/2オ
ペレーティングシステムは、プログラムモジュールが、
実行の準備ができている時に、また、それらが以後の要
求に応答して(探索パスを用いずに)直接アドレス指定
される前に、事前にロードされることを可能にする。こ
の機能は、追跡プログラムモジュールによって利用され
る。
ペレーティングシステムは、プログラムモジュールが、
実行の準備ができている時に、また、それらが以後の要
求に応答して(探索パスを用いずに)直接アドレス指定
される前に、事前にロードされることを可能にする。こ
の機能は、追跡プログラムモジュールによって利用され
る。
【0035】本発明に従った方法を適切に拡張すること
によって、追跡プログラムモジュール3−1は、記録さ
れた入力または出力情報を修正するためにさらに命令を
含むこともできるであろう。この方法は、例えば、ター
ゲットルーチンが修正データに対してどのように応答す
るかを検査するために使用される。
によって、追跡プログラムモジュール3−1は、記録さ
れた入力または出力情報を修正するためにさらに命令を
含むこともできるであろう。この方法は、例えば、ター
ゲットルーチンが修正データに対してどのように応答す
るかを検査するために使用される。
【図1】ターゲットプログラムPTと協同するプログラ
ムP1,P2およびP3の略図。
ムP1,P2およびP3の略図。
【図2】技術水準に従ったターゲットプログラムPTの
ターゲットルーチン“HUGO”の呼び出しの略図。
ターゲットルーチン“HUGO”の呼び出しの略図。
【図3】本発明に従った追跡、すなわち、他のプログラ
ムによるターゲットルーチンの呼び出しに関するターゲ
ットプログラムの実行の追跡の略図。
ムによるターゲットルーチンの呼び出しに関するターゲ
ットプログラムの実行の追跡の略図。
【図4】静的プログラムリンク、すなわち、そのプログ
ラムの実行前に相互に無関係に機械コードに翻訳された
プログラムモジュールの静的リンクの略図。
ラムの実行前に相互に無関係に機械コードに翻訳された
プログラムモジュールの静的リンクの略図。
【図5】プログラムの実行における動的プログラムリン
クの略図。
クの略図。
1−1 他のプログラム 2−1 PT−プログラムモジュール 2−2,3−7 “HUGO”ルーチン 3−1,3−6 PT−プログラムモジュール 4−1,4−6 プログラムモジュールA 4−2,4−7 プログラムモジュールB 4−3,4−8 プログラムモジュールC
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウォルフガンク、ライヒェルト ドイツ連邦共和国ホルツガーリンゲン、リ ヒテンシュタインシュトラーセ、4
Claims (7)
- 【請求項1】記録された入力情報およびターゲットルー
チン(3−7)からの出力情報を考慮に入れつつ、他の
プログラム(1−1)によるターゲットルーチン(3−
7)の呼び出しに関してターゲットプログラム(3−
6)内のターゲットルーチン(3−7)の実行を追跡す
る、コンピュータ制御方法であって、 プログラム(1−1)によるターゲットルーチン(3−
7)の呼び出しに応答して、最初に、入力情報を記録す
るための命令(3−3)、ターゲットプログラムPT
(3−6)におけるターゲットルーチン(3−7)のタ
ーゲットアドレス(S)および出力情報を記録するため
の命令(3−5)を包含する追跡プログラムモジュール
(3−1)がアドレス指定されることと、 追跡プログラムモジュール(3−1)において、入力情
報を記録するための命令(3−3)が必要に応じて実行
されることと、 追跡プログラムモジュール(3−1)において、ターゲ
ットルーチンのターゲットアドレス(S)へのプログラ
ム分岐(3−4)が行われることと、 ターゲットプログラム(3−6)内のターゲットルーチ
ン(3−7)が実行され、その後、ターゲットルーチン
(3−7)から追跡プログラムモジュール(3−1)へ
の分岐を伴うことと、 追跡プログラムモジュール(3−1)において、出力情
報を記録するための命令(3−5)が実行され、その
後、プログラムはプログラム(1−1)へ分岐すること
を含むことを特徴とする方法。 - 【請求項2】請求項1記載の方法であって、記録された
情報が誤りの検査、診断および削除のために使用される
ことを特徴とする方法。 - 【請求項3】請求項1記載の方法であって、その方法
が、実行の準備のできたターゲットルーチンを備える実
行の準備のできたプログラムモジュールについて、動的
リンク動作によってオペレーティングシステムにおいて
使用されることを特徴とする方法。 - 【請求項4】請求項3記載の方法であって、その方法
が、所定の追跡プログラムモジュール(3−1)を追加
することによって動的にリンク可能なプログラムモジュ
ールについて、検索機能によりオペレーティングシステ
ムにおいて使用されることを特徴とする方法。 - 【請求項5】請求項4記載の方法であって、プログラム
モジュールが、追跡プログラムモジュール(3−1)を
検索する間にターゲットプログラム(3−6)に先行し
て見つけられるように検索パスに順次的に位置決めされ
ることを特徴とする方法。 - 【請求項6】請求項4記載の方法であって、追跡プログ
ラムモジュール(3−1)が、オペレーティングシステ
ムによって呼び出される前にロードされて実行の準備が
でき、以降のターゲットプログラムの呼び出しに応答し
て動的リンク動作のためにオペレーティングシステムに
よって直接アドレス指定されることを特徴とする方法。 - 【請求項7】請求項1から6までのいずれかに記載の方
法であって、追跡プログラムモジュール(3−1)が、
記録された入力または出力データを修正するための命令
をさらに包含することを特徴とする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE92107705.3 | 1992-05-07 | ||
EP92107705A EP0568717A1 (de) | 1992-05-07 | 1992-05-07 | Computerprogrammgesteuertes Verfahren (Tracing) zur schrittweisen Protokollierung der Ausführung eines Zielprogrammes bezüglich der Aufrufe des Zielprogrammes durch andere Programme |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06131212A true JPH06131212A (ja) | 1994-05-13 |
Family
ID=8209598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5062064A Pending JPH06131212A (ja) | 1992-05-07 | 1993-03-22 | 他のプログラムによるターゲットプログラムの呼び出しに関してターゲットプログラムの実行を追跡するコンピュータ制御方法 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0568717A1 (ja) |
JP (1) | JPH06131212A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100403688C (zh) * | 2005-04-04 | 2008-07-16 | 华为技术有限公司 | 一种业务数据包跟踪实现方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5551037A (en) * | 1993-11-19 | 1996-08-27 | Lucent Technologies Inc. | Apparatus and methods for visualizing operation of a system of processes |
US20030005168A1 (en) * | 2001-06-29 | 2003-01-02 | Leerssen Scott Alan | System and method for auditing system call events with system call wrappers |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63247809A (ja) * | 1987-04-02 | 1988-10-14 | Nec Corp | メツセ−ジテキスト組み立て編集制御方式 |
JPH02294825A (ja) * | 1989-05-10 | 1990-12-05 | Hokuriku Nippon Denki Software Kk | メッセージ出力プログラム作成支援ツール |
-
1992
- 1992-05-07 EP EP92107705A patent/EP0568717A1/de not_active Withdrawn
-
1993
- 1993-03-22 JP JP5062064A patent/JPH06131212A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63247809A (ja) * | 1987-04-02 | 1988-10-14 | Nec Corp | メツセ−ジテキスト組み立て編集制御方式 |
JPH02294825A (ja) * | 1989-05-10 | 1990-12-05 | Hokuriku Nippon Denki Software Kk | メッセージ出力プログラム作成支援ツール |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100403688C (zh) * | 2005-04-04 | 2008-07-16 | 华为技术有限公司 | 一种业务数据包跟踪实现方法 |
Also Published As
Publication number | Publication date |
---|---|
EP0568717A1 (de) | 1993-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0474425B1 (en) | Arrangement for efficiently transferring program execution between subprograms | |
US6317870B1 (en) | System and method for optimization of inter-module procedure calls | |
US8141056B2 (en) | Just-in-time dynamic instrumentation | |
US7131115B2 (en) | Unwinding instrumented program code | |
US20030088807A1 (en) | Method and apparatus for facilitating checkpointing of an application through an interceptor library | |
US5987258A (en) | Register reservation method for fast context switching in microprocessors | |
US8752056B2 (en) | Running native code across single or multi-core hybrid processor achitecture | |
US20040098639A1 (en) | Debugging kernel-loadable modules and suspending and replacing functions in non-microkernel operating systems | |
JPH02114335A (ja) | マルチ・プロセツシング方式 | |
JPH06131212A (ja) | 他のプログラムによるターゲットプログラムの呼び出しに関してターゲットプログラムの実行を追跡するコンピュータ制御方法 | |
US20050108721A1 (en) | Method of calling an export function stored in a shared library | |
US5388263A (en) | Procedure state descriptor system for digital data processors | |
US6185597B1 (en) | Method and system for expanding a buried stack frame | |
US5745768A (en) | Computer program product and program storage device for supporting native and non-native signals transferred between processing entities of a computer program | |
JPH0619717A (ja) | 情報処理装置 | |
US6311184B1 (en) | Sort and merge functions with input and output procedures | |
JPS63626A (ja) | プログラム管理装置 | |
JP3293821B2 (ja) | 動的リンクシステム | |
JPS583042A (ja) | プログラム実行方式 | |
US6104873A (en) | Use of language instructions and functions across multiple processing sub-environments | |
JP3087477B2 (ja) | コンピュータシステム | |
US7627859B2 (en) | Method for configuring non-script language library files to be run as scripts | |
JP3119557B2 (ja) | 初期設定起動処理の実装方法 | |
JPH0465717A (ja) | プログラム呼び出し方法 | |
JP2507791B2 (ja) | デ―タ処理装置 |