JPH05189225A - パッチ修正装置 - Google Patents
パッチ修正装置Info
- Publication number
- JPH05189225A JPH05189225A JP4004022A JP402292A JPH05189225A JP H05189225 A JPH05189225 A JP H05189225A JP 4004022 A JP4004022 A JP 4004022A JP 402292 A JP402292 A JP 402292A JP H05189225 A JPH05189225 A JP H05189225A
- Authority
- JP
- Japan
- Prior art keywords
- code
- patch
- code part
- data
- correcting
- 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
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】 パッチ修正を、より容易にかつより正確に行
うことを目的とする。 【構成】 パッチ修正を行う際にデータ部とコード部と
の追加、挿入および削除が行える手段1、2、3、4、
6、7、8、9、10と、挿入または削除に伴うアドレ
スずれを補正する手段5、11とを備えたことを特徴と
する。
うことを目的とする。 【構成】 パッチ修正を行う際にデータ部とコード部と
の追加、挿入および削除が行える手段1、2、3、4、
6、7、8、9、10と、挿入または削除に伴うアドレ
スずれを補正する手段5、11とを備えたことを特徴と
する。
Description
【0001】
【産業上の利用分野】本発明は、プログラムのパッチ修
正手段に関する。
正手段に関する。
【0002】
【従来の技術】プログラムのパッチ修正を行う場合に、
プログラムを作成する際にあらかじめパッチ用のエリア
を確保しておき、コード部の修正を行う際に上書きだけ
では不可能な場合はパッチエリアにサブルーチンを作成
し、ジャンプ命令やコール命令でパッチエリアに処理を
渡しパッチエリアで処理を行って戻るように修正を行
い、元のプログラムに不要な処理が含まれていた場合は
その部分を全てノットオペレーションとするかその部分
を通らないように修正を行い、データ部に関しては初期
値の修正以外はできなかった。
プログラムを作成する際にあらかじめパッチ用のエリア
を確保しておき、コード部の修正を行う際に上書きだけ
では不可能な場合はパッチエリアにサブルーチンを作成
し、ジャンプ命令やコール命令でパッチエリアに処理を
渡しパッチエリアで処理を行って戻るように修正を行
い、元のプログラムに不要な処理が含まれていた場合は
その部分を全てノットオペレーションとするかその部分
を通らないように修正を行い、データ部に関しては初期
値の修正以外はできなかった。
【0003】
【発明が解決しようとする課題】このような従来例で
は、必要なデータエリアの追加および挿入や不要なデー
タエリアの削除ができず、コード部でも命令の挿入や削
除ができないので、パッチ修正を行う際にほとんどの処
理をパッチエリアで行わなければならず処理の流れが複
雑になり、ロジックの大幅な変更が必要な場合やデータ
エリアが不足な場合に修正がかなり難しくなり、パッチ
修正に時間がかかり、パッチ修正ミスも多くなる欠点が
あった。
は、必要なデータエリアの追加および挿入や不要なデー
タエリアの削除ができず、コード部でも命令の挿入や削
除ができないので、パッチ修正を行う際にほとんどの処
理をパッチエリアで行わなければならず処理の流れが複
雑になり、ロジックの大幅な変更が必要な場合やデータ
エリアが不足な場合に修正がかなり難しくなり、パッチ
修正に時間がかかり、パッチ修正ミスも多くなる欠点が
あった。
【0004】本発明は、このような欠点を除去するもの
で、パッチ修正がより容易にかつより正確に行える手段
をもつパッチ修正装置を提供することを目的とする。
で、パッチ修正がより容易にかつより正確に行える手段
をもつパッチ修正装置を提供することを目的とする。
【0005】
【課題を解決するための手段】本発明は、データ部とコ
ード部とをもつセグメントで構成されたプログラムに対
してパッチ修正を施すパッチ修正装置において、パッチ
修正するセグメントを選択するセグメント選択手段と、
上記セグメント選択手段で選択されたセグメントのデー
タ部をパッチ修正する手段と初期値の設定を行う手段と
を含む第一パッチ修正手段と、上記セグメント選択手段
で選択されたセグメントのコード部をパッチ修正する第
二パッチ修正手段とを備えたことを特徴とする。
ード部とをもつセグメントで構成されたプログラムに対
してパッチ修正を施すパッチ修正装置において、パッチ
修正するセグメントを選択するセグメント選択手段と、
上記セグメント選択手段で選択されたセグメントのデー
タ部をパッチ修正する手段と初期値の設定を行う手段と
を含む第一パッチ修正手段と、上記セグメント選択手段
で選択されたセグメントのコード部をパッチ修正する第
二パッチ修正手段とを備えたことを特徴とする。
【0006】ここで、上記第一パッチ修正手段に含まれ
るパッチ修正する手段は、データ部の追加を行うデータ
部追加手段、データ部の挿入を行うデータ部挿入手段お
よびデータ部の削除を行うデータ部削除手段を備え、上
記第二パッチ修正手段は、逆アセンブル変換を行ったコ
ード部を参照するコード部逆アセンブル手段およびコー
ド部が記述されたアセンブラ言語をマシン語に変換する
コード部アセンブル手段を備え、上記コード部逆アセン
ブル手段および上記コード部アセンブル手段を使用して
コード部の追加を行うコード部追加手段、上記コード部
逆アセンブル手段および上記コード部アセンブル手段を
使用してコード部の挿入を行うコード部挿入手段および
上記コード部逆アセンブル手段を使用してコード部の削
除を行うコード部削除手段を備えることが望ましい。
るパッチ修正する手段は、データ部の追加を行うデータ
部追加手段、データ部の挿入を行うデータ部挿入手段お
よびデータ部の削除を行うデータ部削除手段を備え、上
記第二パッチ修正手段は、逆アセンブル変換を行ったコ
ード部を参照するコード部逆アセンブル手段およびコー
ド部が記述されたアセンブラ言語をマシン語に変換する
コード部アセンブル手段を備え、上記コード部逆アセン
ブル手段および上記コード部アセンブル手段を使用して
コード部の追加を行うコード部追加手段、上記コード部
逆アセンブル手段および上記コード部アセンブル手段を
使用してコード部の挿入を行うコード部挿入手段および
上記コード部逆アセンブル手段を使用してコード部の削
除を行うコード部削除手段を備えることが望ましい。
【0007】また、上記データ部挿入手段および上記デ
ータ部削除手段によるデータ部の挿入および削除により
ずれが発生したデータ部アドレスの補正を行うデータ部
アドレス補正手段と、上記コード部挿入手段および上記
コード部削除手段によるコード部の挿入および削除によ
りずれが発生した飛び先アドレスを含むコード部アドレ
スの補正を行うコード部アドレス補正手段とを備えるこ
とが望ましい。
ータ部削除手段によるデータ部の挿入および削除により
ずれが発生したデータ部アドレスの補正を行うデータ部
アドレス補正手段と、上記コード部挿入手段および上記
コード部削除手段によるコード部の挿入および削除によ
りずれが発生した飛び先アドレスを含むコード部アドレ
スの補正を行うコード部アドレス補正手段とを備えるこ
とが望ましい。
【0008】
【作用】プログラムのパッチ修正を行う際にデータ部や
コード部を問わず上書きのみでなく追加、挿入および削
除を行う。また、プログラムにパッチの追加、挿入およ
び削除を行ったことにより影響を受けるメモリのアドレ
スや飛び先等のずれを自動的に補正する。
コード部を問わず上書きのみでなく追加、挿入および削
除を行う。また、プログラムにパッチの追加、挿入およ
び削除を行ったことにより影響を受けるメモリのアドレ
スや飛び先等のずれを自動的に補正する。
【0009】
【実施例】以下、本発明の一実施例について図面を参照
して説明する。図1はこの実施例の構成を示すブロック
構成図である。この実施例は、図1に示すように、パッ
チ修正を行うセグメントを利用者に選択させることがで
きるセグメント選択手段1と、データエリアの追加を行
うセグメントを選択し、セグメントの最大値を越えない
範囲でデータエリアの追加を行うことができ、同時に初
期値の設定を行うことができる機能を利用者に提供する
データ部追加手段2と、データエリアの挿入を行うセグ
メントを選択し、セグメントの最大値を越えない範囲で
データエリアの挿入を行うことができ、同時に初期値の
設定を行うことができる機能を利用者に提供するデータ
部挿入手段3と、データエリアの削除を行うセグメント
を選択し、セグメントの最小値を越えない範囲でデータ
エリアの削除を行うデータ部削除手段4と、データ部挿
入手段3またはデータ部削除手段4を使用したことによ
って影響が生じる部分をコード部で更新または参照して
いる場合に、データ部の挿入または削除によって生じた
ずれを補正し、他の部分に影響が生じないようにし、セ
グメントの情報等も修正に合わせて変更するデータ部ア
ドレス補正手段5と、コード部をパッチ修正する際に、
プログラムの逆アセンブルを行いアドレス以外はアセン
ブラ言語で記述したソースファイルを参照する場合とほ
ぼ同じイメージで参照することができるコード部逆アセ
ンブル手段6と、コード部をパッチ修正する際に、命令
等のコードをそのまま記述するのではなくアドレス以外
アセンブラ言語で記述する場合と同じように記述するこ
とができる機能を持ち、記述されたものの文法チェック
を行いマシン語へ変換するコード部アセンブル手段7
と、コード部をパッチ修正する際に、コード部逆アセン
ブル手段6とコード部アセンブル手段7とを使用し、セ
グメントの最大値を越えない範囲であればアドレス以外
はテキストエディタでアセンブラ言語で記述されたソー
スファイルに追加を行う場合とほぼ同じようにコード部
の追加を行うことができるコード部追加手段8と、コー
ド部をパッチ修正する際に、コード部逆アセンブル手段
6とコード部アセンブル手段7とを使用し、セグメント
の最大値を越えない範囲であればアドレス以外はテキス
トエディタでアセンブラ言語で記述されたソースファイ
ルに挿入を行う場合とほぼ同じようにコード部の挿入を
行うことができるコード部挿入手段9と、コード部をパ
ッチ修正する際に、コード部逆アセンブル手段6を使用
し、テキストエディタでアセンブラ言語で記述されたソ
ースファイルの一部を削除する場合とほぼ同じようにコ
ード部の削除を行うことができるコード部削除手段10
と、コード部挿入手段9またはコード部削除手段10を
使用したことによって他の部分飛び先のずれ等の影響が
生じた際に影響が生じた全ての部分を利用者に意識させ
ることなく補正し、セグメント情報等も自動的に変更す
るコード部アドレス補正手段11とを備える。すなわ
ち、この実施例は、図1に示すように、データ部とコー
ド部とをもつセグメントで構成されたプログラムからパ
ッチ修正するセグメントを選択するセグメント選択手段
1と、セグメント選択手段1で選択されたセグメントの
データ部をパッチ修正する手段と初期値の設定を行う手
段とを含む第一パッチ修正手段と、セグメント選択手段
1で選択されたセグメントのコード部をパッチ修正する
第二パッチ修正手段とを備え、ここで、上記第一パッチ
修正手段に含まれるパッチ修正する手段は、データ部の
追加を行うデータ部追加手段2、データ部の挿入を行う
データ部挿入手段3およびデータ部の削除を行うデータ
部削除手段4を備え、上記第二パッチ修正手段は、逆ア
センブル変換を行ったコード部を参照するコード部逆ア
センブル手段6およびコード部が記述されたアセンブラ
言語をマシン語に変換するコード部アセンブル手段7を
備え、コード部逆アセンブル手段6およびコード部アセ
ンブル手段7を使用してコード部の追加を行うコード部
追加手段8、コード部逆アセンブル手段6およびコード
部アセンブル手段7を使用してコード部の挿入を行うコ
ード部挿入手段9およびコード部逆アセンブル手段6を
使用してコード部の削除を行うコード部削除手段10を
備え、さらに、データ部挿入手段3およびデータ部削除
手段4によるデータ部の挿入および削除によりずれが発
生したデータ部アドレスの補正を行うデータ部アドレス
補正手段5と、コード部挿入手段9およびコード部削除
手段10によるコード部の挿入および削除によりずれが
発生した飛び先アドレスを含むコード部アドレスの補正
を行うコード部アドレス補正手段11とを備える。
して説明する。図1はこの実施例の構成を示すブロック
構成図である。この実施例は、図1に示すように、パッ
チ修正を行うセグメントを利用者に選択させることがで
きるセグメント選択手段1と、データエリアの追加を行
うセグメントを選択し、セグメントの最大値を越えない
範囲でデータエリアの追加を行うことができ、同時に初
期値の設定を行うことができる機能を利用者に提供する
データ部追加手段2と、データエリアの挿入を行うセグ
メントを選択し、セグメントの最大値を越えない範囲で
データエリアの挿入を行うことができ、同時に初期値の
設定を行うことができる機能を利用者に提供するデータ
部挿入手段3と、データエリアの削除を行うセグメント
を選択し、セグメントの最小値を越えない範囲でデータ
エリアの削除を行うデータ部削除手段4と、データ部挿
入手段3またはデータ部削除手段4を使用したことによ
って影響が生じる部分をコード部で更新または参照して
いる場合に、データ部の挿入または削除によって生じた
ずれを補正し、他の部分に影響が生じないようにし、セ
グメントの情報等も修正に合わせて変更するデータ部ア
ドレス補正手段5と、コード部をパッチ修正する際に、
プログラムの逆アセンブルを行いアドレス以外はアセン
ブラ言語で記述したソースファイルを参照する場合とほ
ぼ同じイメージで参照することができるコード部逆アセ
ンブル手段6と、コード部をパッチ修正する際に、命令
等のコードをそのまま記述するのではなくアドレス以外
アセンブラ言語で記述する場合と同じように記述するこ
とができる機能を持ち、記述されたものの文法チェック
を行いマシン語へ変換するコード部アセンブル手段7
と、コード部をパッチ修正する際に、コード部逆アセン
ブル手段6とコード部アセンブル手段7とを使用し、セ
グメントの最大値を越えない範囲であればアドレス以外
はテキストエディタでアセンブラ言語で記述されたソー
スファイルに追加を行う場合とほぼ同じようにコード部
の追加を行うことができるコード部追加手段8と、コー
ド部をパッチ修正する際に、コード部逆アセンブル手段
6とコード部アセンブル手段7とを使用し、セグメント
の最大値を越えない範囲であればアドレス以外はテキス
トエディタでアセンブラ言語で記述されたソースファイ
ルに挿入を行う場合とほぼ同じようにコード部の挿入を
行うことができるコード部挿入手段9と、コード部をパ
ッチ修正する際に、コード部逆アセンブル手段6を使用
し、テキストエディタでアセンブラ言語で記述されたソ
ースファイルの一部を削除する場合とほぼ同じようにコ
ード部の削除を行うことができるコード部削除手段10
と、コード部挿入手段9またはコード部削除手段10を
使用したことによって他の部分飛び先のずれ等の影響が
生じた際に影響が生じた全ての部分を利用者に意識させ
ることなく補正し、セグメント情報等も自動的に変更す
るコード部アドレス補正手段11とを備える。すなわ
ち、この実施例は、図1に示すように、データ部とコー
ド部とをもつセグメントで構成されたプログラムからパ
ッチ修正するセグメントを選択するセグメント選択手段
1と、セグメント選択手段1で選択されたセグメントの
データ部をパッチ修正する手段と初期値の設定を行う手
段とを含む第一パッチ修正手段と、セグメント選択手段
1で選択されたセグメントのコード部をパッチ修正する
第二パッチ修正手段とを備え、ここで、上記第一パッチ
修正手段に含まれるパッチ修正する手段は、データ部の
追加を行うデータ部追加手段2、データ部の挿入を行う
データ部挿入手段3およびデータ部の削除を行うデータ
部削除手段4を備え、上記第二パッチ修正手段は、逆ア
センブル変換を行ったコード部を参照するコード部逆ア
センブル手段6およびコード部が記述されたアセンブラ
言語をマシン語に変換するコード部アセンブル手段7を
備え、コード部逆アセンブル手段6およびコード部アセ
ンブル手段7を使用してコード部の追加を行うコード部
追加手段8、コード部逆アセンブル手段6およびコード
部アセンブル手段7を使用してコード部の挿入を行うコ
ード部挿入手段9およびコード部逆アセンブル手段6を
使用してコード部の削除を行うコード部削除手段10を
備え、さらに、データ部挿入手段3およびデータ部削除
手段4によるデータ部の挿入および削除によりずれが発
生したデータ部アドレスの補正を行うデータ部アドレス
補正手段5と、コード部挿入手段9およびコード部削除
手段10によるコード部の挿入および削除によりずれが
発生した飛び先アドレスを含むコード部アドレスの補正
を行うコード部アドレス補正手段11とを備える。
【0010】次に、この実施例の動作を説明する。セグ
メント選択手段1でパッチ修正するセグメントを選択し
(ステップS1)、データ部追加手段2、データ部挿入
手段3およびデータ部削除手段4を用いてデータ部をパ
ッチ修正し(ステップS2、3および4)、データ部ア
ドレス補正手段5を用いてデータアドレスの補正を行う
(ステップS5)。また、コード修正を行う場合は、コ
ード部逆アセンブル手段6を用いてプログラムを参照し
(ステップS6)、コード部アセンブル手段7、コード
部追加手段8、コード部挿入手段9およびコード部削除
手段10を用いてプログラムをアセンブラ言語で記述さ
れたソースファイルを更新する場合とほぼ同程度の操作
性でプログラムをパッチ修正し(ステップS7、8、9
および10)、コード部アドレス補正手段11を用いて
コード部のアドレス補正を行う(ステップS11)。
メント選択手段1でパッチ修正するセグメントを選択し
(ステップS1)、データ部追加手段2、データ部挿入
手段3およびデータ部削除手段4を用いてデータ部をパ
ッチ修正し(ステップS2、3および4)、データ部ア
ドレス補正手段5を用いてデータアドレスの補正を行う
(ステップS5)。また、コード修正を行う場合は、コ
ード部逆アセンブル手段6を用いてプログラムを参照し
(ステップS6)、コード部アセンブル手段7、コード
部追加手段8、コード部挿入手段9およびコード部削除
手段10を用いてプログラムをアセンブラ言語で記述さ
れたソースファイルを更新する場合とほぼ同程度の操作
性でプログラムをパッチ修正し(ステップS7、8、9
および10)、コード部アドレス補正手段11を用いて
コード部のアドレス補正を行う(ステップS11)。
【0011】
【発明の効果】本発明は、以上説明したように、パッチ
修正の容易性と正確性とが向上する効果がある。
修正の容易性と正確性とが向上する効果がある。
【図1】本発明実施例の構成を示すブロック構成図。
【図2】本発明実施例の動作を示すフローチャート。
1 セグメント選択手段 2 データ部追加手段 3 データ部挿入手段 4 データ部削除手段 5 データ部アドレス補正手段 6 コード部逆アセンブル手段 7 コード部アセンブル手段 8 コード部追加手段 9 コード部挿入手段 10 コード部削除手段 11 コード部アドレス補正手段
Claims (3)
- 【請求項1】 データ部とコード部とをもつセグメント
で構成されたプログラムに対してパッチ修正を施すパッ
チ修正装置において、 パッチ修正するセグメントを選択するセグメント選択手
段と、 上記セグメント選択手段で選択されたセグメントのデー
タ部をパッチ修正する手段と初期値の設定を行う手段と
を含む第一パッチ修正手段と、 上記セグメント選択手段で選択されたセグメントのコー
ド部をパッチ修正する第二パッチ修正手段とを備えたこ
とを特徴とするパッチ修正装置。 - 【請求項2】 上記第一パッチ修正手段に含まれるパッ
チ修正する手段は、データ部の追加を行うデータ部追加
手段、データ部の挿入を行うデータ部挿入手段およびデ
ータ部の削除を行うデータ部削除手段を備え、上記第二
パッチ修正手段は、逆アセンブル変換を行ったコード部
を参照するコード部逆アセンブル手段およびコード部が
記述されたアセンブラ言語をマシン語に変換するコード
部アセンブル手段を備え、上記コード部逆アセンブル手
段および上記コード部アセンブル手段を使用してコード
部の追加を行うコード部追加手段、上記コード部逆アセ
ンブル手段および上記コード部アセンブル手段を使用し
てコード部の挿入を行うコード部挿入手段および上記コ
ード部逆アセンブル手段を使用してコード部の削除を行
うコード部削除手段を備えた請求項1記載のパッチ修正
装置。 - 【請求項3】 上記データ部挿入手段および上記データ
部削除手段によるデータ部の挿入および削除によりずれ
が発生したデータ部アドレスの補正を行うデータ部アド
レス補正手段と、上記コード部挿入手段および上記コー
ド部削除手段によるコード部の挿入および削除によりず
れが発生した飛び先アドレスを含むコード部アドレスの
補正を行うコード部アドレス補正手段とを備えた請求項
1記載のパッチ修正装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4004022A JPH05189225A (ja) | 1992-01-13 | 1992-01-13 | パッチ修正装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4004022A JPH05189225A (ja) | 1992-01-13 | 1992-01-13 | パッチ修正装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05189225A true JPH05189225A (ja) | 1993-07-30 |
Family
ID=11573342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4004022A Pending JPH05189225A (ja) | 1992-01-13 | 1992-01-13 | パッチ修正装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05189225A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100403983B1 (ko) * | 1999-04-23 | 2003-11-03 | 인터내셔널 비지네스 머신즈 코포레이션 | 응용 프로그램의 관리방법 |
-
1992
- 1992-01-13 JP JP4004022A patent/JPH05189225A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100403983B1 (ko) * | 1999-04-23 | 2003-11-03 | 인터내셔널 비지네스 머신즈 코포레이션 | 응용 프로그램의 관리방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH05189225A (ja) | パッチ修正装置 | |
JP2009048259A (ja) | プログラム変換方法及び変換用プログラム | |
JP3337763B2 (ja) | 図面説明文生成装置 | |
JPH06314194A (ja) | パッチ方式 | |
JPH05173844A (ja) | コーディングミス修正方式 | |
JP3138571B2 (ja) | 文字列置換装置 | |
JP3114907B2 (ja) | プログラマブルコントローラのシーケンスプログラムの変更方法 | |
JPH11353162A (ja) | プログラム修正結果比較方法 | |
JPS5969831A (ja) | 文書作成装置 | |
JPH05120067A (ja) | プログラムパツチ方式 | |
JP2954041B2 (ja) | 日本語によるプログラム作成機能付きromエミュレーションシステムと処理方法 | |
JPH05100865A (ja) | コンパイル方式 | |
JPH07110765A (ja) | 文書編集方式 | |
JPH04287134A (ja) | 簡易トレース情報取得方式 | |
JPS60126732A (ja) | インサートパッチ処理方法 | |
JPH04321135A (ja) | コンパイラのオブジェクト修正指示方式 | |
JPH02284239A (ja) | 言語処理プログラムの実行方式 | |
JP2000035882A (ja) | 関数呼び出しの手順を動的に変更する方法 | |
JPH0511983A (ja) | 他言語プログラム間インタフエースの整合性検査と自動修復方式 | |
JP2001016471A (ja) | 画像処理装置 | |
JPS62251938A (ja) | リストフアイル更新方式 | |
JPH0546509A (ja) | 通信回線の定義方式 | |
JPH03100730A (ja) | 高級言語による緊急修正データ作成処理方法 | |
JPS62182921A (ja) | 文書フアイル管理方式 | |
JPH07219949A (ja) | 文書作成装置 |