JPH0588879A - プログラム開発支援システム - Google Patents

プログラム開発支援システム

Info

Publication number
JPH0588879A
JPH0588879A JP3249586A JP24958691A JPH0588879A JP H0588879 A JPH0588879 A JP H0588879A JP 3249586 A JP3249586 A JP 3249586A JP 24958691 A JP24958691 A JP 24958691A JP H0588879 A JPH0588879 A JP H0588879A
Authority
JP
Japan
Prior art keywords
bank
program
bank name
instruction
name
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
JP3249586A
Other languages
English (en)
Inventor
Mitsuko Okumura
晃子 奥村
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP3249586A priority Critical patent/JPH0588879A/ja
Publication of JPH0588879A publication Critical patent/JPH0588879A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 バンクを切り換えて使用するメモリやレジス
タをアクセスする命令が、プログラム設計上使用すべき
バンクを使用しているかを自動的にチェックできるよう
にする。 【構成】 ソースプログラム3は、個々の命令について
プログラム設計上使用すべきバンク名32についての記
述を含み、言語処理プログラム1はソースプログラム3
を入力しオブジェクトコード41とバンク名32と同内
容のバンク名42を含むオブジェクトファイル4を生成
し、ディバッガ2はオブジェクトファイル4を入力しア
ドレス51に対するバンク名42と同内容のバンク名5
2の形式の対応テーブルを作成し、命令実行時にバンク
保持領域81から実際使用のバンク名を取り込み、対応
テーブル中のバンク名52と一致するかの比較を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラム開発支援シ
ステムに利用され、特に、マイクロコンピュータの言語
処理プログラムとエミュレータおよびシミュレータに関
する。
【0002】
【従来の技術】メモリやレジスタについてバンク切り換
え手段を有するマイクロコンピュータは、メモリやレジ
スタが複数のバンクに分かれていて、同一名称や同一ア
ドレスでバンクの異なるメモリやレジスタをアクセスす
る命令と、どのバンクを使用するかという情報を保持す
る領域を有する。当該マイクロコンピュータでメモリや
レジスタをアクセスすると、前述の領域に設定されてい
るバンクのメモリやレジスタがアクセスされる。このた
め、当該マイクロコンピュータでは、使用しようとする
バンクを変更する場合には、前述のバンク保持領域に設
定する命令をあらかじめ実行し、その上でメモリやレジ
スタをアクセスする命令を実行する必要がある。
【0003】当該マイクロコンピュータのプログラムで
は、メモリやレジスタをアクセスする個々の命令におい
て使用されるバンクは、その命令の記述からは分からな
い。
【0004】プログラム開発支援システムは、前後処理
プログラムと、エミュレータやシミュレータを用いたデ
ィバグシステムとに分けられる。言語処理プログラムが
ソースプログラムを入力し、オブジェクトコードとオブ
ジェクトコードの配置アドレスを内容とするオブジェク
トファイルを出力する。このオブジェクトコードをエミ
ュレータやシミュレータで実行させ、ディバグを行う。
このとき、オブジェクトコードのダウンロードや、ディ
バグに必要な情報の保持、エミュレータやシミュレータ
の内部情報のアップロードなどを制御するプログラム
を、ディバッガと称する。ディバッガとエミュレータま
たはシミュレータをあわせて、ディバグシステムと称す
る。
【0005】従来の言語処理プログラムでは、バンク切
り換え命令や指定されたバンクのメモリやレジスタをア
クセスする命令を記述したプログラムに、プログラム設
計上アクセスすべきバンク名を記述する方法は、コメン
トとしてプログラム中に記述するか、設計書に記述して
おくしかなかった。従来のディバグシステムでは、言語
処理プログラムの出力したオブジェクトコードをシミュ
レータやエミュレータにダウンロードして実行するが、
どのバンクをアクセスするかは、当該マイクロコンピュ
ータのバンク保持領域の内容によって決定される。シミ
ュレータやエミュレータでも当該マイクロコンピュータ
と同様にバンク保持領域を有し、ディバッガはシミュレ
ータやエミュレータのバンク保持領域からバンク名を知
る手段を有するため、アクセスされるバンクは、シミュ
レータやエミュレータによる実行時に確認することが可
能である。しかし、各命令がプログラム設計上アクセス
すべきバンクを知る手段がなかった。このため、各命令
でプログラム設計上アクセスすべきバンク名のメモリや
レジスタが使用されているかどうかは人間がチェックし
ていた。
【0006】また、従来のプログラム開発支援システム
のうち、ソースレベルのディバグを実現しているシステ
ムでは、言語処理プログラムはオブジェクトコードと共
にソースの情報をオブジェクトファイルに出力し、ディ
バッガはオブジェクトファイル中のソース情報によりオ
ブジェクトコードのアドレスとソースプログラムの記述
の対応を知る手段を有している。このことにより、ディ
バッガはシミュレータやエミュレータが実行するアドレ
スから、対応するソースプログラムの記述を検出する手
段を有する。
【0007】
【発明が解決しようとする課題】以上説明したように、
従来のプログラム開発支援システムにおいては、プログ
ラム中のメモリやレジスタをアクセスする全ての命令が
プログラム設計上アクセスすべきバンクを使用している
ことをシミュレータやエミュレータでプログラムを実行
することによりチェックすることは非常に手数が掛か
り、また人間がチェックするために抜けも出やすい欠点
があった。さらに、バンク切り換えは、プログラムのバ
グの発生原因の主なものの一つであり、バグが発生した
場合も、使用バンクがプログラム設計上アクセスすべき
バンク名と異なることを発見することが困難である欠点
があった。
【0008】本発明の目的は、前記の欠点を除去するこ
とにより、使用バンクを簡単に確認でき、使用バンクの
誤りによる障害の発生を防止できるプログラム開発支援
システムを提供することにある。
【0009】
【課題を解決するための手段】本発明は、ソースプログ
ラムを含み、バンクを切り換えることにより、同じ命令
で異なる記憶手段をアクセスできるマイクロコンピュー
タのプログラム開発支援システムにおいて、前記ソース
プログラムは、前記記憶手段をアクセスする個々の命令
について、設計上アクセスすべきバンク名についての記
述を含み、この記述されたバンク名を各命令に対応付け
て保持し、この保持されたバンク名と実際に使用されて
いるバンク名とを比較し同一であるか否かのチェックを
行うバンク名チェック手段を含むことを特徴とする。
【0010】
【作用】ソースプログラムにはメモリやレジスタの記憶
手段をアクセスする個々の命令について設計上使用する
バンク名の記述を含み、バンク名チェック手段はこの記
述されたバンク名を個々の命令と対応付けた例えばテー
ブルの形で保持し、命令実行時に、実際にアクセスされ
たバンク名とテーブルに保持されたバンク名とを比較し
同一であるか否かのチェックを行う。
【0011】従って、実際にアクセスされたバンク名が
設計上アクセスすべきバンク名と異なっているかどうか
を自動的に確認することが可能となる。
【0012】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。
【0013】図1は本発明の第一実施例の要部を示すブ
ロック構成図である。
【0014】図1において、1は言語処理プログラム、
2はディバッガ、3はソースプログラム、4はオブジェ
クトファイル、5は命令のアドレスとプログラム設計上
アクセスすべきバンク名との対応を示す対応テーブル、
31はメモリまたはレジスタをアクセスする命令、32
は命令31がプログラム設計上アクセスすべきバンク
名、41は命令31のオブジェクトコード、42はバン
ク名32と同じ内容を示すバンク名、51は命令31の
アドレス、52はバンク名32と同じ内容を示すバンク
名、7は本第一実施例のプログラム開発支援システム、
ならびに、8はコンピュータプログラム開発支援システ
ム7と通信可能なエミュレータで、81はメモリやレジ
スタをアクセスする命令が実行される場合に使用される
バンクを示すバンク保持領域を示す。
【0015】本発明の特徴は、図1において、ソースプ
ログラム3は、記憶手段としてのメモリやレジスタをア
クセスする個々の命令31について、設計上のアクセス
すべきバンク名32についての記述を含み、この記述さ
れたバンク名を各命令に対応付けて対応テーブル5を生
成して保持し、この保持されたバンク名52と実際に使
用されているバンク名とを比較し同一であるか否かのチ
ェックを行うバンク名チェック手段としてのディバッガ
2を含むことにある。
【0016】次に、本第一実施例の動作について説明す
る。
【0017】本第一実施例では、ソースプログラム3に
記述されたプログラム設計上アクセスすべきバンク名を
オブジェクトファイル4中に保持し、ディバッガ2はオ
ブジェクトファイル4を入力することにより、バンクチ
ェックを行う。
【0018】言語処理プログラム1は、ソースプログラ
ム3を入力しオブジェクトコードを生成し、アドレスを
決定してオブジェクトファイル4に出力するが、ソース
プログラム3の命令がバンクを使用するメモリまたはレ
ジスタをアクセスする命令31であった場合、オブジェ
クトファイル4には命令31に対応するオブジェクトコ
ード41と共に、プログラム設計上アクセスすべきバン
ク名32の記述に従ったバンク名42を出力する。
【0019】ディバッガ2は、オブジェクトファイル4
からオブジェクトコードをエミュレータ8にダウンロー
ドする際、バンク名42が付加されたオブジェクトコー
ドに関し、そのオブジェクトコードのアドレスとバンク
名42を内容とする対応テーブル5を生成する。
【0020】以下、プログラムの1ステップ実行時にお
けるバンクチェックの手順を、図2に示す流れ図を参照
して説明する。ディバッガ2は、実行するオブジェクト
コードのアドレスが対応テーブル5に格納されているア
ドレス51と比較し(ステップS1)、そのいずれかと
一致したら(ステップS2)、エミュレータ8のバンク
保持領域81から現在選択されているバンク名を取り出
し(ステップS3)、バンク名52と同じであることを
チェックする(ステップS4)。
【0021】ここで、バンク保持領域81とバンク名5
2とが同じであれば(ステップS5)、処理は終了し、
異なれば、プログラム設計上アクセスすべきバンクと異
なるバンクのメモリまたはレジスタをアクセスしている
ことになりエラー処理を行い(ステップS6)、処理を
終わる。
【0022】図3は本発明の第二実施例の要部を示すブ
ロック構成図である。
【0023】本第二実施例は、図1の第一実施例におい
て、対応テーブル5の代わりに、本発明の特徴とすると
ころの、アドレス61と、設計上アクセスすべきバンク
名が記述されたソースプログラム3の行番号62との対
応を示す対応テーブル6を設けたものである。なお図3
において、42aは行番号62と同内容を示す行番号で
ある。
【0024】次に、本第二実施例の動作について説明す
る。
【0025】第二実施例では、ソースレベルのディバグ
を実現している従来のディバグシステムと同様に、ディ
バッガ2はオブジェクトファイル4と共にソースプログ
ラム3を入力し、ソースプログラム3に記述されたプロ
グラム設計上アクセスすべきバンク名32を使用し、バ
ンクチェックを行う。
【0026】図3の言語処理プログラム1は、ソースレ
ベルのディバグを実現している従来の言語処理プログラ
ムと同様、ソースプログラム3を入力しオブジェクトコ
ード41を生成しアドレスを決定して、オブジェクトコ
ード41と共にアドレス、ソースプログラム3の行番号
42aの情報をオブジェクトファイル4に出力する。こ
のとき、プログラム設計上アクセスすべきバンク名32
に関しては、言語処理プログラム1は何も行わない。
【0027】ディバッガ2は、ソースレベルのディバグ
を実現している従来のディバッガと同様、ソースプログ
ラム3とオブジェクトファイル4とを入力し、オブジェ
クトコードのアドレス61とソースプログラム3の行番
号62の対応を対応テーブル6に登録する。
【0028】以下、プログラムの1ステップ実行時にお
けるバンクチェックの手順を、図4に示す流れ図を参照
して説明する。ディバッガ2は、実行するオブジェクト
コードがメモリやレジスタをアクセスする命令であれば
(ステップS11)、使用するバンクをエミュレータ8
のバンク保持領域81から取り出す(ステップS1
2)。前述の命令のアドレスから、対応するソースプロ
グラム3の行番号62を対応テーブル6から得て(ステ
ップS13)、ソースプログラム3の行番号62で示さ
れるバンク名32によりプログラム設計上アクセスすべ
きバンクを得る(ステップS14)。バンク保持領域8
1のバンク名とバンク名32が同じであることをチェッ
クする(ステップS15)。
【0029】ここで、バンク保持領域81のバンク名と
バンク名32とが同じであれば(ステップS16)、処
理を終了し、異なれば、プログラム設計上アクセスすべ
きバンク名と異なるバンクのメモリまたはレジスタをア
クセスしていることになり、エラー処理を行い(ステッ
プS17)、処理を終わる。
【0030】
【発明の効果】以上説明したように、本発明は、プログ
ラム設計上アクセスすべきバンク名と実行時にアクセス
したバンク名とを、ディバグシステムでチェック可能と
することにより、使用バンクの誤りによる障害を簡単に
発見できる効果がある。
【図面の簡単な説明】
【図1】本発明の第一実施例の要部を示すブロック構成
図。
【図2】その動作を示す流れ図。
【図3】本発明の第二実施例の要部を示すブロック構成
図。
【図4】その動作を示す流れ図。
【符号の説明】
1 言語処理プログラム 2 ディバッガ 3 ソースプログラム 4 オブジェクトファイル 5、6 対応テーブル 7 プログラム開発支援システム 8 エミュレータ 31 命令 32、42、52 バンク名 41 オブジェクトコード 42a、62 行番号 51、61 アドレス 81 バンク保持領域 S1〜S6、S11〜S17 ステップ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ソースプログラムを含み、バンクを切り
    換えることにより、同じ命令で異なる記憶手段をアクセ
    スできるマイクロコンピュータのプログラム開発支援シ
    ステムにおいて、 前記ソースプログラムは、前記記憶手段をアクセスする
    個々の命令について、設計上アクセスすべきバンク名に
    ついての記述を含み、 この記述されたバンク名を各命令に対応付けて保持し、
    この保持されたバンク名と実際に使用されているバンク
    名とを比較し同一であるか否かのチェックを行うバンク
    名チェック手段を含むことを特徴とするプログラム開発
    支援システム。
JP3249586A 1991-09-27 1991-09-27 プログラム開発支援システム Pending JPH0588879A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3249586A JPH0588879A (ja) 1991-09-27 1991-09-27 プログラム開発支援システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3249586A JPH0588879A (ja) 1991-09-27 1991-09-27 プログラム開発支援システム

Publications (1)

Publication Number Publication Date
JPH0588879A true JPH0588879A (ja) 1993-04-09

Family

ID=17195222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3249586A Pending JPH0588879A (ja) 1991-09-27 1991-09-27 プログラム開発支援システム

Country Status (1)

Country Link
JP (1) JPH0588879A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0609903A2 (en) * 1993-02-05 1994-08-10 Nec Corporation Program language compiling system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0609903A2 (en) * 1993-02-05 1994-08-10 Nec Corporation Program language compiling system
EP0609903A3 (en) * 1993-02-05 1997-05-02 Nec Corp Program language compiling system.

Similar Documents

Publication Publication Date Title
JP2753500B2 (ja) 多重アーキテクチャ環境内で特にコードのデバッグを行う改良したソフトウェア・デバッグ・システムと方法
US20120084754A1 (en) Streamlining Unit Testing Through Hot Code Swapping
US7178135B2 (en) Scope-based breakpoint selection and operation
US7080360B2 (en) Breakpoint safety net
KR102590679B1 (ko) 벡터 요소들 내부의 비트 값들의 시험
CN111563032A (zh) App调试方法、装置、计算机设备及存储介质
US8612720B2 (en) System and method for implementing data breakpoints
US20070150866A1 (en) Displaying parameters associated with call statements
US20020129336A1 (en) Automatic symbol table selection in a multi-cell environment
CN111026947B (zh) 一种爬虫方法以及基于浏览器的嵌入式爬虫实现方法
CN112668008A (zh) 一种基于lsm来实现动态的系统调用劫持的方法
US6983454B2 (en) Extended “run to” function
JPH0588879A (ja) プログラム開発支援システム
JP2015146178A (ja) テストコンテキストの生成
EP0801348A1 (en) Method of monitoring the operation of a computer
JP3012618B1 (ja) 被検査プログラムのデバグ方法とそのデバグ方式
JPH09288595A (ja) 演算処理装置
JPH02220145A (ja) プログラムトレース方式
JPH04324525A (ja) プログラム移植支援装置
JPH11282722A (ja) プログラム検証方法
JP3120434B2 (ja) プログラム動作解析方法
JP2502128B2 (ja) コンパイラ装置
JPH02115944A (ja) 情報処理装置の試験方式
KR20240003169A (ko) Db를 활용한 난독화된 악성 스크립트 탐지 장치 및 방법
JP2000066920A (ja) プログラムデバッガ,プログラムデバッグ方法および記録媒体

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term