JPH0820975B2 - コンピュータシステムおよびコンピュータ上で実行されるトレース方法 - Google Patents

コンピュータシステムおよびコンピュータ上で実行されるトレース方法

Info

Publication number
JPH0820975B2
JPH0820975B2 JP3044123A JP4412391A JPH0820975B2 JP H0820975 B2 JPH0820975 B2 JP H0820975B2 JP 3044123 A JP3044123 A JP 3044123A JP 4412391 A JP4412391 A JP 4412391A JP H0820975 B2 JPH0820975 B2 JP H0820975B2
Authority
JP
Japan
Prior art keywords
trace
address
data
writing
virtual address
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.)
Ceased
Application number
JP3044123A
Other languages
English (en)
Other versions
JPH04225438A (ja
Inventor
トッド・アンドリュ・ギルバートセン
ステーブン・アーサー・ナイト
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04225438A publication Critical patent/JPH04225438A/ja
Publication of JPH0820975B2 publication Critical patent/JPH0820975B2/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/25Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理分野に関す
る。更に詳しくは、OS/2の様なプロテクトモードア
ドレッシング環境下に於いて実行されるアプリケーショ
ンプログラムに於いて、バスをモニタして特定の物理ア
ドレスの発生を検出する従来のロジックアナライザによ
り、トレース情報を生成させることを可能とする技術を
提供するものである。
【0002】
【従来の技術】パーソナルコンピュータの第1世代は、
例えばIBMパーソナルコンピュータの様な比較的簡単
なものであった。これらのコンピュータ上で実行される
アプリケーションプログラムは、通常ディスクオペレー
ティングシステム(DOS)下で実行されていた。DO
Sはアプリケーションプログラムが直接物理記憶領域を
アクセスすることを許可していた。この技術はリアルモ
ードアドレッシングと称されている。アプリケーション
開発装置はデバッグまたは性能目的のために、アプリケ
ーションプログラムの論理フロー内に簡易トレースフッ
クを挿入できた。これらの簡易トレースフックは既知の
物理アドレス内に情報を書き込む。ロジックアナライザ
は該既知物理アドレスが発生すると、バス内容を取得し
た。このような従来技術装置が図1に示してある。19
87年11月の「IBM Technical Disclosure Bulletine
Vo1.30 、No.6 」 のページ296−7にはこうした
技術が説明されている。
【0003】パーソナルコンピュータの第2世代では、
例えばIBMパーソナルシステム/2のように相当複雑
化している。これらのコンピュータ上で実行されるアプ
リケーションプログラムは、通常オペレーティングシス
テム/2(OS2)下で実行される。DOSの場合と異
なり、OS/2下で実行されるアプリケーションプログ
ラムは直接物理記憶領域をアクセスすることが許可され
ていない。その代わり、OS/2または類似のオペレー
ティングシステム下で実行されるアプリケーションプロ
グラムは仮想記憶域のみアクセス可能である。この技術
はプロテクトモードアドレッシングと称されている。こ
れらのオペレーティングシステムでは、アプリケーショ
ンプログラムに関係なく、仮想記憶域アドレスを物理記
憶域アドレスにマップ化する。このマッピングは、アプ
リケーションプログラムに知らされることなく、オペレ
ーティングシステムの都合により変更される場合があ
る。
【0004】プロテクトモードアドレッシングはリアル
モードアドレッシングに対し、例えば効果的保全性、拡
張的記憶効率、画期的に増大された記憶領域等のいくつ
かの優れた点を有する一方、アプリケーション開発装置
はデバッグや性能目的のためにアプリケーションプログ
ラムの論理フロー内に簡易トレースフックをもはや挿入
できない。すなわち、プロテクトモードアドレッシング
を採用したオペレーティングシステム上で実行されるア
プリケーションプログラムは、物理アドレスに書き込む
ことが許可されていないからである。
【0005】
【発明が解決しようとする課題】本発明の第1の目的は
アプリケーションプログラムのための拡張トレース技術
を提供することである。
【0006】本発明の他の目的は、物理アドレスに直接
書き込むことを許可されていないアプリケーションプロ
グラムのための拡張トレース技術を提供することであ
る。
【0007】
【課題を解決するための手段】これらの及びその他の目
的が、本発明の中で開示されるアプリケーションプログ
ラムのための拡張トレース技術により達成される。
【0008】さて、プロテクトモードアドレッシング設
計に基づき、仮想記憶域のみへのアクセスを許可され、
物理記憶域へのアクセスは許可されていないアプリケー
ションプログラムのためのトレース技術を開示する。ア
プリケーションプログラムはトレースアドレスT1を、
該アプリケーションプログラム制御下で決まるデータ領
域内に含まれる仮想アドレスV1と一致させるように初
期化する、初期化ステートメントを含んでいる。アプリ
ケーションプログラム内の該ステートメントは、次に、
あらかじめ規定された物理アドレスPにマップ化するた
めに、デバイスドライバに対し、割当られた仮想アドレ
スV2を要求する。デバイスドライバが存在する場合に
は、デバイスドライバは物理アドレスPを仮想アドレス
V2に変換する権限を有し、この変換を実行する。デバ
イスドライバはオペレーティングシステムに対して、ア
プリケーションプログラムがこの仮想アドレスV2を所
有していることを告げ、またオペレーティングシステム
がPとV2間のマッピングを変更することのないように
する。
【0009】デバイスドライバは仮想アドレスV2をア
プリケーションプログラムに戻す。アプリケーションプ
ログラムは、トレースアドレスT1をV2に再度初期化
する。もしも、デバイスドライバが存在しない場合に
は、トレースアドレスT1はV1のままである。
【0010】アプリケーションプログラムは、ワードプ
ロセシング、スプレッドシート、データベース、ゲーム
等の特定機能を達成する命令を含んでいる。これらの命
令に混じってトレースステートメントが含まれる。これ
らのトレースステートメントはトレースアドレスに書き
込むための情報を有している。デバイスドライバが存在
する場合には、トレースアドレスT1=仮想アドレスV
2となる。メモリマッパーはアドレスV2を物理アドレ
スV2にマップ化し、前記情報を物理アドレスに書き込
む。従来のロジックアナライザでは物理アドレスPに書
き込むためのバスをモニタして、この条件における検出
によりバス内容を獲得していた。この要領に従い、物理
アドレスを直接アクセスできないアプリケーションプロ
グラムでは、デバッグや性能確認の目的のためにトレー
スステートメントを未だに含んでいる。
【0011】デバイスドライバが存在しない場合には、
トレースアドレスT1は、アプリケーションプログラム
で制御されるデータ領域内に位置する仮想アドレスV1
のままである。従って、トレースアドレスに遭遇する
と、問題となるような性能低下を伴うこともなく、また
全ての経路長を等価に維持したままの状態で、トレース
アドレスに含まれる情報は何の支障もなく即座に仮想ア
ドレスV1に書き込まれる。
【0012】
【実施例】図1はアプリケーションプログラム100内
に簡易トレースフックを設定する従来方法を示してい
る。アプリケーションプログラム100は、IBMパー
ソナルコンピュータ等の第1世代パーソナルコンピュー
タ上で、DOSの様なリアルモードアドレッシングによ
るオペレーティングシステム下で実行され、直接的に物
理記憶域をアクセス可能である。アプリケーションプロ
グラム100のセグメント100ー106はアプリケー
ションプログラム100に特有のものであり、ワードプ
ロセシング、スプレッドシート、データベース、ゲーム
等の特定の機能の達成を許可する。
【0013】セグメント120は、パラメータ内に含ま
れる情報を物理アドレスPに書き込む簡易トレースフッ
クである。書き込みコマンドはシステムバス10上に現
れ、物理記憶域20の物理アドレスPに送られる。ロジ
ックアナライザ30は、物理アドレスPに書き込みが発
生したことを検出するために、データバス10をモニタ
するように構成される。この事象を検出すると、ロジッ
クアナライザ30はトレースフックのパラメータ内に含
まれる情報を、タイムスタンプや他のシステムデータな
どの他の情報とともに記憶する。トレースフック13
0、140、150も同様の作用をする。
【0014】図2は本発明によるアプリケーションプロ
グラム200を示す。アプリケーションプログラム20
0は物理記憶域を直接アクセスする権限を有さない。そ
の代わり、アプリケーションプログラム200は、オペ
レーティングシステムによって物理アドレスに変換され
る仮想アドレスをアクセスする。アプリケーションプロ
グラム200はコンピュータシステム5に於いて動作す
る。実施例では、コンピュータシステム5はIBMパー
ソナルシステム/2またはOS/2オペレーティングシ
ステム、或いは同類のプロテクトアドレスモードオペレ
ーティングシステムで動作する機械である。コンピュー
タシステム5はオペレーティングシステムとアプリケー
ションプログラム200をIntel80386(図示
せず)等のプロセサにより実行する。コンピュータシス
テム5がPS/2または他の種類のパーソナルコンピュ
ータに制限されることがなく、またOS/2オペレーテ
ィングシステムに制限されることがない点に注意する必
要がある。実際に、本発明はメインフレームや中級コン
ピュータシステム等、どのコンピュータシステムにも適
応可能であり、この中でアプリケーションプログラムは
仮想アドレスをアクセスする。
【0015】アプリケーションプログラム200のセグ
メント201ー207はアプリケーションプログラム2
00特有のものであり、ワードプロセシング、スプレッ
ドシート、データベース、ゲーム等の特定の機能の達成
を許可する。セグメント210はトレースアドレスT1
をアプリケーションプログラム200のデータ領域28
0内の仮想アドレスV1に初期化する。データ領域28
0はアプリケーションプログラム200の制御下にあ
る。
【0016】セグメント220はデバイスドライバが存
在するか否かをチェックする。デバイスドライバは物理
アドレスを仮想アドレスに変換して、これらのアドレス
を割当てる権限を有している。デバイスドライバが存在
しない場合には、T1はV1のままである。デバイスド
ライバが存在する場合には、セグメント220はデバイ
スドライバを呼出し、デバイスドライバ50に対し、物
理アドレスに割当られる仮想アドレスを要求する。実施
例では、デバイスドライバ50はコンピュータシステム
の初期化の間呼ばれ、物理アドレスPが仮想アドレスに
割当られて利用可能となる。他の実施例では、セグメン
ト220に対して、物理アドレスPをデバイスドライバ
50に渡すように要求している。どちらの場合にも、物
理アドレスPは物理記憶域20内に含まれており、通常
ROM(Read Only Memory )またはROS(Resd Only
Storage ) 等により構成されており、書き込み命令
を出しても安全な場所である。すなわち破壊的な書き込
みは生ぜず、一方ロジックアナライザは目的とする書き
込み動作を検出できる。デバイスドライバ50はオペレ
ーティングシステムにより特定の権限を与えられてお
り、物理アドレスPを仮想アドレスV2に変換できる。
デバイスドライバ50はオペレーティングシステムに対
して、アプリケーションプログラムがこの仮想アドレス
V2を所有していることを告げ、またオペレーティング
システムがPとV2間のマッピングを変更することのな
いようにしている。これらのステップにより仮想アドレ
スV2が物理アドレスPに割当られる。実施例では、デ
バイスドライバ50は仮想アドレスV2を物理アドレス
Pに割り当てるために、OS/2下で‘PhysToUVirt'De
vHelp 関数を用いている。‘PhysToUVirt'DevHelp 関数
は1989年9月初版の第64F0282号「Operatin
g System /2 Programming Tools and InformationVers
ion1.2: I /0 Subsystems and Device Support 、Volu
me 1 、Device Drivers 」に説明されている。
【0017】デバイスドライバ50は、仮想アドレスV
2をアプリケーションプログラム200のセグメント2
20に返送する。セグメント220はトレースアドレス
T1を、セグメント220内のV2に一致するように再
初期化する。もしも、デバイスドライバが失敗した場合
には、トレースアドレスT1は仮想アドレスV1のまま
となる。
【0018】既に述べたように、アプリケーションプロ
グラム200はワードプロセシング、スプレッドシー
ト、データベース、ゲーム等の特定の機能を達成するセ
グメント201ー207を含んでいる。これらのセグメ
ントに混じってトレースステートメント230、24
0、250、260が置かれている。これらのトレース
ステートメントはトレースアドレスに書き込むための情
報を含んでいる。トレースステートメント230が実行
されると、パラメータ231(エントリ、データ1)内
に含まれる情報がトレースアドレスT1(セグメント2
20により仮想アドレスV2に設定)に書き込まれる。
アプリケーションプログラム内にはおおよそ4つ程度の
トレースステートメントを設定でき、これらのトレース
ステートメントは図に示すように異なった順序で置くこ
ともできる。例えば、ステートメント260をステート
メント230と240の間、またはステートメント24
0と250の間に置くことも可能である。一つのトレー
スだけが望まれる場合には、ステートメント240、2
50は必要でない。メモリマッパー60はオペレーティ
ングシステムの制御下にあり、仮想アドレスV2を物理
アドレスPにマップ化する。実施例では、メモリマッパ
ー60はコンピュータシステム5のプロセサの重要部分
である。パラメータ231に含まれる情報は、次にバス
10を介して送られ、物理記憶域20内の物理アドレス
Pに書き込まれる。もしも、物理アドレスPがROMま
たはROS内にある場合には、データは実際に物理アド
レスPに書き込まれるが、物理アドレスPに常駐する記
憶域には記憶されないであろう。バス10上を送られる
書き込み命令はロジックアナライザ30により検出され
る。
【0019】ロジックアナライザ30はバス10をモニ
タして、物理アドレスPに対する書き込み発生を検出す
るように構成される。この事象を検出すると、ロジック
アナライザ30はトレースステートメント230のパラ
メータ内に含まれる情報をタイムスタンプ或いは他のシ
ステムデータなどと一緒に記憶する。トレースステート
メント240、250、260も同様にして動作する。
ロジックアナライザ30は、例えばテクトロニクス製9
201Tまたはヒューレットパッカード製1610A等
の従来より知られているものでよい。ロジックアナライ
ザ30は直接PS/2に接続されるアタッチメントカー
ドでも良く、特定の機能が達成できるものであれば良
い。
【0020】ロジックアナライザ30により取得された
情報の解析は、ユーザ或いはアプリケーション開発者に
対して、重要な性能やデバッグ情報を提供する。例え
ば、トレースステートメント240が実行された際に取
得されるタイムスタンプ値から、トレースステートメン
ト250が実行された際に取得されるタイムスタンプ値
減算することにより、ユーザ或いはアプリケーション
開発者はアプリケーションプログラム200のセグメン
ト205の実行に要する時間を知ることができる。同様
にして、トレースステートメント230が実行された際
に取得されるタイムスタンプ値から、トレースステート
メント260が実行された際に取得されるタイムスタン
プ値を減算することにより、ユーザ或いはアプリケーシ
ョン開発者はアプリケーションプログラム200のセグ
メント203、204、205、206(トレースステ
ートメント240、250を含む)の実行に要する時間
を知ることができる。
【0021】アプリケーションプログラム200を編集
することなく、ロジックアナライザ30がいつでもアプ
リケーションプログラム200をモニタできるように、
アプリケーションプログラム200内にトレースステー
トメント30等と共に、いつの場合でもステートメント
210及び220を設けることが望ましい。しかし、一
方で、ロジックアナライザ30或いはデバイスドライバ
50が存在しない場合には、アプリケーションプログラ
ム200が通常に実行されることも望まれる。
【0022】図3はデバイスドライバ50またはロジッ
クアナライザ30が存在しない場合の、コンピュータシ
ステム内でのアプリケーションプログラム200の動作
を示している。図3のアプリケーションプログラム20
0は図2のそれと同じであるものとする。セグメント2
20がデバイスドライバが存在するか否か(或いはデバ
イスドライバが存在していてもそれへの呼出が失敗か否
か)をチェックする際に、オペレーティングシステムよ
りデバイスドライバが存在しないこと(或いは正常にア
クセスできなかったこと)を告げられる。従って、トレ
ースアドレスT1は、アプリケーションプログラム20
0のデータ領域280内の仮想アドレスV1にセットさ
れたままとなる。トレースセグメント230、240、
250、260が実行されると、これらはパラメータ情
報を仮想アドレスV2の代わりに仮想アドレスV1に書
き込む。仮想アドレスV1がアプリケーションプログラ
ム200制御下のデータ領域内に含まれ、特定的にアプ
リケーションプログラム200により確保されているた
めに、トレースセグメント230からのパラメータ情報
231は何の支障もなく仮想アドレスV1に書き込まれ
る。これに続くトレースセグメントは、何の支障もなく
この仮想アドレスV1にそれぞれのパラメータ情報を重
ね書きする。この技術に於ける効果は、デバイスドライ
バが存在しない場合には、アプリケーションプログラム
自身或いはアプリケーション経路長に影響を及ぼすこと
なく、トレースパラメータを捨ててしまうことである。
【0023】本発明の別の実施例が図4−5に示されて
いる。セグメント310は複数のトレースアドレスT
1、T2、・・Tnを初期化し、データ領域380内に
対応する仮想アドレスV1、V3、・・V2n−1を割
り当てる。セグメント320は次にデバイスドライバ5
0に対して、仮想アドレスV2、V4、・・V2nを物
理アドレスP1、P2、・・Pnに割り当てるように要
求する。トレースセグメント330、340、350、
360は、次にトレース情報を一つ以上のアドレスに送
ることができる。ロジックアナライザ30はいくつかの
或いは全てのアドレスをモニタするように構成される。
この別の実施例によれば、アプリケーションプログラム
300は一層強力に、かつ柔軟性に富んでトレースさ
れ、解析のための詳細なトレース統計を提供することが
できる。
【0024】
【発明の効果】以上のように、本発明によれば、物理ア
ドレスに直接書き込むことのできないアプリケーション
プログラムのための拡張トレース技術が提供される。
【図面の簡単な説明】
【図1】直接的に物理記憶域をアクセス可能なアプリケ
ーションプログラム内に、簡易トレースフックを設定し
た従来方法を示す図である。
【図2】デバイスドライバ、メモリマッパー、ロジック
アナライザに接続されてトレースを行う、本発明による
トレース技術を含むアプリケーションプログラムを示す
図である。
【図3】本発明によるトレース技術を含むアプリケーシ
ョンプログラムを示す図である。
【図4】本発明の別の実施例を示す図である。
【図5】本発明の別の実施例を示す図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ステーブン・アーサー・ナイト アメリカ合衆国ミネソタ州ロチェスター, トウエンテイ・シックス・ストリート・ノ ース・ウエスト524番地 (56)参考文献 特開 昭63−91746(JP,A) 特開 昭61−245247(JP,A) 特開 平1−222341(JP,A) 特開 昭60−159951(JP,A)

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】プロセッサ、バス、および物理記憶域を有
    し、アプリケーションプログラムを実行するコンピュー
    タシステムであって、 上記アプリケーションプログラムが、 トレースアドレスを上記アプリケーションプログラムの
    制御下にあるデータ領域内の第1の仮想アドレスと等し
    くなるように初期化する初期化手段と、 デバイスドライバから第2の仮想アドレスを要求する要
    求手段と、 上記要求手段の実行に応じて、上記トレースアドレスを
    上記第2の仮想アドレスに等しくなるようにセットする
    再初期化手段と、 第1のトレースデータを上記トレースアドレスに書き込
    むことにより、第1トレースの開始を指示する第1の書
    き込み手段と、 第2のトレースデータを上記トレースアドレスに書き込
    むことにより、上記第1トレースの終了を指示する第2
    の書き込み手段と、 を含むことを特徴とするコンピュータシステム。
  2. 【請求項2】上記デバイスドライバは、上記物理記憶域
    内の物理アドレスを上記第2の仮想アドレスに割り当て
    て、上記第2の仮想アドレスを上記アプリケーションプ
    ログラムに渡す、 ことを特徴とする請求項1に記載のコンピュータシステ
    ム。
  3. 【請求項3】上記第2の仮想アドレスを上記物理アドレ
    スに変換するためのメモリマッピング手段を有すること
    を特徴とする請求項2に記載のコンピュータシステム。
  4. 【請求項4】上記物理アドレスに対する書き込みを検出
    して、上記第1のトレースデータおよび第2のトレース
    データを記憶するロジックアナライザが上記バスに接続
    されていることを特徴とする請求項3に記載のコンピュ
    ータシステム。
  5. 【請求項5】プロセッサ、バス、および物理記憶域を有
    し、アプリケーションプログラムを実行するコンピュー
    タシステムであって、 上記アプリケーションプログラムが、 トレースアドレスを上記アプリケーションプログラムの
    制御下にあるデータ領域内の第1の仮想アドレスに初期
    化する初期化手段と、 デバイスドライバが存在するかどうかを決定する照会手
    段と、 第1のトレースデータを上記トレースアドレスに書き込
    むことにより、第1トレースの開始を指示する第1の書
    き込み手段と、 第2のトレースデータを上記トレースアドレスに書き込
    むことにより、上記第1トレースの終了を指示する第2
    の書き込み手段と、 を含むことを特徴とするコンピュータシステム。
  6. 【請求項6】コンピュータ上で実行されるトレース方法
    であって、 トレースアドレスをデータ領域内の第1の仮想アドレス
    に初期化するステップと、 デバイスドライバが存在するかどうかを決定するステッ
    プと、 上記デバイスドライバが存在しない時に、第1のトレー
    スデータを上記トレースアドレスに書き込むことによ
    り、第1のトレースの開始を指示するステップと、 第2のトレースデータを上記トレースアドレスに書き込
    むことにより、上記第1トレースの終了を指示するステ
    ップと、 を具備することを特徴とするトレース方法。
  7. 【請求項7】上記デバイスドライバは第2の仮想アドレ
    スを割り当てることを特徴とする請求項6に記載のトレ
    ース方法。
  8. 【請求項8】第3のトレースデータを上記トレースアド
    レスに書き込むことにより、第2トレースの開始を指示
    するステップと、 第4のトレースデータを上記トレースアドレスに書き込
    むことにより、上記第2トレースの終了を指示するステ
    ップと、 を具備することを特徴とする請求項6または7に記載の
    トレース方法。
  9. 【請求項9】コンピュータ上で実行されるトレース方法
    であって、 第1のトレースアドレスをデータ領域内にある第1の仮
    想アドレスに初期化するステップと、 第2のトレースアドレスをデータ領域内にある第3の仮
    想アドレスに初期化するステップと、 デバイスドライバが存在するかどうかを決定するステッ
    プと、 デバイスドライバが存在しない時に、第1のトレースデ
    ータを上記第1のトレースアドレスに書き込むことによ
    り、第1トレースの開始を指示するステップと、 第2のトレースデータを上記第1のトレースアドレスに
    書き込むことにより、上記第1トレースの終了を指示す
    るステップと、 第3のトレースデータを上記第2のトレースアドレスに
    書き込むことにより、第2トレースの開始を指示するス
    テップと、 第4のトレースデータを上記第2のトレースアドレスに
    書き込むことにより、上記第2トレースの終了を指示す
    るステップと、 を有するトレース方法。
  10. 【請求項10】コンピュータ上で実行されるトレース方
    法であって、 トレースアドレスをデータ領域内の第1の仮想アドレス
    と等しくなるように初期化するステップと、 デバイスドライバから第2の仮想アドレスを要求するス
    テップと、 上記要求するステップの実行に応じて、上記トレースア
    ドレスを上記第2の仮想アドレスに等しくなるようにセ
    ットするステップと、 第1のトレースデータを上記トレースアドレスに書き込
    むことにより、第1トレースの開始を指示するステップ
    と、 第2のトレースデータを上記トレースアドレスに書き込
    むことにより、上記第1トレースの終了を指示するステ
    ップと、 を具備することを特徴とするトレース方法。
  11. 【請求項11】コンピュータ上で実行されるトレース方
    法であって、 第1のトレースアドレスをデータ領域内の第1の仮想ア
    ドレスと等しくなるように初期化するステップと、 第2のトレースアドレスをデータ領域内の第3の仮想ア
    ドレスと等しくなるように初期化するステップと、 デバイスドライバから第2の仮想アドレスおよび第4の
    仮想アドレスを要求するステップと、 上記要求するステップの実行に応じて、上記第1のトレ
    ースアドレスを上記第2の仮想アドレスに等しくなるよ
    うにセットするステップと、 上記第2のトレースアドレスを上記第4の仮想アドレス
    に等しくなるようにセットするステップと、 第1のトレースデータを上記第1のトレースアドレスに
    書き込むことにより、第1トレースの開始を指示するス
    テップと、 第2のトレースデータを上記第1のトレースアドレスに
    書き込むことにより、上記第1トレースの終了を指示す
    るステップと、 第3のトレースデータを上記第2のトレースアドレスに
    書き込むことにより、第2トレースの開始を指示するス
    テップと、 第4のトレースデータを上記第2のトレースアドレスに
    書き込むことにより、上記第2トレースの終了を指示す
    るステップと、 を具備することを特徴とするトレース方法。
JP3044123A 1990-03-29 1991-02-18 コンピュータシステムおよびコンピュータ上で実行されるトレース方法 Ceased JPH0820975B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US50198390A 1990-03-29 1990-03-29
US501983 1990-03-29

Publications (2)

Publication Number Publication Date
JPH04225438A JPH04225438A (ja) 1992-08-14
JPH0820975B2 true JPH0820975B2 (ja) 1996-03-04

Family

ID=23995822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3044123A Ceased JPH0820975B2 (ja) 1990-03-29 1991-02-18 コンピュータシステムおよびコンピュータ上で実行されるトレース方法

Country Status (3)

Country Link
US (1) US5701486A (ja)
EP (1) EP0452243A3 (ja)
JP (1) JPH0820975B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875289A (en) * 1996-06-28 1999-02-23 Microsoft Corporation Method and system for simulating auto-init mode DMA data transfers
US5995757A (en) * 1997-08-29 1999-11-30 Dell Usa, L.P. Software installation and testing for a build-to order computer system
US5991543A (en) * 1997-08-29 1999-11-23 Dell Usa, L.P. Software installation and testing for a build-to-order computer system
US5970246A (en) * 1997-09-11 1999-10-19 Motorola Inc. Data processing system having a trace mechanism and method therefor
US6047124A (en) * 1997-10-31 2000-04-04 Sun Microsystems, Inc. System and method for tracing device drivers using a computer
US5938778A (en) * 1997-11-10 1999-08-17 International Business Machines Corporation System and method for tracing instructions in an information handling system without changing the system source code
US6212652B1 (en) * 1998-11-17 2001-04-03 Sun Microsystems, Inc. Controlling logic analyzer storage criteria from within program code
US6681212B1 (en) 1999-04-23 2004-01-20 Nianning Zeng Internet-based automated system and a method for software copyright protection and sales
US6662289B1 (en) * 2001-05-15 2003-12-09 Hewlett-Packard Development Company, Lp. Method and apparatus for direct conveyance of physical addresses from user level code to peripheral devices in virtual memory systems
US20040015864A1 (en) * 2001-06-05 2004-01-22 Boucher Michael L. Method and system for testing memory operations of computer program
CA2419900A1 (en) * 2003-02-26 2004-08-26 Ibm Canada Limited - Ibm Canada Limitee Relocating pages that are pinned in a buffer pool in a database system
CN101894010B (zh) * 2009-08-24 2013-04-17 威盛电子股份有限公司 微处理器及适用于微处理器的操作方法
CN109905386A (zh) * 2019-02-20 2019-06-18 徐建红 一种基于用户信息安全的用户地址保护***及其工作方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4142232A (en) * 1973-07-02 1979-02-27 Harvey Norman L Student's computer
US4376297A (en) * 1978-04-10 1983-03-08 Signetics Corporation Virtual memory addressing device
JPS6013501B2 (ja) * 1978-09-18 1985-04-08 富士通株式会社 仮想計算機システムにおけるチヤネルアドレス制御方式
JPS5576447A (en) * 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
US4524415A (en) * 1982-12-07 1985-06-18 Motorola, Inc. Virtual machine data processor
US4598364A (en) * 1983-06-29 1986-07-01 International Business Machines Corporation Efficient trace method adaptable to multiprocessors
US4538241A (en) * 1983-07-14 1985-08-27 Burroughs Corporation Address translation buffer
JPS61245247A (ja) * 1985-04-23 1986-10-31 Mitsubishi Electric Corp トレ−ス制御装置
JPS62154037A (ja) * 1985-12-26 1987-07-09 Hitachi Ltd 仮想計算機監視制御方式
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
FR2599852B1 (fr) * 1986-06-06 1988-06-24 Labo Electronique Physique Circuit d'entree pour sonde d'analyseur logique, et sonde et analyseur logique munis d'un tel circuit
JPH01222341A (ja) * 1988-03-01 1989-09-05 Fujitsu Ltd オンラインデバッグ方式
US5274811A (en) * 1989-06-19 1993-12-28 Digital Equipment Corporation Method for quickly acquiring and using very long traces of mixed system and user memory references
CA2010591C (en) * 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
US5319751A (en) * 1991-12-27 1994-06-07 Intel Corporation Device driver configuration in a computer system

Also Published As

Publication number Publication date
EP0452243A3 (en) 1992-11-04
JPH04225438A (ja) 1992-08-14
EP0452243A2 (en) 1991-10-16
US5701486A (en) 1997-12-23

Similar Documents

Publication Publication Date Title
US7000225B2 (en) Method for inserting global breakpoints
US5613063A (en) Method and apparatus for checking validity of memory operations
US7661035B2 (en) Method and system for instruction tracing with enhanced interrupt avoidance
US5657445A (en) Apparatus and method for limiting access to mass storage devices in a computer system
AU595224B2 (en) Improved virtual memory computer system
US5701476A (en) Method and apparatus for dynamically loading a driver routine in a computer memory
KR101019209B1 (ko) 임베디드 소프트웨어의 인터페이스 자동 추출 장치 및 그방법
US7975260B1 (en) Method of direct access and manipulation of debuggee memory from debugger
US5386522A (en) Dynamic physical address aliasing during program debugging
US20060294432A1 (en) Debugging using virtual watchpoints
US5604864A (en) Method and system for detecting invalid access to a memory
US20020046305A1 (en) Method for effective binary translation between different instruction sets using emulated supervisor flag and multiple page tables
US6817011B1 (en) Memory allocation profiling to discover high frequency allocators
US5933848A (en) System for managing the caching of data of a mass storage within a portion of a system memory
JPH0820975B2 (ja) コンピュータシステムおよびコンピュータ上で実行されるトレース方法
Wahbe Efficient data breakpoints
US20040111707A1 (en) Debugger for multiple processors and multiple debugging types
US5873124A (en) Virtual memory scratch pages
KR101000543B1 (ko) 데이터 프로세서의 보안을 개선하기 위한 방법 및 장치
US20060294433A1 (en) Debugging using watchpoints
US7293207B2 (en) Method for testing memory in a computer system utilizing a CPU with either 32-bit or 36-bit memory addressing
US8635603B2 (en) Handling debugger breakpoints in a shared instruction system
US6842893B1 (en) Method for global breakout identification
US20040064521A1 (en) Method for exchanging information between operating systems coexisting on the same computer
US20040068632A1 (en) Method and apparatus for using an ACPI NVS memory region as an alternative CMOS information area

Legal Events

Date Code Title Description
A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20060912