JPH0773032A - ソフトウェアシステムを動的に修正する方法 - Google Patents

ソフトウェアシステムを動的に修正する方法

Info

Publication number
JPH0773032A
JPH0773032A JP5292379A JP29237993A JPH0773032A JP H0773032 A JPH0773032 A JP H0773032A JP 5292379 A JP5292379 A JP 5292379A JP 29237993 A JP29237993 A JP 29237993A JP H0773032 A JPH0773032 A JP H0773032A
Authority
JP
Japan
Prior art keywords
cco
interpreter
extensible
rom
based embedded
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
Application number
JP5292379A
Other languages
English (en)
Inventor
Philip S Kasten
エス.カステン フィリップ
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.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co Inc
AT&T 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 American Telephone and Telegraph Co Inc, AT&T Corp filed Critical American Telephone and Telegraph Co Inc
Publication of JPH0773032A publication Critical patent/JPH0773032A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3644Debugging of software by instrumenting at runtime

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)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 ROMベースの埋め込みソフトウェアシステ
ムのデバッグ・修正を容易に実現する。 【構成】 拡張可能インタプリタを使用し、ROMベー
スの埋め込みソフトウェアを通じて「カスタマイズ可能
コールアウト」(CCO)の要求を挿入する。これによ
り、ROMベースの埋め込みソフトウェアシステムは、
実行時に容易に直接拡張することができ、実質的に無制
限の新たな機能を提供する。このシステムソフトウェア
には再構築または再ロードの必要がなく、デバッグ・修
正ソフトウェアの機能は、問題点の検出時や修正の実行
時に決定され、それ以前ではない。拡張可能インタプリ
タを使用することによって、ROMベースの埋め込みソ
フトウェアの拡張が実現される。すなわち、追加の外部
コンピュータプラットフォームやコンパイラを必要とせ
ず、直接にシステムに書き込まれロードされる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ソフトウェアシステム
のデバッグおよび修正に関し、特に、読み出し専用メモ
リ(ROM)ベースの埋め込みソフトウェアシステムの
デバッグおよび修正に関する。
【0002】
【従来の技術】ROMベースの埋め込みソフトウェアシ
ステムのデバッグおよび修正は困難なことが多い。シス
テムがROM外で動作していれば、そのプログラムは修
正される。問題が生じた場合、開発者やデバッガは、そ
の問題の原因を決定するために、特殊な外部ハードウェ
アおよびソフトウェアに頼ることを必要とするか、また
は、同じくそのシステムに埋めこまれた所定のテストソ
フトウェアに頼らなければならないことが多い。第1の
方法には問題が多い。外部装置は、問題が起こった装置
の現場では通常は使用可能でない。また、外部装置は高
価である。第2の方法にも問題は多い。埋め込みテスト
・デバッグコードはまったく期待によるものである(開
発者は、開発時には、モニタ/デバッグソフトウェアが
すべきことを推測することができるのみである)。埋め
込みテスト/デバッグコードは製品内でスペースをと
る。システムは、組み込みモニタ/デバッガを有するこ
とが多い。これは汎用であるが、16進データダンプ、
シングルステップ実行などしか可能でなく、ソフトウェ
アシステムのデータ構造やアーキテクチャの知識を有し
ない。埋め込みテスト/デバッグソフトウェアが不十分
であると分かれば、機能を追加するには新たなソフトウ
ェアロードが構築され、システムに再ロードしなければ
ならない。このような方法は時間がかかり、高価となる
ことが多い。
【0003】
【発明が解決しようとする課題】ROMベースのシステ
ム内のファームウェアプログラムの動的変更のための既
知の構成の1つが、米国特許第4,607,332号
(発行日:1986年8月19日、発明者:イー.エ
ス.ゴールドバーグ(E. S. Goldberg))に開示されてい
る。しかし、この構成は、修正すべきROMベースの埋
め込みソフトウェアの適切なソフトウェア置換を実現す
るために、外部コンピューティングプラットフォームや
コンパイラの使用を必要とする。結果として、開発者/
デバッガは、ROMベースの埋め込みソフトウェアシス
テムが存在する現場で利用可能でない追加のコンピュー
ティングおよびコンパイル装置へのアクセスを必要とす
る。
【0004】
【課題を解決するための手段】いわゆるROMベースの
埋め込みソフトウェアシステムのための従来のデバッグ
/修正ソフトウェアシステムの問題点は、拡張可能イン
タプリタを使用し、ROMベースの埋め込みソフトウェ
アを通じて「カスタマイズ可能コールアウト」(CC
O)の要求を挿入することによって解決される。これに
より、ROMベースの埋め込みソフトウェアシステム
は、現場で実行時に容易に直接拡張することができ、拡
張によって実質的に無制限の新たな機能を提供する。本
発明の利点は、ROMベースの埋め込みシステムソフト
ウェアに再構築または再ロードの必要がなく、デバッグ
/修正ソフトウェアの機能は、問題点の検出時や修正の
実行時に決定され、それ以前ではない。さらに、本発明
によれば、拡張可能インタプリタを使用することによっ
て、ROMベースの埋め込みソフトウェアの拡張が実現
される。すなわち、追加の外部コンピュータプラットフ
ォームやコンパイラを必要とすることも使用することも
なく、直接にシステムに書き込まれロードされる。
【0005】
【実施例】図1に、単純化して、システム100を示
す。システム100は、ランダムアクセスメモリ(RA
M)101、読み出し専用メモリ(ROM)102、拡
張可能インタプリタ103、マイクロプロセッサ104
およびいわゆる「ダム」端末105を有する。拡張可能
インタプリタ103がRAM101およびROM102
の両方にわたって存在するように図示されていることに
注意すべきである。拡張可能インタプリタ103として
使用可能なものには、プログラミング言語Forthの
修正Forth−83標準処理系がある(後述)。プロ
グラミング言語Forthは周知である(例えば、レオ
・ブロディ著「Forth入門」(プレンティス・ホー
ル社、1981年)という文献を参照)。本実施例で表
されているシステム100は、埋め込みソフトウェアシ
ステムである。その基本システムソフトウェアはROM
102内に固定されている。本実施例は、単一プログラ
ムに関して説明するが、本発明の原理は、マルチタスク
オペレーティングシステムおよび多くのタスクからなる
ソフトウェアアーキテクチャにも等しく適用可能であ
る。
【0006】図2に、単純化して、本発明の動作状況を
示す。特に、ROM102は、埋め込み固定装置システ
ムプログラム201、ならびに、拡張可能インタプリタ
103の一部、すなわち、修正Forthカーネル20
5および定義されたCCOである“y”(DATA)2
07を含む。RAM201もまた拡張可能インタプリタ
103の一部を含み、この例では、定義されたCCOで
ある“x”(DATA)206、“w”(DATA)2
09および“z”(DATA)210を含む。“x”
(DATA)という記法は、論理関数“x”をコール
し、パラメータ(ない場合もある)を渡すことを示すた
めに使用される。
【0007】固定装置システムプログラム(以下「固定
プログラム」という)201は、固定プログラムの「標
準」動作ステップを含み、さらに、いわゆる「カスタマ
イズ可能コールアウト」(CCO)を呼び出す試行を行
うことによって本発明の原理を実行するステップを含
む。例えば、動作1(ステップ202)、動作2(ステ
ップ203)から動作N(ステップ214)まではいわ
ゆる「標準動作ステップ」である。固定プログラム20
1には、CCOである“x”(DATA)204の要求
も含まれる。この例では固定プログラム201内にただ
1つのCCO要求のみが図示されているが、作成者の決
定によって、任意数のCCOの要求を所望の位置に挿入
することが可能である。また、固定プログラム201に
は、結果に基づく実行条件分岐ステップ208が含まれ
る。実行は、呼出試行中の特定CCOの結果に依存す
る。存在し呼び出されているCCOに依存して、ステッ
プ208は所望の数の動作、例えば、動作3A(21
1)、動作3B(212)または動作3C(213)を
実行することができる。例えば、この例の動作3B(2
12)は、固定プログラム201内の動作であり、これ
はCCO“x”(DATA)204が定義されていない
場合に実行される。同様に、RAM101内のCCO
“x”(DATA)206が定義されており、結果の値
を返した場合、動作3A(211)または動作3C(2
13)のいずれかが実行されることがある(後述)。特
定のCCOによって任意数のプログラムステップを定義
することができ、固定プログラム201は特定の定義さ
れたプログラムステップから再入可能であることは明ら
かである。固定プログラム201が書かれているときに
は、おそらく“x”(DATA)が提供する機能は未知
である。実際、“x”(DATA)は存在しないことも
ある。固定プログラム201はこのいわゆる「フッ
ク」、すなわち、CCO“x”(DATA)204の要
求を適所に有するのみである。CCO“x”(DAT
A)204の要求が固定プログラム201によって入力
されると、拡張可能インタプリタ103およびその中の
修正Forthカーネル205は、CCO“x”(DA
TA)が(RAM101またはROM102内に)存在
するかどうか判定する。この例では、“x”(DAT
A)206がRAM101内に存在する。“x”(DA
TA)206が存在するため、これはRAM101内で
実行され、結果値をセットすることができる。その後、
制御は修正Forthカーネル205に戻り、続いて、
固定プログラム201、特に、ステップ208に戻る。
例えば、“x”(DATA)がRAM101にもROM
102にも存在しなかった場合、制御は固定プログラム
201に戻り、ステップ208によって、「標準」固定
プログラム動作(例えば動作3B(212))を実行す
る。修正Forthカーネル205およびその動作の詳
細は図3に関して後述する。任意の時刻に、任意数(0
を含む)CCOが実際に定義されている。いくつかのC
COは、“y”(DATA)207のようにROM10
2内にあり、いくつかは、例えば“x”(DATA)2
06、“w”(DATA)209および“z”(DAT
A)210のようにRAM101内にある。さらに、お
そらく少なくとも1つのCCO(例えば“y”(DAT
A)207)は固定プログラム201内に定義される。
この少なくとも1つの定義されたCCOは、ユーザが拡
張可能インタプリタ103と対話することを可能にする
ために使用され、修正Forthカーネル205によっ
てRAM101内にCCOを定義することが可能とな
る。拡張可能インタプリタ103は、CCOを直接現場
で作成することを可能にし、それによって、追加の外部
コンピュータプラットフォームやコンパイラの必要なし
に、固定プログラム201の拡張によって無制限に新た
な機能を提供することができる。
【0008】図3は、図2の修正Forthカーネル2
05の動作ステップを説明する単純化した流れ図であ
る。この例では、修正Forthカーネル205は、図
2の“x”(DATA)204のCCO要求によって開
始される。ただし、Forthカーネルは、端末105
(図1)によって関係することも可能である。次に、条
件分岐点301は、ForthがCCOから呼び出され
たかどうか判定するテストをする。そのテスト結果が偽
である場合、ステップ302によって、本配置は、端末
105を通じてユーザと通常のForth対話を実行す
る。この対話によって、ユーザは、とりわけ、Fort
h言語で書かれたCCOを定義し、RAM101内に拡
張可能インタプリタ103を拡張することができる。ス
テップ301のテスト結果が真である場合、Forth
がCCO“x”(DATA)204から呼び出され、条
件分岐点304は、そのCCOが定義されているかどう
か判定するテストをする。ステップ304のテスト結果
が偽である場合、そのCCOはステップ305は、結果
値「発見されず」を固定プログラム201に、特にステ
ップ208に返す。上記のように、このCCOが定義さ
れていないため、固定プログラム201は、いわゆる
「標準」プログラムステップ(この例では動作3B(2
12))を実行することになる。ステップ304のテス
ト結果が真である場合、ステップ306は以前の結果を
クリアする。その後、ステップ307がその特定CCO
(この例では、RAM101内のCCO“x”(DAT
A)206)を実行する。CCOは、呼び出している固
定プログラムによって使用可能な結果値をセットするこ
とができる。これによって、結果に基づく実行条件分岐
ステップ208が可能となる。実行後、制御はステップ
307に戻り、その後、固定プログラム201のステッ
プ208(図2)に戻る。結果に基づく実行条件分岐ス
テップ208は、“x”(DATA)206で定義され
る動作に依存して、任意数の動作を実行することができ
る。この例では、動作3A(211)または3C(21
3)である。特定の定義された動作を実行した後は、固
定プログラムは、特定CCOで定義されるように、他の
動作ステップから開始されることも可能である。特定の
CCOで定義されている特定プログラムはユーザが入力
したForthプログラムである。従って、追加の外部
コンピューティングプラットフォームやコンパイラを必
要とせずに、装置システムソフトウェアの実行中に、開
始する所望の時刻に、完全にカスタマイズすることが可
能である。
【0009】簡潔に言えば、以下の例では、周知のプロ
グラミング言語Cのような手続型プログラム言語におい
て、プログラムは一連の関数からなり、それぞれおそら
く引数すなわちパラメータとともにコールされる。ある
場合には、これらのパラメータの妥当性は自明でなく、
非常に時間がかかる。従って、すべての関数がそれぞれ
入力パラメータの妥当性検査を実行することは好ましく
ないことが多い。その理由は、そのような妥当性検査は
システム性能に影響するおそれがあり、パラメータが妥
当であることを示す結果を得ることがほとんどであるた
めである。換言すれば、プログラムにパラメータ妥当性
検査を組み込むと、パラメータが妥当であることがほと
んどであるにもかかわらず、妥当性検査をずっと実行す
ることになる。しかし、このようなパラメータ妥当性検
査を使用しないと、パラメータがいつどのようにして不
正確にプログラムにおいて渡されているかをすばやく識
別することが困難である。以前は、妥当性検査アルゴリ
ズムを含まない埋め込みシステムソフトウェアは、この
ような妥当性検査アルゴリズムを付加されると、再構築
され、特定の機器に再ロードされる必要があったが、カ
スタマイズ可能コールアウト(CCO)によって、より
便利で、実現可能性があり、時間およびコストが低い妥
当性検査方法が提供される。特定の関数はそれぞれ唯一
のCCOを呼び出す。通常、こうしたCCOは定義され
ておらず、固定プログラムは性能に影響を与えずに動作
することが可能である。関数のパラメータの妥当性検査
を導入する必要が生じたときには、そのときにCCOが
定義される(一方で、その製品は動作中であり、固定プ
ログラムを実行している)。
【0010】さらに、必要な妥当性検査を実行するCC
Oは必要に応じて付加されるため、そのような妥当性検
査手続が初期開発中に固定プログラム201に挿入され
た場合よりもうまく動作することができる。例えば、5
回に1回、ある関数のパラメータに値10が渡されてお
り、そのパラメータは実際には値12を有するべきであ
る場合、CCOによって付加された妥当性検査プロセス
がこれに備えることができる。ソフトウェア中のバグに
対するこのような洞察は、最初のプログラムを開発中に
は有することが難しい。実際、このような場合には、最
初にはバグが存在しない。システムが、本発明の実施中
にCCOを使用してデバッグされ、その位置が分かった
後、装置の固定プログラム201の1回の再構築および
再ロードをするだけでよい。
【0011】以下に、上記の例のC言語ソースコードに
よる実現を示す。
【表1】
【0012】以下に、上記の例のForth言語による
CCOの定義を示す。
【表2】
【0013】本発明によって導入されるもう1つの強力
な機能は、ソフトウェアブレークポイントを定義する能
力である。例えば、開発者は、パラメータ2が大きすぎ
る場合に、上記のシステムのForthベースのデバッ
ガ以外の実行を停止させたい場合、以下のCCOを定義
することができる。
【0014】
【表3】 上記の例では、正しく定義されたForthワード「a
bort」が、ブレークポイントを実現するために使用
されている。
【0015】
【発明の効果】以上述べたごとく、本発明によれば、R
OMベースの埋め込みソフトウェアシステムのデバッグ
および修正が容易に実現される。重要なことは、CCO
の複雑さが、もとの装置システムソフトウェア内にはな
く、ROM102に埋めこまれた装置システムソフトウ
ェア中に組み込まれないことである。CCOは、実行時
にのみ、必要なときにのみ、必要な作業を実行するのに
必要な機能とともにのみ、付加され、他の外部のコンピ
ュータプラットフォームやコンパイラを要しない。
【図面の簡単な説明】
【図1】システム配置の図である。
【図2】システムの動作を説明する流れ図である。
【図3】システムで使用されるFORTHカーネルへの
修正を説明する図である。
【符号の説明】
100 システム 101 ランダムアクセスメモリ(RAM) 102 読み出し専用メモリ(ROM) 103 拡張可能インタプリタ 104 マイクロプロセッサ 105 ダム端末 201 埋め込み固定装置システムプログラム 205 修正Forthカーネル

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 読み出し専用メモリ(ROM)ベースの
    埋め込みソフトウェアシステムへの少なくとも1つの動
    的な拡張機能を呼び出すステップが、 前記システム内のカスタマイズ可能コールアウト(CC
    O)に対する要求を、そのCCOの識別情報を渡して実
    行した後、拡張可能インタプリタに制御を移すステップ
    と、 拡張可能インタプリタによって、そのCCOが定義され
    ているかどうかを判定するステップと、 そのCCOが定義されている場合には次のステップに進
    み、そうでない場合は前記システムに復帰するステップ
    と、 そのCCOに制御を移すステップとからなることを特徴
    とする、ROMベースの埋め込みソフトウェアシステム
    を動的に修正する方法。
  2. 【請求項2】 拡張可能インタプリタに制御を移すステ
    ップがCCOを要求するステップを含み、前記方法が、
    定義されたCCOを実行するステップをさらに含むこと
    を特徴とする請求項1の方法。
  3. 【請求項3】 拡張可能インタプリタは、他の外部のコ
    ンピュータプラットフォームまたはコンパイラを必要と
    せずに、CCOを直接定義するために使用されることを
    特徴とする請求項2の方法。
  4. 【請求項4】 拡張インタプリタは、前記システムにソ
    フトウェアブレークポイントを設定するために使用され
    ることを特徴とする請求項3の方法。
  5. 【請求項5】 拡張可能インタプリタは、プログラム言
    語Forthで作成されていることを特徴とする請求項
    4の方法。
  6. 【請求項6】 読み出し専用メモリ(ROM)、ランダ
    ムアクセスメモリ(RAM)、マイクロプロセッサおよ
    び端末からなる装置において、カスタマイズ可能コール
    アウト(CCO)に対する要求がROMベースの埋め込
    みソフトウェアシステムに挿入されており、 前記システム内のカスタマイズ可能コールアウト(CC
    O)に対する要求を、そのCCOの識別情報を渡して実
    行した後、拡張可能インタプリタに制御を移すステップ
    と、 拡張可能インタプリタによって、そのCCOが定義され
    ているかどうかを判定するステップと、 そのCCOが定義されている場合には次のステップに進
    み、そうでない場合は前記システムに復帰するステップ
    と、 そのCCOに制御を移すステップとからなることを特徴
    とする、ROMベースの埋め込みソフトウェアシステム
    を動的に修正する方法。
  7. 【請求項7】 拡張可能インタプリタはROM内および
    RAM内に存在し、拡張可能インタプリタに制御を移す
    ステップがCCOを要求するステップを含み、さらに、
    定義されたCCOを実行するステップを含むことを特徴
    とする請求項6の方法。
  8. 【請求項8】 他の外部のコンピュータプラットフォー
    ムまたはコンパイラを必要とせずに、拡張可能インタプ
    リタをRAM内に拡張して新たなCCOを直接定義する
    ために、マイクロプロセッサおよび端末によって拡張可
    能インタプリタと対話することが可能なCCOがROM
    内に存在することを特徴とする請求項7の方法。
  9. 【請求項9】 拡張可能インタプリタは、前記新たなC
    COに対する要求が前記システム内で実行され、そのC
    COの識別情報が拡張可能インタプリタに転送された
    後、前記新たなCCOを呼び出すことができることを特
    徴とする請求項8の方法。
  10. 【請求項10】 拡張インタプリタは、前記システムに
    ソフトウェアブレークポイントを設定するために使用さ
    れることを特徴とする請求項9方法。
  11. 【請求項11】 拡張可能インタプリタは、プログラム
    言語Forthで作成されていることを特徴とする請求
    項10の方法。
JP5292379A 1992-10-29 1993-10-29 ソフトウェアシステムを動的に修正する方法 Pending JPH0773032A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US96802492A 1992-10-29 1992-10-29
US968024 1992-10-29

Publications (1)

Publication Number Publication Date
JPH0773032A true JPH0773032A (ja) 1995-03-17

Family

ID=25513605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5292379A Pending JPH0773032A (ja) 1992-10-29 1993-10-29 ソフトウェアシステムを動的に修正する方法

Country Status (4)

Country Link
US (1) US5740351A (ja)
EP (1) EP0595540A1 (ja)
JP (1) JPH0773032A (ja)
CA (1) CA2101716A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963741A (en) * 1997-01-29 1999-10-05 Nec Corporation Information processor which rewrites instructions in program to dynamically change program structure and method therefor
US6715051B2 (en) 1999-12-24 2004-03-30 Matsushita Electric Industrial Co., Ltd. Program modification device
JP2011504621A (ja) * 2007-11-02 2011-02-10 テルコーディア ライセンシング カンパニー, リミテッド ライアビリティ カンパニー ポリシーが与えられたプログラミングのための方法及びシステム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5896535A (en) * 1996-08-20 1999-04-20 Telefonaktiebolaget L M Ericsson (Publ) Method and system for testing computer system software
US6754891B1 (en) 1998-08-31 2004-06-22 Red Hat, Inc. Debugger system using tracepoints for computer software
US7143407B2 (en) * 2001-07-26 2006-11-28 Kyocera Wireless Corp. System and method for executing wireless communications device dynamic instruction sets
US7404178B2 (en) * 2004-02-18 2008-07-22 Hewlett-Packard Development Company, L.P. ROM-embedded debugging of computer
US7546596B2 (en) * 2004-03-29 2009-06-09 International Business Machines Corporation Non-disruptive method, system and program product for overlaying a first software module with a second software module
US8539469B2 (en) 2004-05-11 2013-09-17 Microsoft Corporation Efficient patching
US7559058B2 (en) 2004-05-11 2009-07-07 Microsoft Corporation Efficient patching
US7890946B2 (en) * 2004-05-11 2011-02-15 Microsoft Corporation Efficient patching
US8863115B2 (en) * 2008-03-20 2014-10-14 Sap Ag Execution of program code having language-level integration of program models
US8117587B1 (en) 2008-06-03 2012-02-14 Richard Paul Testardi Microcontroller-resident software development environment supporting application-level asynchronous event handling, interactive debugging and pin variables for embedded systems
US8806446B2 (en) * 2010-03-22 2014-08-12 Analog Devices, Inc. Methods and apparatus for debugging programs in shared memory
FR3105853B1 (fr) * 2019-12-31 2023-01-06 Proton World Int Nv Système embarqué
FR3105854B1 (fr) * 2019-12-31 2024-07-19 St Microelectronics Rousset Système embarqué

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4312066A (en) * 1979-12-28 1982-01-19 International Business Machines Corporation Diagnostic/debug machine architecture
US4589068A (en) * 1983-10-03 1986-05-13 Digital Equipment Corporation Segmented debugger
US4719564A (en) * 1984-12-10 1988-01-12 Nec Corportion Interpreter linkage system for linking extension interpreters to a basic interpreter
US4819234A (en) * 1987-05-01 1989-04-04 Prime Computer, Inc. Operating system debugger

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963741A (en) * 1997-01-29 1999-10-05 Nec Corporation Information processor which rewrites instructions in program to dynamically change program structure and method therefor
US6715051B2 (en) 1999-12-24 2004-03-30 Matsushita Electric Industrial Co., Ltd. Program modification device
JP2011504621A (ja) * 2007-11-02 2011-02-10 テルコーディア ライセンシング カンパニー, リミテッド ライアビリティ カンパニー ポリシーが与えられたプログラミングのための方法及びシステム
US8448159B2 (en) 2007-11-02 2013-05-21 Tti Inventions C Llc Method and system for policy enabled programming

Also Published As

Publication number Publication date
CA2101716A1 (en) 1994-04-30
US5740351A (en) 1998-04-14
EP0595540A1 (en) 1994-05-04

Similar Documents

Publication Publication Date Title
US6141794A (en) System and method for synchronizing access to shared variables in a virtual machine in a digital computer system
JP4398538B2 (ja) 命令セット内の命令に応答してプロセスを実行するデータ処理システムおよびその命令処理方法
US5504901A (en) Position independent code location system
JPH0773032A (ja) ソフトウェアシステムを動的に修正する方法
US6738965B1 (en) Trace information in a virtual machine
US7757225B2 (en) Linktime recognition of alternative implementations of programmed functionality
US5583988A (en) Method and apparatus for providing runtime checking features in a compiled programming development environment
US9639329B2 (en) System and method for automatic invocation of constructor code for superclasses
US8271965B2 (en) Apparatus to guarantee type and initialization safety in multithreaded programs
JPH08179940A (ja) コンピュータ・アプリケーション・プログラムをデバッグする方法およびコンピュータ・システム
JPH0836488A (ja) ダイナミック・パッチングを使用するランタイム・エラー・チェック方法と装置
WO1995001598A1 (en) System for object oriented dynamic linking based upon a catalog of registered function set or class identifiers
US7124407B1 (en) Method and apparatus for caching native code in a virtual machine interpreter
US7051323B2 (en) Method and apparatus for initializing romized system classes at virtual machine build time
Chiba et al. Using HotSwap for implementing dynamic AOP systems
CN112052051B (zh) 插件处理方法、装置、设备及存储介质
JP2919302B2 (ja) Cpuシミュレーション方法
US5388263A (en) Procedure state descriptor system for digital data processors
Lawall et al. Tarantula: Killing driver bugs before they hatch
KR100303307B1 (ko) 실시간 오퍼레이팅 시스템에서 디버깅동작을 위한 다운로드장치 및 방법
US7039905B1 (en) Compiler device and computer-readable recording medium recorded with compiler program
CN114996128B (zh) 基于asm框架的脚本处理方法、装置、设备及存储介质
US6948095B2 (en) Methods and apparatus for dynamically loading a file on a target computer system
CN113031956A (zh) 程序编译方法和装置以及程序运行方法和装置
JPH06103109A (ja) データプロセッサ、及びこれを用いるデバッグ装置