JPS61160154A - Supporting device of program development - Google Patents

Supporting device of program development

Info

Publication number
JPS61160154A
JPS61160154A JP60000563A JP56385A JPS61160154A JP S61160154 A JPS61160154 A JP S61160154A JP 60000563 A JP60000563 A JP 60000563A JP 56385 A JP56385 A JP 56385A JP S61160154 A JPS61160154 A JP S61160154A
Authority
JP
Japan
Prior art keywords
information
level language
address
variable
memory
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
JP60000563A
Other languages
Japanese (ja)
Inventor
Hiroshi Sugaya
菅谷 宏
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 JP60000563A priority Critical patent/JPS61160154A/en
Publication of JPS61160154A publication Critical patent/JPS61160154A/en
Pending 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

Abstract

PURPOSE:To debug highly efficiently a program formed by high level language by setting up information indicating the head of a high level language statement and a variable to be traced by an information accumulation specifying means. CONSTITUTION:The address of an assemble statement indicating the head of each high level language statement, a variable and the address of the variable are previously stored in a memory 22. An information accumulation specifying memory 25 has a memory space corresponding to a memory 12 in a target system 1 at the rate of '1' to '1' and stores '1' in respectively corresponding addresses as the information indicating the head of the high level language statement and the setting information of the variable to be traced and '0' in other addresses. When an information setting command is inputted from a CPU21, program counter information indicating the head of the high level language statement, address information required when an CPU11 writes data, and debugging information are written in memories 28-30 respectively, a control circuit 31 outputs a stop signal S4 to the CPU11 to step the CPU11 temporally and outputs an information signal S5 indicating the writing operation in the memories 29, 30.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明はマイクロコンピュータのプログラムをデバグす
るプログラム開発支援装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a program development support device for debugging a microcomputer program.

[従来の技術] 従来、高級言語で作成されたプログラムをデパグするに
は。
[Prior art] Conventionally, how to debug a program created in a high-level language.

■プログラムによって高級言語ステートメントのシミュ
レーションを行なう、 ■高級言語がもっているデバグステートメントをプログ
ラムに組み込む等の方法があった。
There were methods such as ■ simulating high-level language statements using a program, and ■ incorporating debug statements that the high-level language had into the program.

[発明が解決しようとする問題点] しかしながら、上記従来の■の方法では、プログラム開
発支援装置内にプログラムで擬似的なターゲットCPU
を構成して1ステートメントずつ実行していくという手
段をとるため、実行時間が遅くなるという問題点があっ
た。
[Problems to be Solved by the Invention] However, in the conventional method (2) above, a pseudo target CPU is
Since this method takes the step of constructing a ``filename'' and executing it one statement at a time, there is a problem in that the execution time is slow.

また、■の方法では、デバグする度にデバグステートメ
ントをプログラム内に組みこみコンパイルしなければな
らないので処理が繁雑化するという問題点があった。
In addition, method (2) has the problem that the process becomes complicated because debug statements must be incorporated into the program and compiled every time the program is debugged.

本発明の目的は、高級言語で作成されたプログラムを効
率よくデバグすることができるプログラム開発支援装置
を提供することにある。
An object of the present invention is to provide a program development support device that can efficiently debug programs created in a high-level language.

E問題点を解決するための手段] まず、本発明の詳細な説明する。Measures to solve problem E] First, the present invention will be explained in detail.

高級言語で作成されたプログラムを効率よくデバグする
ためには、変数の軌跡を明示する他、変数が変化したと
き、どの高級言語ステートメントによるかを明示する必
要がある。
In order to efficiently debug a program written in a high-level language, it is necessary not only to clearly show the trajectory of variables, but also to clearly state which high-level language statement caused a change in a variable.

ところで、高級言語で作成されたプログラムは表1に示
されるように、l高級言語ステートメントC□〜Cnが
複a個の7センプルステートメン) (41械語、A1
1〜Ant)から構成されている。
By the way, as shown in Table 1, a program created in a high-level language is a 7-member statement with a plurality of l high-level language statements C□ to Cn) (41 machine language, A1
1 to Ant).

表  1 したがって、高級言語ステートメントの先頭に該当する
アセンブルステートメントに高級言語ステートメントの
先頭であるという印をつ汁でおけば、高級言語プログラ
ムの実行時にどの高級言語ステートメントが実行された
かを判断することができる。
Table 1 Therefore, if the assemble statement corresponding to the beginning of a high-level language statement is marked as the beginning of a high-level language statement, it is possible to determine which high-level language statement has been executed when the high-level language program is executed. can.

本発明のプログラム開発支援装置は、ターゲットシステ
ムのメモリと1対1に対応するメモリ空間を有し、高級
言語ステートメントの先頭に対応するアセンブルステー
トメントのアドレスに先頭を示す先頭情報が、高級言語
で使用される工ないし複数の変数のうち所望の変数のア
ドレスに追跡される変数であることを示す被追跡情報が
それぞれ設定される情報蓄積指示手段と、先頭情報に基
づいてターゲットシステムのプログラムカウンタのカウ
ント値を保持するMlの保持手段と、被追跡情報に基づ
いてターゲットシステムが前記所望の変数にデータを書
込むときのアドレスおよびそのデータをそれぞれ保持す
る第2.第3の保持手段と、ターゲットシステムが前記
所望の変数にデータを書込むと、ターゲットシステムを
一時停止させる停止手段と、この停止手段によりターゲ
ットシステムが停止されている間に、第1の保持手段に
保持されているカウント値を対応する高級言語ステート
メントに、第2の保持手段に保持されているアドレスを
対応する変数名にそれぞれ変換する変換手段とを有して
いる。
The program development support device of the present invention has a memory space in one-to-one correspondence with the memory of the target system, and the start information indicating the start at the address of the assemble statement corresponding to the start of the high-level language statement is used in the high-level language. an information accumulation instructing means in which tracked information indicating that the variable is tracked is set at the address of a desired variable among a plurality of variables, and a program counter of the target system is counted based on the leading information. a second M1 holding means for holding a value, and a second holding means for holding an address and data when the target system writes data to the desired variable based on the tracked information, respectively. a third holding means; a stopping means for temporarily stopping the target system when the target system writes data to the desired variable; and a first holding means while the target system is stopped by the stopping means; and converting means for converting the count value held in the second holding means into a corresponding high-level language statement and the address held in the second holding means into a corresponding variable name, respectively.

〔実施例] 本発明の実施例について図面を参照して説明する。〔Example] Embodiments of the present invention will be described with reference to the drawings.

第1図は本発明の一実施例に係るプログラム開発支援装
置2をターゲットシステムlに接続したシステム橘虞図
である。
FIG. 1 is a system diagram in which a program development support device 2 according to an embodiment of the present invention is connected to a target system 1. As shown in FIG.

メモリ22には各高級言語ステートメントの先頭を示す
アセンブルステートメントのアドレスと、変数およびこ
の変数のアドレスが予め格納されている。情報蓄積指示
メモリ25はターゲットシステム1のメモリ12と1対
lに対応するメモリ空間を有し、高級言語ステートメン
トの先頭を示す情報および追跡すべき変数の設定情報と
してそれぞれ該当するアドレスに「1」が、その他のア
ドレスにrQJが格納される。コントロールモジュール
24は情報蓄積指示メモリ25への情報の設定および情
報蓄積指示メモリ25からの情報の読出しを制御するも
のであり、ターゲットシステム1内のCPU1lのコン
トロールバスlBから変数にデータを書込む書込み信号
S1および命令を取込む取込み信号Soが入力されると
情報蓄積指示メモリ25にCPUIIのアドレスバス1
4上のアドレスと読出し指令を出力し、CPU21から
コントロールバス34を介して情報設定指令が入力され
るとCPU21のアドレスバス32上のアドレスと書込
み指令を情報蓄積指示メモリ25に出力する。メモリ2
8.29.30にはそれぞれ高級言語ステートメントの
先頭を示すプログラムカウンタ情報、CPU11がデー
タを書込むときのアドレス情報、デバグ情報が書込まれ
る。制御回路31はメモリ29.30に各情報が書込ま
れるときにCPUIIに停止信号S4を出力してCPU
IIを一時停止させ、CPU21にメモリ29゜30へ
の書込み動作の通知信号S5を出力する。
The memory 22 stores in advance the address of an assemble statement indicating the beginning of each high-level language statement, a variable, and the address of this variable. The information storage instruction memory 25 has a memory space corresponding to the memory 12 of the target system 1 in a one-to-l ratio, and stores "1" at the corresponding address as information indicating the beginning of a high-level language statement and setting information of variables to be tracked. However, rQJ is stored at another address. The control module 24 controls the setting of information in the information storage instruction memory 25 and the reading of information from the information storage instruction memory 25, and is used to write data to variables from the control bus 1B of the CPU 11 in the target system 1. When the signal S1 and the instruction capture signal So are input, the information storage instruction memory 25 receives the address bus 1 of the CPU II.
When an information setting command is input from the CPU 21 via the control bus 34, the address on the address bus 32 of the CPU 21 and a write command are output to the information storage command memory 25. memory 2
Program counter information indicating the beginning of a high-level language statement, address information when the CPU 11 writes data, and debug information are written in 8, 29, and 30, respectively. The control circuit 31 outputs a stop signal S4 to the CPU II when each piece of information is written to the memory 29, 30, and the CPU
II is temporarily stopped, and a notification signal S5 of a write operation to the memory 29/30 is output to the CPU 21.

次に本実施例の動作を説明する。Next, the operation of this embodiment will be explained.

CPUIIにおいて高級言語で作成されたプログラムが
実行され、コン)er−ルバス16上に取込み信号So
が出力されると、コントロールモジュール24によって
情報蓄積指示メモリ25からこのときのアドレスの先頭
情報「1」あるいは「O」が出力され9 「0」のとき
にはそのままであるが、「1」のときにはアンド回路2
6からメモリ28に書込み信号S2が出力される。そし
て、このときのアドレス、すなわち高級言語ステートメ
ントの先頭を示すプログラムカウンタ情報がメモリ12
からメモリ2Bに書込まれる。
A program written in a high-level language is executed in the CPU II, and an acquisition signal So is sent on the controller bus 16.
When 9 is output, the control module 24 outputs the leading information ``1'' or ``O'' of the current address from the information storage instruction memory 25.9 When it is ``0'', it remains as is, but when it is ``1'', it is circuit 2
A write signal S2 is output from 6 to the memory 28. Then, the address at this time, that is, the program counter information indicating the beginning of the high-level language statement, is stored in the memory 12.
is written to memory 2B from.

また、コントロールバス16上に書込み信号S1が出力
されると、同様にして情報蓄積指示メモリ25から変数
の設定情報「1」あるいはrOJが出力され、「0」の
ときにはそのままであるが。
Further, when the write signal S1 is output on the control bus 16, the variable setting information "1" or rOJ is output from the information storage instruction memory 25 in the same way, and when it is "0", it remains unchanged.

rlJのときにはアンド回路27から書込み信号S3が
出力される。そして、このときのアドレスおよびデータ
がそれぞれメモリ29.30に書込まれるとともに、書
込み信号S3は制御回路31に入力し、制御回路31か
ら停止信号Sa +通知信号S5がそれぞれCPUII
、CPU21に出力されてCPU1lは停止し、CPU
21は書込み動作終了を知る。さらに、CPU21が入
出力機器23からチップセレクト信号Sf+ *  s
、 t  s、を順次それぞれメモリ2B、 29.3
0に供給することにより、高級言語ステートメントの先
頭を示すプログラムカウンタ情報、データを書込む時の
アドレス情報、データを書込むときのデータ情報が順次
データバス33上に読出され、メモリ22に予め設定さ
れている情報に基づいてCPU21でプログラムカウン
タ情報から該当する高級言語ステートメントが、アドレ
ス情報から変数名が変換される6以上の変換終了後、入
出力機器23からリセット信号S9が出力されて制御回
路31はリセットされ、停止信号S4が解除されること
によりターゲットシステムlのCrtJllは次のステ
ップの実行を行なう。
When rlJ, the AND circuit 27 outputs the write signal S3. Then, the address and data at this time are respectively written to the memories 29 and 30, and the write signal S3 is input to the control circuit 31, and from the control circuit 31, the stop signal Sa+notification signal S5 is sent to each CPU II.
, is output to the CPU21, the CPU1l stops, and the CPU
21 recognizes the end of the write operation. Further, the CPU 21 receives a chip select signal Sf+*s from the input/output device 23.
, t s, respectively in memory 2B, 29.3
0, program counter information indicating the beginning of a high-level language statement, address information when writing data, and data information when writing data are sequentially read out onto the data bus 33 and preset in the memory 22. The CPU 21 converts the corresponding high-level language statement from the program counter information and the variable name from the address information. 31 is reset and the stop signal S4 is released, so that CrtJll of the target system I executes the next step.

このようにして、情報蓄積指示メモリ25においてrl
Jに設定された変数の軌跡が得られるので、効率の良い
プログラムデバグが可能となる。
In this way, in the information storage instruction memory 25, rl
Since the trajectory of the variables set in J can be obtained, efficient program debugging becomes possible.

なお、これまで高級言語で作成されたプログラムについ
ての説明をしてきたが、本実施例はアセンブラ言語で作
成されたプログラムについても同様に適用できる。この
場合には、アセンブラステートメントが機械語とl対l
に対応しているので、情報蓄積指示メモリ25のすべて
のステートメントのアドレスに先頭情報「1」が設定さ
れればよい。
Although the explanation has been given so far regarding a program created in a high-level language, this embodiment can be similarly applied to a program created in an assembler language. In this case, assembler statements are machine language and
Therefore, it is sufficient to set the head information "1" to the addresses of all statements in the information storage instruction memory 25.

[発明の効果] 以上説明したように本発明には、情報蓄積指示手段にお
いて高級言語ステートメントの先頭を示す情報および追
跡すべき変数を設定することにより、高級言語で作成さ
れたプログラムの所望の変数の軌跡を得ることができる
ので、プログラムの開発効率が飛躍的に向上されるとい
う効果がある。
[Effects of the Invention] As explained above, the present invention includes setting information indicating the beginning of a high-level language statement and variables to be tracked in the information storage instruction means, so that desired variables of a program created in a high-level language can be set. This has the effect of dramatically improving program development efficiency.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の一実施例に係るプログラム開発支援装
置をターゲットシステムに接続したシステムa成図であ
る。 ■・・・ターゲットシステム 2・・・プログラム開発支援装置 11、21・・・CPU 12、22.28.29.30・・・メモリ13、23
・・・入出力機器 14、32・・・アドレスバス 15、33・・・データバス 18、34・・・コントロールバス 24・・・コントロールモジュール 25・・・情報蓄積指示メモリ 28、27・・・アンド回路 31・・・制御回路。
FIG. 1 is a system diagram in which a program development support device according to an embodiment of the present invention is connected to a target system. ■...Target system 2...Program development support device 11, 21...CPU 12, 22.28.29.30...Memory 13, 23
...I/O devices 14, 32...Address buses 15, 33...Data buses 18, 34...Control bus 24...Control module 25...Information storage instruction memory 28, 27... AND circuit 31...control circuit.

Claims (1)

【特許請求の範囲】 ターゲットシステムのメモリと1対1に対応するメモリ
空間を有し、高級言語ステートメントの先頭に対応する
アセンブルステートメントのアドレスに先頭を示す先頭
情報が、高級言語で使用される1ないし複数の変数のう
ち所望の変数のアドレスに追跡される変数であることを
示す被追跡情報がそれぞれ設定される情報蓄積指示手段
と、前記先頭情報に基づいて前記ターゲットシステムの
プログラムカウンタのカウント値を保持する第1の保持
手段と、 前記被追跡情報に基づいて前記ターゲットシステムが前
記所望の変数にデータを書込むときのアドレスおよび前
記データをそれぞれ保持する第2、第3の保持手段と、 前記ターゲットシステムが前記所望の変数にデータを書
込むと、前記ターゲットシステムを一時停止させる停止
手段と、 該停止手段により前記ターゲットシステムが停止されて
いる間に、前記第1の保持手段に保持されている前記カ
ウント値を対応する高級言語ステートメントに、前記第
2の保持手段に保持されている前記アドレスを対応する
変数名にそれぞれ変換する変換手段とを有するプログラ
ム開発支援装置。
[Claims] A system that has a memory space in one-to-one correspondence with the memory of a target system, and that is used in a high-level language, and has head information indicating the head at an address of an assemble statement corresponding to the head of a high-level language statement. or an information accumulation instruction means in which tracked information indicating that the variable is tracked is set at the address of a desired variable among the plurality of variables, and a count value of the program counter of the target system based on the head information. a first holding means for holding, and second and third holding means for holding, respectively, an address and the data when the target system writes data to the desired variable based on the tracked information; stopping means for temporarily stopping the target system when the target system writes data to the desired variable; and while the target system is stopped by the stopping means, the data is held in the first holding means. and converting means for converting the count value held in the second holding means into a corresponding high-level language statement and the address held in the second holding means into a corresponding variable name.
JP60000563A 1985-01-07 1985-01-07 Supporting device of program development Pending JPS61160154A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60000563A JPS61160154A (en) 1985-01-07 1985-01-07 Supporting device of program development

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60000563A JPS61160154A (en) 1985-01-07 1985-01-07 Supporting device of program development

Publications (1)

Publication Number Publication Date
JPS61160154A true JPS61160154A (en) 1986-07-19

Family

ID=11477185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60000563A Pending JPS61160154A (en) 1985-01-07 1985-01-07 Supporting device of program development

Country Status (1)

Country Link
JP (1) JPS61160154A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63241644A (en) * 1987-03-28 1988-10-06 Fujitsu Ltd Disassembler system
JPH0494157U (en) * 1991-01-09 1992-08-14
CN102609353A (en) * 2012-01-17 2012-07-25 浪潮(北京)电子信息产业有限公司 Method, device and system for managing program debugging

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63241644A (en) * 1987-03-28 1988-10-06 Fujitsu Ltd Disassembler system
JPH0494157U (en) * 1991-01-09 1992-08-14
CN102609353A (en) * 2012-01-17 2012-07-25 浪潮(北京)电子信息产业有限公司 Method, device and system for managing program debugging

Similar Documents

Publication Publication Date Title
JPS61160154A (en) Supporting device of program development
WO2001018651A1 (en) Thread-oriented debugging
JPH0581070A (en) Programmable controller and user program execution method in programmable controller
JPH04190430A (en) Emulator for software development
JP2578182B2 (en) Data processing device and data processing system
JPH0283749A (en) Internal interruption control system for microprocessor
JPH02220145A (en) Program tracing system
JPH0652013A (en) Tracing circuit
JPS6081652A (en) Supporting device of program development
JPH0324640A (en) Debugging system for information processor
JPS5968067A (en) Specifying system for number of run steps
JPH1165884A (en) Microcomputer and debugging method therefor
JP3083012B2 (en) Programmable controller
KR940011045B1 (en) Interrupt vector addressing method in micro controller unit
JPS63223930A (en) Simulation system for program of exclusive processor
JPS62197833A (en) Generating system for parity data
JPH01166144A (en) Debugging system for firmware program
JPH08147191A (en) Emulator and microcomputer development supporting device using the same
JPS6355091B2 (en)
JPS6170644A (en) Program debugging system
JPH03266139A (en) Program debugging system
JPH02309436A (en) Memory control system
JPS59116862A (en) Microcomputer
JPH01320547A (en) Program execution information collecting system
JPS6376053A (en) Multicomputer equipment