JPS63317840A - Program debugging method - Google Patents
Program debugging methodInfo
- Publication number
- JPS63317840A JPS63317840A JP62152421A JP15242187A JPS63317840A JP S63317840 A JPS63317840 A JP S63317840A JP 62152421 A JP62152421 A JP 62152421A JP 15242187 A JP15242187 A JP 15242187A JP S63317840 A JPS63317840 A JP S63317840A
- Authority
- JP
- Japan
- Prior art keywords
- module
- window
- program
- displayed
- execution
- 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)
Abstract
Description
【発明の詳細な説明】
〔概 要〕
プログラムのデバッグ方式に係り、特に複数のウィンド
ウを一つの画面上に表示するマルチウィンドウ技術を利
用し、複数のモジュールから構成されるプログラムに対
して個々のモジュールを各ウィンドウに対応させ、各モ
ジュールのデバッグ情報をウィンドウごとに表示するプ
ログラムデバッグ方式を提供する。[Detailed Description of the Invention] [Summary] This invention relates to a program debugging method, in particular, utilizes multi-window technology that displays multiple windows on one screen, and allows individual debugging of a program consisting of multiple modules. To provide a program debugging method in which modules are made to correspond to each window and debug information for each module is displayed for each window.
従来のプログラムデバッグ方式は、プログラム全体を対
象としデバッグ情報を一つの画面にスクロールしながら
表示していたため、モジュール間の相互結合関係、特に
call文による呼び出し関係が理解しにくいという欠
点を有していた。Conventional program debugging methods target the entire program and display debugging information on a single screen while scrolling, which has the disadvantage that it is difficult to understand mutual coupling relationships between modules, especially calling relationships using call statements. Ta.
本発明は特定なモジュールを各文ごとにデバッグし、そ
のときcall文により他のモジュールが呼び出された
場合に、現在表示されているウィンドウよりも呼ばれた
前記モジュールに対応するウィンドウを優先してディス
プレイ上に表示して行く方式であり、プログラムの論理
的な構造あるいはモジュールの階層構造に対応したマル
チウィンドウを利用したデバッグ方式である。The present invention debugs a specific module for each statement, and when another module is called by a call statement, the window corresponding to the called module is prioritized over the currently displayed window. This is a debugging method that displays information on a display and uses multiple windows that correspond to the logical structure of the program or the hierarchical structure of modules.
本発明によれば、各モジュールの実行トレースは別々の
ウィンドウに表示され、モジュールの呼出しにより表示
画面が切り替えられるので、プログラムのデバッグを容
易かつ正確に実行できるという効果がある。According to the present invention, the execution trace of each module is displayed in a separate window, and the display screen is switched by calling a module, so that the program can be debugged easily and accurately.
本発明は、プログラム上の誤りを発見し訂正するための
プログラムデバッグ方式に係り、特に複数の画面を表示
するマルチウィンドウ技術を利用し、個々のプログラム
モジュールの情報をウィンドウごとに表示し、ウィンド
ウごとにデバッグすることを可能とするプログラムデバ
ッグ方式に関する。The present invention relates to a program debugging method for discovering and correcting program errors, and in particular utilizes multi-window technology that displays multiple screens to display information on individual program modules in each window. This invention relates to a program debugging method that enables debugging.
プログラム上の誤りを発見し訂正するために一般にデバ
ッガを用いてプログラムのデバッグが行なわれる。一般
に、プログラムは複数のモジュールを階層的に組合せて
構成され、プログラムのデバッグを行う場合、まず特定
なモジュールを指定し、次にその中の情報を指定する場
合が多い。そして各モジュールにおいて作成したプログ
ラムの誤りを発見・訂正するために、プログラムの実行
をプログラムの最小構成単位である文毎にデバッガでト
レースし順番に表示することにより、プログラムの実行
の流れを確認し、必要に応じて変数の値などのプログラ
ム情報を調べる。このようにプログラムは複数のモジュ
ールから構成され、モジュール間には相互関係がcal
l文により密接に結びついているにもかかわらず、従来
のデバッグ方式はシステム全体をデバッグ対象としてお
り、複数のモジュールの実行トレース情報が一緒に入り
雑りながら一つの画面に表示されていた。In order to discover and correct errors in a program, a debugger is generally used to debug the program. Generally, a program is configured by combining a plurality of modules in a hierarchical manner, and when debugging a program, it is often the case that a specific module is first specified and then information within that module is specified. In order to discover and correct errors in the programs created in each module, the flow of program execution can be checked by tracing the program execution for each statement, which is the smallest unit of the program, using a debugger and displaying the results in order. , examine program information such as variable values as needed. In this way, a program is composed of multiple modules, and there is a mutual relationship between the modules.
Although they are more closely linked by the l statement, conventional debugging methods target the entire system to be debugged, and the execution trace information of multiple modules is mixed together and displayed on a single screen.
このような従来のプログラムデバッグ方式では、各モジ
ュール間の相互関係が重要視されていなかったため、ト
レースのどの部分がどのモジュールの実行トレースなの
かを識別するのが面倒であり、またモジュール間の呼出
し関係、すなわち、callする場合、どういうパラメ
ータで呼ばれ、exitまたはReturnする場合に
どういう値を返したのかという関係を確認するのも難し
かった。さらに、従来のデバッグ方式ではプログラム全
体を1つの単位として扱っているため、あるモジュール
内のローカルな変数などの情報を得るためには、まずモ
ジュールを特定し、次に得たい情報を指定するのに一つ
の画面でしか行なえなかったという欠点を有していた。In such conventional program debugging methods, the mutual relationship between each module was not considered important, so it was troublesome to identify which part of the trace belonged to which module, and it was also difficult to identify which part of the trace belonged to which module. It was also difficult to confirm the relationship, that is, what parameters were used when calling, and what values were returned when exiting or returning. Furthermore, in conventional debugging methods, the entire program is treated as one unit, so in order to obtain information such as local variables within a module, you must first identify the module and then specify the information you want to obtain. It had the disadvantage that it could only be done on one screen.
本発明は、複数゛のウィンドウをディスプレイ画像上に
表示するマルチウィンドウ技術を用いて被デバッグプロ
グラムの実行トレースを当該プログラムを構成するモジ
ュール単位にウィンドウに表示し、デバッグ者がモジュ
ール間の呼出し関係を確認しながら、プログラムの実行
の流れを確認できるプログラムデバッグ方式を提供する
。The present invention uses multi-window technology that displays multiple windows on a display image to display the execution trace of a program to be debugged in a window for each module that makes up the program, so that a debugger can check the calling relationships between modules. To provide a program debugging method that allows you to check the flow of program execution while checking it.
本発明のシステムの構成を第1図(a)に示す。本発明
では、被デバッグプログラムの実行をプログラムを構成
するモジュール単位に別々のウィンドウで行い、さらに
表示された各モジュール毎にデバッグ手段を提供する。The configuration of the system of the present invention is shown in FIG. 1(a). In the present invention, the program to be debugged is executed in separate windows for each module that constitutes the program, and debugging means is provided for each displayed module.
被デバッグプログラム16は複数のモジュールすなわち
プログラムモジュール17から構成される。プログラム
実行制御部14は、モジュール17を一文単位に実行し
、そのトレースをディスプレイ装置12の第1のウィン
ドウ13上に表示する。実行文が外部モジュールの呼出
しくcall)である場合、ディスプレイ装置12上に
その外部モジュールを実行するための第2のウィンドウ
13を作成し、その新たに作成した第2のウィンドウ1
3に呼び出された外部モジュールの実行をトレースする
。そのモジュールの実行が終了する(axit)と、そ
のモジュールのための第2のウィンドウ13をディスプ
レイ画面12から削除(または優先されるウィンドウの
下に移動)し、呼出し元のモジュールの当該call文
の直後から実行トレースを前記第1のウィンドウ13上
で再開する。第2のウィンドウ13のモジュールで第3
のモジュールをcallする場合も同様である。デバッ
グ者11は、各ウィンドウ13から当該モジュールに関
する情報の問い合せ、実行制御を要求することができる
が、プログラム実行制御部14はそのような入力を受は
取ると、ウィンドウ(モジュール)毎に起動されたデバ
ッガ15を用いて、要求された処理を行う。なお、デバ
ッガ15は公知のデバッガをそのまま使用することがで
きる。以上の処理がプログラム中のすべてのモジュール
が終了(exit)するまで繰り返される。The program to be debugged 16 is composed of a plurality of modules, that is, program modules 17 . The program execution control unit 14 executes the module 17 one sentence at a time and displays the trace on the first window 13 of the display device 12. If the executable statement is a call to an external module, a second window 13 for executing the external module is created on the display device 12, and the newly created second window 1 is
Trace the execution of the external module called in step 3. When the module finishes executing (axit), the second window 13 for that module is removed from the display screen 12 (or moved below the preferred window), and the call statement of the calling module is Immediately after, execution tracing is restarted on the first window 13. 3rd in module of 2nd window 13
The same applies when calling the module. The debugger 11 can inquire about information regarding the module and request execution control from each window 13, but when the program execution control unit 14 receives such input, it is activated for each window (module). The debugger 15 is used to perform the requested processing. Note that a known debugger can be used as the debugger 15 as is. The above process is repeated until all modules in the program exit.
各モジュールの実行のトレースはそれぞれ対応するウィ
ンドウ上で行われ、現モジュール内に他のモジュールの
呼出しが発生すると、そのウィンドウ上での実行トレー
スは一時停止し、呼び出された外部モジュールの実行ト
レースを別のウィンドウで開始する。この外部モジュー
ルの実行が終了すると、一時停止していた呼び出し元の
現モジュールの実行トレースを再開する。また、各ウィ
ンドウには、そのウィンドウで実行中のモジュールに関
する変数の値などの問い合せ、実行の一時停止・トレー
スの変更などの実行制御を行う。Tracing the execution of each module is done on its corresponding window, and when a call to another module occurs within the current module, the execution tracing on that window is paused, and the execution tracing of the called external module is started. Start in a separate window. When the execution of this external module is finished, the suspended execution trace of the calling current module is resumed. Each window also performs execution control such as making inquiries about the values of variables related to the module being executed in that window, pausing execution, and changing tracing.
次に本発明の実施例を図面を参照して説明する。 Next, embodiments of the present invention will be described with reference to the drawings.
本発明は複数のウィンドウを一つのディスプレイ画面上
に表示するマルチウィンドウ方式を利用し、プログラム
の個々のモジュールの情報をウィンドウごとに表示しな
がらデバッグを実行するデバッグ方式である。The present invention is a debugging method that utilizes a multi-window method in which a plurality of windows are displayed on one display screen, and performs debugging while displaying information on individual modules of a program in each window.
第2図は本発明のプログラムデバッグ方式において、複
数のモジュールから成るプログラム20とマルチウィン
ドウ機能を有するディスプレイ画面21との関係を表現
する関係図である。プログラム20は、例えば、モジュ
ール1,2,3. ・・・から構成され、各モジュー
ルは論理的かつ階層的に結合されている0本発明では、
このように階層的に結合された各モジュールに対応して
、ディスプレイ画面21上のウィンドウがl対lに対応
して存在する。モジュールlはウィンドウlに対応し、
モジュール2はウィンドウ2に対応し、モジュール3は
ウィンドウ3に対応する。そして、各モジュールに対応
した各ウィンドウ内には対応するモジュールの実行結果
あるいはデバッガによる実行トレースの内容が表示され
る。すなわち、ウィンドウ1.2.3の表示内容は、そ
れぞれ、モジュール1.2.3の実行結果あるいは実行
トレース内容が表示される。そして、現在トレースの実
行がなされているウィンドウが他のウィンドウ上−
遷移制御が行なわれる。FIG. 2 is a relationship diagram showing the relationship between a program 20 consisting of a plurality of modules and a display screen 21 having a multi-window function in the program debugging method of the present invention. The program 20 includes, for example, modules 1, 2, 3, . In the present invention, each module is logically and hierarchically connected.
There are windows on the display screen 21 corresponding to each module hierarchically connected in this way. Module l corresponds to window l,
Module 2 corresponds to window 2 and module 3 corresponds to window 3. Then, in each window corresponding to each module, the execution results of the corresponding module or the contents of the execution trace by the debugger are displayed. That is, the display contents of the window 1.2.3 are the execution results or execution trace contents of the module 1.2.3, respectively. Then, the window in which the trace is currently being executed is controlled to transition to another window.
第1図(alのシステムにおいて、11はデバッグを実
行するデバッグ者、12はマルチウィンドウ機能に従っ
て複数のウィンドウを表示することが可能なディスプレ
イ装置、13は前記ディスプレイ装置の画面内に表示さ
れる各ウィンドウ、14はマルチウィンドウ機能に従っ
て各マルチウィンドウに表示されるプログラムの各モジ
ュールの処理や制御を管理するプログラム実行制御部、
前記制御部14内にはデバッガ15によるデバッグ機能
を含む。また、16は主記憶部に格納される被デバッグ
プログラムであり、複数のモジュール、例えば、モジュ
ール1.モジュール2.モジュール3等を含む複数のモ
ジュールを論理的かつ階層的に結合して構成されている
ものである。また、第1図(b)は、前記各モジュール
の内容であるプログラム文の構成を簡単に示したもので
、例えば、モジュール1には代入文等の非cal1文の
集合の後にモジュール2を呼び出すcall modu
le 2”の文があり、さらにその後に非cal1文の
集合および最後にモジュール1から抜は出るためのex
it文がある。同様に、モジュール2には代入文等の非
cal1文の集合の後にモジュール3を呼び出すcal
l module 3″の文があり、さらにその後に非
cal1文の集合と最後にモジュール2から抜は出るた
めのexit文がある。モジュール3は他のモジュール
を呼び出すcall文は存在せず、単に代入文等の非c
al1文を実行しexit文で抜は出るモジュールであ
る。In the system shown in FIG. 14 is a program execution control unit that manages processing and control of each module of the program displayed in each multi-window according to the multi-window function;
The control unit 14 includes a debug function using a debugger 15. Further, 16 is a debugged program stored in the main storage unit, which includes a plurality of modules, for example, modules 1. Module 2. It is configured by logically and hierarchically connecting a plurality of modules including module 3 and the like. FIG. 1(b) briefly shows the structure of the program statements that are the contents of each module. For example, module 1 calls module 2 after a set of non-cal1 statements such as assignment statements. call modu
le 2” statement, followed by a set of non-cal1 statements and finally an ex to exit module 1.
There is an it statement. Similarly, module 2 has a cal that calls module 3 after a set of non-cal1 statements such as assignment statements.
l module 3" statement, followed by a set of non-cal1 statements, and finally an exit statement to exit module 2. Module 3 has no call statement that calls other modules, and is simply an assignment. Sentences etc. non-c
This is a module that executes the al1 statement and exits with the exit statement.
本発明では、このような各モジュールから構成されたプ
ログラムを被デバッグプログラム16としてデバッグす
る場合、各モジュールごとに複数のウィンドウ13をデ
ィスプレイ装置12に表示し、プログラム実行制御部1
4の制御により、モジュールMiのデバッグ実行中で他
のモジュールMjをcall文で呼んだとき、呼び出さ
れたモジュールMjに対応するウィンドウWjを優先的
に画面上に表示する。そのために、そのウィンドウWj
を作成し、そのモジュールMjの実行トレースを表示す
る。ウィンドウWjによるモジュールMjのデバッグの
実行トレースが終了するとその ′ウィンドウWj
は消去または優先されるウィンドウの下に移される。そ
して元の状態すなわちモジュールMjのウィンドウWi
を優先的に表示する。In the present invention, when debugging a program composed of such modules as the program to be debugged 16, a plurality of windows 13 are displayed for each module on the display device 12, and the program execution control unit 1
4, when another module Mj is called by a call statement while the module Mi is being debugged, the window Wj corresponding to the called module Mj is preferentially displayed on the screen. Therefore, the window Wj
and display the execution trace of that module Mj. When the execution trace of debugging module Mj using window Wj is finished, the 'window Wj
is removed or moved below the superseded window. And the original state, that is, the window Wi of module Mj
to be displayed preferentially.
このときプログラム実行制御部14は個々のウィンドウ
の中でデバッガ15によるデバッグ処理が必要である場
合には、これを利用し、変数の値を確認したり変数の値
をある値に設定するデバッグ手段を有する。すなわち、
プログラム実行制御部14は各モジュール内にcall
文によって他のモジュールMjの呼び出しがあった場合
、その都度そのモジュールMjに対応するウィンドウW
jを開き、かつそのウィンドウWjO中でデバッガ15
を必要とする場合にはデバッガ15を動作させる。At this time, if debugging processing by the debugger 15 is required in each window, the program execution control unit 14 uses this as a debugging means to check the value of a variable or set the value of a variable to a certain value. has. That is,
The program execution control unit 14 has a call in each module.
When another module Mj is called by a statement, the window W corresponding to that module Mj is
j and debugger 15 in that window WjO.
If necessary, the debugger 15 is operated.
この制御はすなわち、各ウィンドウのプロセスごとにデ
バッガ15を動作させるマルチプロセス方式に従う。In other words, this control follows a multi-process method in which the debugger 15 is operated for each process of each window.
例えば、第1図(blのように、モジュール1.2゜3
から構成される被デバッグプログラム16を第1図(a
)に示されるシステムでデバッグを行う場合には、最初
はモジュール1に対応するウィンドウlが表示される。For example, as shown in Figure 1 (bl), module 1.2゜3
The debugged program 16 consisting of
) When debugging the system shown in ), window l corresponding to module 1 is initially displayed.
モジュール2はモジュール1がら′″call mod
ule 2″で呼ばれているので、このcall文の実
行により、モジュール2に対応するウィンドウ2を優先
的に表示する。さらにモジュール2の中でモジュール3
が“call module 3”により呼ばれている
ので、このcall文の実行により、モジュール3に対
応するウィンドウ3を優先的に表示する。モジュール3
は他のモジュールを呼んでいないので、exitの実行
後はウィンドウ3は削除され、元のウィンドウ2が表示
される。そして、モジュール2のexitの実行により
モジュール1の表示に戻される。Module 2 is the same as module 1'''call mod
ule 2'', window 2 corresponding to module 2 is displayed preferentially by executing this call statement.Furthermore, window 2 corresponding to module 2 is displayed preferentially.
is called by "call module 3", so by executing this call statement, window 3 corresponding to module 3 is preferentially displayed. module 3
does not call any other module, so after executing exit, window 3 is deleted and the original window 2 is displayed. Then, by executing the module 2 exit, the display returns to the module 1 display.
プログラム実行制御部14の制御による画面内のウィン
ドウ表示遷移の実施例は第3図に示される。An example of window display transition within a screen under the control of the program execution control unit 14 is shown in FIG.
第3図において、画面(1)はモジュールlの実行途中
でモジュール2を呼び出す直前の状態であり、モジュー
ル1に対応するウィンドウ1が表示されている。モジュ
ール内のcall module 2 ”によってモジ
ュール2が呼出されると画面(2)の状態になる。すな
わちモジュールlのウィンドウ1はモジュール2のウィ
ンドウ2の下側になり、モジュール2のウィンドウ2が
優先されて表示される。In FIG. 3, screen (1) shows a state in which module 1 is in the middle of execution and immediately before module 2 is called, and window 1 corresponding to module 1 is displayed. When module 2 is called by call module 2'' in the module, screen (2) will be displayed.In other words, window 1 of module l will be below window 2 of module 2, and window 2 of module 2 will have priority. will be displayed.
さらに、画面2の状態は、モジュール2内の”call
modqle 3″によりモジュール3を呼出した直
後であるならばモジュール3の内容はまだないが、モジ
ュール3に対応するウィンドウ3が作成され表示される
。そして、モジュール3内でデバッガによる処理が実行
されると画面(3)に遷移され、ウィンドウ3のモジュ
ール3内で、変数の値の確認や変数の設定等を含むトレ
ースの実行がなされる。モジュール3の実行終了直前に
なると画面(4)に示されるように、モジュール3のe
xit処理が成される。このexitによりモジュール
3から処理ルーチンが抜は出ると、画面(5)に示され
るように、モジュール3に対応するウィンドウ3はこの
例では削除される。デバッグのトレースはモジュール2
に戻されるが、モジュール2の実行も終了すると画面(
6)に示されるようにモジュール2に対応するウィンド
ウ2もこの例では画面から消え、再びモジュール1の処
理に実行が移される。そのため、モジエール1のウィン
ドウ1のみが画面上に残され、モジュール1実行終了時
にはexit処理が成される。Furthermore, the state of screen 2 is “call” in module 2.
If module 3 has just been called with modqle 3'', the contents of module 3 are not present yet, but window 3 corresponding to module 3 is created and displayed.Then, processing by the debugger is executed within module 3. The screen will transition to screen (3), and tracing will be executed in module 3 of window 3, including checking the values of variables and setting variables.Just before the execution of module 3 ends, the screen shown in screen (4) will be executed. e of module 3 so that
xit processing is performed. When the processing routine is exited from module 3 by this exit, window 3 corresponding to module 3 is deleted in this example, as shown in screen (5). Debug trace is module 2
However, when module 2 finishes executing, the screen (
As shown in 6), window 2 corresponding to module 2 also disappears from the screen in this example, and execution is shifted to the processing of module 1 again. Therefore, only window 1 of module 1 remains on the screen, and exit processing is performed when execution of module 1 ends.
次に第4図を用いて、プログラム実行制御部14が実行
する処理フローを説明する。Next, the processing flow executed by the program execution control unit 14 will be explained using FIG.
処理が始まると、ステップ41で、デバッグ者11に対
して、デバッグ者11からの要求があるかどうかの判定
を行い、もしなければ、処理42において、現モジュー
ル内のプログラム文を1ステツプだけトレースを実行し
、ステップ43でそのステップのトレース結果を現モジ
ュールに対応するウィンドウ内に表示する。すなわち、
各モジュールにおいては1ステツプごとのトレース表示
とトレース情報が用意されている。ステップ44に処理
ルーチンが移ると、ここで現モジュールが他の外部モジ
ュールをcallLでいるかどうかの判定処理を実行す
る。もしcallLでいる場合には処理は45に移り、
その外部モジュールのウィンドウを画面上に表示するた
めにウィンドウの作成処理が行なわれる。もし、現モジ
ュールが他の外部モジュールをcallLでいなければ
、処理は46に移り、現モジュールがexitするかど
うかの判定処理が成される。もしexitであれば処理
47において現モジュールのウィンドウを一般的には削
除し、処理48に移る。またもし、exitでなければ
、そのまま現モジュールを実行させるために処理48に
直接移る。処理48ではプログラムの実行が終了したか
どうかの判定処理が成され、もし、プログラムの処理が
終了していなければ、再び処理41に戻り、同様な処理
がなされる。処理41において、デバッグ者からの要求
がある場合には処理49に移りデバッガ15を呼び出し
、その要求の処理を行う。例えば、変数の値の確認や変
数の値の設定などを実行する。そして、処理48に移さ
れ、プログラム実行の終了の判定を行う。処理48にお
いてプログラムの実行が終了していればend となる
。When the process starts, in step 41, it is determined whether or not there is a request from the debugger 11 to the debugger 11. If there is no request, in step 42, the program statement in the current module is traced by one step. is executed, and in step 43 the trace result of that step is displayed in the window corresponding to the current module. That is,
In each module, trace display and trace information are prepared for each step. When the processing routine moves to step 44, a process for determining whether the current module is calling another external module is executed. If it is callL, the process moves to 45,
Window creation processing is performed to display the window of the external module on the screen. If the current module does not call another external module, the process moves to 46, where it is determined whether the current module should exit. If it is an exit, the window of the current module is generally deleted in process 47, and the process moves to process 48. If it is not an exit, the process directly proceeds to step 48 to execute the current module. In step 48, it is determined whether or not the execution of the program has been completed. If the program has not been completed, the process returns to step 41 and the same processing is performed. In process 41, if there is a request from the debugger, the process moves to process 49, calls the debugger 15, and processes the request. For example, check the value of a variable, set the value of a variable, etc. Then, the process moves to step 48, where it is determined whether the program execution has ended. If the execution of the program has ended in process 48, it becomes end.
このように、本発明のプログラム実行制御部14では1
ステツプごとのトレース表示を用意し、現モジュール実
行中に外部モジュールのcallがある場合には、その
外部モジュール用のウィンドウを作成し、callシて
いない場合には、現モジュールでexitがあればその
モジュールを削除する。この処理フローをプログラムの
実行が終了まで繰り返す。処理途中でデバッグ要求があ
れば、デバッガ15を呼びデバッグ処理を行う。In this way, in the program execution control section 14 of the present invention, 1
Prepare a trace display for each step, and if there is a call from an external module during the execution of the current module, create a window for that external module, and if there is no call, display the exit if the current module has one. Delete a module. This processing flow is repeated until the program execution is completed. If there is a debug request during processing, the debugger 15 is called and debug processing is performed.
本発明によれば、各モジュールの実行トレースは別々の
画面に表示され、またモジュールの呼出しによって表示
画面が切り替り、さらにモジュール毎にデバッグ手段を
提供することができるので、プログラムの論理的構造で
あるモジュール構造に則した形でデバッグ作業を行うこ
とが出来る。According to the present invention, the execution trace of each module is displayed on a separate screen, and the display screen can be switched by calling a module, and debugging means can be provided for each module, so the logical structure of the program can be Debugging work can be performed in accordance with a certain module structure.
従って、本発明は、プログラムの論理的構造に従ったデ
バッグを行うことができ、ソフトウェアの容易かつ正確
なデバッグができるという効果がある。Therefore, the present invention has the advantage that debugging can be performed according to the logical structure of a program, and software can be debugged easily and accurately.
第1図Ta)は本発明の基本的構成を示すシステム図、
第1図(b)は各モジュールの内容を簡単に示す図、第
2図本発明において各モジュールとディスプレイ画面の
マルチウィンドウとの関係を示す図、第3図はプログラ
ム実行制御部の制御による画面内のウィンドウ表示の遷
移の説明図、第4図はプログラム実行制御部の処理フロ
ーである。
11・・・デバッグ者、
12・・・ディスプレイ装置、
13・・・ウィンドウ、
14・・・プログラム実行制御部、
15・・・デバッガ、
16・・・被デバッグプログラム、
17・・・モジュール。
特許出願人 富士通株式会社
Eジュール 1 七ジ′ニール2
七シ”ニール3蔭
call module 2 ca
ll module 3 ’(b
)
4−モジ一−/しめ内啓せ朋羊1=f4Z第1図
11° テ゛バッフ゛洛
12 ・デ゛イスアレイ装置
13・・・つ(ンドク
14 ・・・・ブO)゛ツム、ツ(tT弔りgP 邦1
5・・・ デ゛lで1.力゛
16 ・ ・・版デ°パ゛ツアア07゛°フム17・・
・・七ジ′ニール
不発88
の尽$4’7構八′″i−〒・T′>スTムロ第1図
マlレナウ′イ〉ドクピり昭イ翼E丁、T6グ第2図Figure 1 (Ta) is a system diagram showing the basic configuration of the present invention, Figure 1 (b) is a diagram briefly showing the contents of each module, and Figure 2 (Ta) is a system diagram showing the basic configuration of the present invention. 3 is a diagram showing the relationship, FIG. 3 is an explanatory diagram of the transition of window display on the screen under the control of the program execution control section, and FIG. 4 is a processing flow of the program execution control section. DESCRIPTION OF SYMBOLS 11... Debugger, 12... Display device, 13... Window, 14... Program execution control unit, 15... Debugger, 16... Program to be debugged, 17... Module. Patent applicant: Fujitsu Ltd.
7th grade call module 2 ca
ll module 3'(b
) 4-Moji 1-/Shimeuchi Keise Tomoh 1=f4Z Figure 1 11° Tem buffer 12 ・Dice array device 13...tsu (ndoku 14...bu O) tsumu, tsu(tT Condolence gP country 1
5... Dill 1. Force゛16... version de power tour 07゛°hum17...
... 7th Gen'il misfire 88's exhaustion $4'7 structure eight'''i-〒・T'>S T Muro Figure 1 Marlenau'i> Dokupiri Aki Tsubasa E-cho, T6 Gu Figure 2
Claims (1)
グプログラム(16)を中央処理装置において実行し、
プログラムの誤りを発見し訂正を行うプログラムデバッ
グ方式において、 前記被デバッグプログラム(16)を構成する複数のモ
ジュール(17)の各モジュール単位にウィンドウ(1
3)をディスプレイ装置(12)の画面上に作成する制
御手段(14)と、 表示されているウィンドウ(13)に対応するモジュー
ルに対してデバッグ処理を実行する手段(15)を有し
、 前記被デバッグプログラムの実行をモジュール単位に別
々のウィンドウで行いさらに各モジュール毎にデバッグ
することを特徴とするプログラムデバッグ方式。 2)前記制御手段は、複数の前記モジュールに対応する
ウィンドウの中で現在表示されているウィンドウに対応
するモジュールのトレースを実行する処理手段を有する
ことを特徴とする特許請求の範囲第1項記載のプログラ
ムデバッグ方式。 3)前記制御手段は、前記処理手段によりトレース実行
中にある現モジュールに対応するウィンドウを優先させ
てウィンドウを表示するウィンドウ表示手段を有するこ
とを特徴とする特許請求の範囲第2項記載のプログラム
デバッグ方式。 4)前記制御手段は、前記現モジュール内に他の外部モ
ジュールの呼出しの発生が生じた場合に前記現モジュー
ルに対応するウィンドウ上での実行トレースを一時停止
し、呼び出された前記外部モジュールに対応するウィン
ドウを作成し、前記ウィンドウ表示手段により前記外部
モジュールのウィンドウを優先して表示すると共に呼び
出された前記外部モジュールのトレースを前記処理手段
で実行し、さらに、前記外部モジュールの実行終了後に
呼出し元の前記現モジュールの実行を前記処理手段で再
開する制御を可能とすることを特徴とする特許請求の範
囲第3項記載のプログラムデバッグ方式。[Claims] 1) In a computer system, a debugged program (16) in a main memory is executed in a central processing unit;
In a program debugging method for discovering and correcting errors in a program, a window (one
3) on the screen of the display device (12); and means (15) for executing debug processing on the module corresponding to the displayed window (13); A program debugging method characterized in that a program to be debugged is executed on a module-by-module basis in separate windows, and each module is further debugged. 2) The control means includes a processing means for tracing a module corresponding to a currently displayed window among windows corresponding to a plurality of the modules. program debugging method. 3) The program according to claim 2, wherein the control means has a window display means for displaying a window with priority given to a window corresponding to a current module that is being traced by the processing means. Debug method. 4) When a call to another external module occurs in the current module, the control means suspends the execution trace on the window corresponding to the current module, and controls the execution trace to correspond to the called external module. the window of the external module is preferentially displayed by the window display means, and the trace of the called external module is executed by the processing means; 4. The program debugging method according to claim 3, wherein said processing means is capable of controlling restart of execution of said current module.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62152421A JPS63317840A (en) | 1987-06-20 | 1987-06-20 | Program debugging method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62152421A JPS63317840A (en) | 1987-06-20 | 1987-06-20 | Program debugging method |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63317840A true JPS63317840A (en) | 1988-12-26 |
Family
ID=15540146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62152421A Pending JPS63317840A (en) | 1987-06-20 | 1987-06-20 | Program debugging method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63317840A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02230432A (en) * | 1989-03-03 | 1990-09-12 | Mitsubishi Electric Corp | Control method for debugging device |
JP2011107883A (en) * | 2009-11-16 | 2011-06-02 | Renesas Electronics Corp | Debugging device |
-
1987
- 1987-06-20 JP JP62152421A patent/JPS63317840A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02230432A (en) * | 1989-03-03 | 1990-09-12 | Mitsubishi Electric Corp | Control method for debugging device |
JP2752411B2 (en) * | 1989-03-03 | 1998-05-18 | 三菱電機株式会社 | Debug device control method |
JP2011107883A (en) * | 2009-11-16 | 2011-06-02 | Renesas Electronics Corp | Debugging device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5513317A (en) | System and method for permitting rapid refinement of data output from a debugger | |
KR100248376B1 (en) | Integrated dynamic-visual parallel debugger and its debugging method | |
JPS63317840A (en) | Program debugging method | |
JPH1139190A (en) | Debugging system for parallel processing program and its debugging method | |
JPH02275539A (en) | Debugging system | |
JPS6253859B2 (en) | ||
JPS58178408A (en) | Programmable controller having simulating function | |
JP3167245B2 (en) | Programmable controller operating state monitoring device | |
JPS59105145A (en) | Debugging device of program | |
JPS60159911A (en) | Hierarchical sequence control device | |
JPS63180141A (en) | Debugging system by conversational debugger | |
JPH0561717A (en) | Program debugging device | |
JPH06274567A (en) | Logic simulation device | |
JPS644211B2 (en) | ||
JPH01223504A (en) | Sampling trace system for programmable controller | |
JPS6170610A (en) | Numerical controller | |
JPH10105226A (en) | Programmable display device | |
JPH04316138A (en) | Debug processor | |
JPH01244501A (en) | Pc trace control system | |
JPH11191072A (en) | Debug break processing method and debug processor | |
JPS63173126A (en) | Command menu editor | |
JPH10133717A (en) | Simulator for sequencer | |
JPH01156806A (en) | Debugging device | |
JPS5949609A (en) | Programmable controller equipped with simulation performing function | |
JPS60171546A (en) | Debug system of input and output device |