JPH07319729A - Software debugging method - Google Patents

Software debugging method

Info

Publication number
JPH07319729A
JPH07319729A JP10642094A JP10642094A JPH07319729A JP H07319729 A JPH07319729 A JP H07319729A JP 10642094 A JP10642094 A JP 10642094A JP 10642094 A JP10642094 A JP 10642094A JP H07319729 A JPH07319729 A JP H07319729A
Authority
JP
Grant status
Application
Patent type
Prior art keywords
source program
address
object code
program
line
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
JP10642094A
Other languages
Japanese (ja)
Inventor
Akinori Koizumi
Tamotsu Sasaki
Yuji Tanaka
保 佐々木
昭典 小泉
裕二 田中
Original Assignee
Hitachi Comput Eng Corp Ltd
Hitachi Ltd
日立コンピュータエンジニアリング株式会社
株式会社日立製作所
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

Links

Abstract

PURPOSE: To verify a program to be verified in exactly the same state as the program to be built in a real product by showing a source program row to which the address of an object code is assigned and another source program row to which the address of the object code is not assigned on a display device after discriminating both rows from each other based on the inputted information.
CONSTITUTION: The information on the corresponding relation between the address of an object code 6 produced in the optimization processing step when a source program 4 to be verified is compiled and the row number of the program 4 is inputted through a keyboard 2 before the start of execution of the processing that is carried out based on the code 6 that compiled the program 4. Then the row of the program 4 to which the address of the code 6 is assigned and another row of the program 4 to which the address of the code 6 is not assigned are discriminated from each other based on the information inputted through the keyboard 2 and shown on a display device 1 to the display instruction of the program 4. Thus the program 4 can be verified with high efficiency.
COPYRIGHT: (C)1995,JPO

Description

【発明の詳細な説明】 DETAILED DESCRIPTION OF THE INVENTION

【0001】 [0001]

【産業上の利用分野】本発明は、ソフトウェア開発作業で開発したプログラムの検証を行うソフトウェアデバッグ方法に関するものである。 The present invention relates, the present invention relates to software debugging method of performing the verification of the program that was developed in the software development work.

【0002】 [0002]

【従来の技術】一般に、新規に作成したソースプログラムの検証に際しては、該ソースプログラムをコンパイラによってコンパイルしてオブジェクトコードに変換し、 In general, when the verification of the source program created new converts into object code by compiling the source program by a compiler,
これをデバッガに実行させることにより設計通りに動作するかどうかを確認する方法が採られる。 How to determine whether to operate as designed by doing this the debugger is taken. そして、設計通りに動作することが確認されたソースプログラムは実製品に組み込まれて出荷される。 The source program that is able to operate as designed has been confirmed are shipped as part of a real product.

【0003】この場合に、近年のコンパイラにあっては最適化技術が向上し、ソースプログラムの複数行を一括して最適化するため、ソースプログラムの行単位にオブジェクトコードのアドレスが対応するのではなく、複数行のソースプログラムが複数行のアドレスに対応するといったコンパイル方式になっている。 [0003] In this case, in the recent compiler improves optimization techniques, to optimize collectively multiple lines of the source program, than the address of the object code row of the source program correspond without it has become compiled schemes such as multiple lines of source program corresponding to multiple lines of address.

【0004】従って、このようなコンパイル方式にあっては、検証対象のソースプログラムの行とオブジェクトコードのアドレスとが1対1に対応しなくなる部分が生じる。 [0004] Therefore, such In the a compilation method, lines and the portion where the address of the object code will not correspond one-to-one of the source program to be verified results.

【0005】しかし、このような部分が生じると、デバッグ作業において任意のソースプログラム行nまで実行した結果を検証しようとする場合に、そのソースプログラム行nに対応するオブジェクトコードのアドレスが存在しない時には、実行を停止させるオブジェクトコードのアドレス(ブレークポイント)を設定できなくなる。 However, when such a portion occurs, when attempting to verify the results of running up any source program line n in debugging, when the address of the object code corresponding to the source program line n does not exist , it can not be set the object code of the address to stop execution (breakpoint).

【0006】そこで、従来は、デバッグ作業段階においては、(1)UNIXのシンボリックデバッガ(sd [0006] Therefore, conventionally, in the debugging stage, (1) UNIX symbolic debugger (sd
b)に代表されるようにコンパイラの最適化処理を抑止した状態で作成したオブジェクトコードでデバッグを行うか、(2)ブレークポイントをテスト担当者が予測し、その予測したブレークポイントまで実行させる、といったデバッグ方法を採用し、このデバッグ作業において設計通りに動作することが確認されたならば、実製品に組み込むという手法を用いている。 b) in or debugging an object code created while suppressing an optimization process of the compiler as typified, (2) a breakpoint was predicted testers to execute to the breakpoint that the prediction, the debugging method employs such, if it is confirmed that operate as designed in this debugging uses a technique of incorporating the actual product.

【0007】 [0007]

【発明が解決しようとする課題】しかしながら、コンパイラの最適化処理を抑止した状態で作成したオブジェクトコードでデバッグを行った場合、設計通りに動作することが確認されたとしても、実製品に組み込まれるプログラムとは異なるプログラムをデバッグしたことになり、厳密には実製品に組み込まれるプログラムを検証したとは言えないという問題がある。 [SUMMARY OF THE INVENTION However, when performing debugging the compiler optimization process object code created in a state that suppresses the, even it was confirmed to work as designed, are incorporated in the real product will be to debug a program different from the program, there is a problem that is not strictly be said to verify the program to be incorporated into the actual product.

【0008】また、テスト担当者が予測したブレークポイントまで実行させる方法を採った場合、1回の予測で目的のブレークポイントに的中することは少ないので、 [0008] In addition, if the test personnel took the way to run to the breakpoint that was predicted, since it is less likely to hit on purpose break points in a single prediction,
何回も予測のブレークポイントを設定する操作を繰り返さなければならなくなり、作業効率が悪いという問題がある。 Also no longer necessary to repeat the operation to set the break point of the predicted number of times, the working efficiency is poor.

【0009】本発明の目的は、検証対象のプログラムを実製品に組み込まれるプログラムと全く同じ状態で検証することができ、かつその検証作業を効率良く行うことができるソフトウェアデバッグ方法を提供することである。 An object of the present invention, it is possible to verify the verification object program in exactly the same state as the program to be incorporated into a real product, and to provide a software debugging process that can efficiently perform the verification is there.

【0010】 [0010]

【課題を解決するための手段】上記目的を達成するために、本発明は、基本的には、検証対象のソースプログラムをコンパイルしたオブジェクトコードに従う処理の実行開始前に、検証対象のソースプログラムのコンパイル時の最適化処理段階において作成されたオブジェクトコードのアドレスと、ソースプログラム行番号との対応関係を示す情報を入力し、ソースプログラムの表示指示に対し、オブジェクトコードのアドレスが割り当てられたソースプログラム行と割り当てられないソースプログラム行とを前記情報に基づいて区別して表示装置に表示させる段階を設けたことを特徴とする。 To achieve the above object of the Invention The present invention is basically before the start of execution of the processing according to the object code has been compiled verified source program, the verification target source program the address of the object code generated in the optimization process stages of compilation, and inputs information indicating the correspondence between the source program line number, to the display instruction of the source program, source program address of an object code has been assigned characterized in that a step of displaying the source program line is not assigned a row on the display device to distinguish on the basis of the information.

【0011】 [0011]

【作用】上記手段によると、オブジェクトコードのアドレスと、ソースプログラム行番号との対応関係を示すテーブルの情報に基づき、オブジェクトコードのアドレスが割り当てられたソースプログラム行についてはアドレスが割り当てられない他のソースプログラム行と区別して各行の内容が表示装置に表示される。 According to the action-mentioned means, the address of the object code, based on the information of the table showing the correspondence between the source program line numbers, for the source program line address is assigned an object code address is not other assignment the contents of each line is displayed on the display device to distinguish it from the source program line.

【0012】従って、コンパイル時に最適化処理を実行し、ソースプログラム行とオブジェクトコードのアドレスとが1対1に対応しなくなる部分が生じたとしても、 Accordingly, to the optimizing process at compile time, as the address of the source program line and object code is generated is partially not correspond one-to-one,
オブジェクトコードのアドレスが割り当てられたソースプログラム行(以下、有効行と言い、アドレスが割り当てられないソースプログラム行は無効行と言う)が明確になるので、テスト担当者は有効行のみを指定して実行停止指示または実行開始指示を行うことが可能になる。 Object code source program line in which the address is assigned (hereinafter, referred to as the effective line, a source program line in which the address is not assigned says invalid line) because becomes clear, test personnel to specify the only effective line it becomes possible to perform the performance stop instruction or execution start instruction.

【0013】従って、最適化処理を抑止することなく、 [0013] Therefore, without having to suppress the optimization process,
すなわち実装置に組み込むプログラムと同じ状態で検証対象プログラムを検証することができる。 That can be verified program to be verified in the same state as a program incorporated in the actual device. また、有効行を予測する必要がなくなるので、1回の指示操作のみで有効行での実行停止または実行開始を実現することができる。 Further, since it is not necessary to predict the effective line, it is possible to realize an execution stop or start of the execution of a valid line in only one instruction operation.

【0014】 [0014]

【実施例】以下、本発明を図示する実施例に基づいて詳細に説明する。 EXAMPLES The following be described in detail with reference to examples illustrating the present invention.

【0015】図1は、本発明を実施する装置の一実施例を示すブロック構成図である。 [0015] Figure 1 is a block diagram showing an embodiment of an apparatus for carrying out the present invention.

【0016】図において、1はディスプレイ、2はキーボード、3はワークステーションであり、このワークステーション3の内部には、検証対象のソースプログラム4をコンパイルしてオブジェクトコード6を作成すると共に、最適化処理時においてオブジェクトコード6のアドレスと、ソースプログラム4の行番号との対応関係を示す情報7(以下、シンボル情報7と言う)を作成するコンパイラ5と、ソースプログラム4の検証に際して、 [0016] In FIG, 1 is a display, 2 a keyboard, 3 is a workstation, in the interior of the work station 3, as well as create an object code 6 by compiling the source program 4 to be verified, optimization the address of the object code 6 at the time of processing, the information 7 indicating the correspondence between the line number of the source program 4 and the compiler 5 to create a (hereinafter, referred to as symbol information 7), upon verification of the source program 4,
ソースプログラム4およびオブジェクトコード6並びに前記シンボル情報7を読み込み、オブジェクトコード6 It reads the source program 4 and object code 6 and the symbol information 7, the object code 6
に従った処理を実行すると共に、オブジェクトコード6 Together executes processing in accordance with an object code 6
のアドレスが割り当てられたソースプログラム行(有効行)については無効行と区別して各行の内容をディスプレイ1に表示させるソフトウェアデバッガ8が設けられている。 Software debugger 8 The address source program line assigned (valid rows) to be displayed as distinguished from the disabled rows content of each line in the display 1 is provided.

【0017】図2は、ソースプログラム4、オブジェクトコード6、シンボル情報7の例およびソフトウェアデバッガ8の詳細構成を示す図であり、ソースプログラム4は行番号4aが行の先頭位置に記述され、その後に処理内容を示す文字情報が記述されている。 [0017] Figure 2, a source program 4, object code 6 is a diagram illustrating a detailed configuration example and software debugger 8 symbol information 7, the source program 4 row number 4a is described in the top position of the line, then It is described character information indicating the processing contents to.

【0018】このソースプログラム4をコンパイルしたオブジェクトコード6は、命令語6bとオペランド6c [0018] The object code 6 compiled the source program 4, the instruction word 6b and 6c operand
とで構成され、各オブジェクトコード行には、その格納アドレスを示すアドレス情報6aが割り当てられている。 Is composed of a, each object code lines are assigned address information 6a indicating the storage address.

【0019】さらに、シンボル情報7を登録するテーブルには、オブジェクトコード行のアドレス情報6aと、 Furthermore, in the table for registering symbol information 7, and the address information 6a object code lines,
オブジェクトコード行に対応するソースプログラム4の行番号とが対になって登録されている。 And line number of the source program 4 corresponding to the object code line is registered in pairs.

【0020】一方、ソフトウェアデバッガ8は、ソースプログラム表示処理8a、行番号判別処理8b、行番号補正処理8c、デバッグ処理8dとからなり、デバッグ処理8dはさらにブレークポイント処理8d1、変数等の表示処理8d2などから構成されている。 Meanwhile, the software debugger 8, a source program display processing 8a, the line number determination processing 8b, the line number correction 8c, consists of a debugging process 8d, debugging 8d further breakpoint processing 8d1, the display processing such as variable and it is configured from, such as 8d2.

【0021】図3は、以上の構成においてソースプログラム4を検証する手順を示すフローチャートである。 [0021] FIG. 3 is a flowchart illustrating a procedure for verifying the source program 4 in the above structure.

【0022】まず、検証対象となるソースプログラム4 [0022] First of all, the source program 4 to be verified
をコンパイラ5に読み込ませ、コンパイル処理を行うが、この際に、最適化処理を行い、かつソフトウェアデバッガ8を使用するかどうかをテスト担当者からの入力情報によって判定する(ステップ30)。 The read into the compiler 5, performs the compilation process, determines when this, performs optimizations, and the input information whether to use the software debugger 8 testers (step 30). 最適化処理を行い、かつソフトウェアデバッガ8を使用する場合は、 It performs optimizations, and when using a software debugger 8,
ソースプログラム4をコンパイラ5に読み込ませ、コンパイル処理を実行させ、オブジェクトコード6を生成させる(ステップ31、32)。 The source program 4 to read the compiler 5, to execute the compilation process to generate the object code 6 (step 31, 32).

【0023】同時に、コンパイラ5の最適化処理過程においてオブジェクトコード6のアドレス6aと、ソースプログラム4の行番号4aとの対応関係を示すシンボル情報7を作成させる。 [0023] Simultaneously, the address 6a of object code 6 in the optimization process of the compiler 5, to create a symbol information 7 indicating the correspondence between the line number 4a of the source program 4.

【0024】一方、最適化処理を行わない旨の指示があった場合、最適化処理が抑止された状態でコンパイル処理が実行される(ステップ33)。 On the other hand, if there is an instruction not to perform an optimization process, the compilation process is performed in a state in which the optimization process is inhibited (step 33).

【0025】これにより、例えば図2の例のソースプログラム4においては、最適化処理の指示があった場合、 [0025] Thereby, when in the example source program 4 in FIG. 2, for example, there is an instruction of the optimization process,
ソースプログラム4の行番号4aの19行目から20行目はオブジェクトコード6のアドレス「85E8」から「85F4」、行番号4aの21行目から24行目はアドレス「85F8」から「8630」に対応するという具合に、複数行を一括して最適化処理が行われる。 Line 20 from line 19 of the row numbers 4a of the source program 4 from the address of the object code 6 "85E8" to "85F4", 24 lines 21 of the row numbers 4a address "85F8" from the "8630" so on corresponding optimization process is performed collectively multiple lines.

【0026】次に、ソフトウェアデバッガ8に対して起動コマンドが入力され、ソフトウェアデバッガ8が起動されると(ステップ34)、ソフトウェアデバッガ8は検証対象となるソースプログラム4、そのオブジェクトコード6を読み込むと共に、シンボル情報7を読み込む(ステップ35)。 Next, the input start command to the software debugger 8, the software debugger 8 is started (step 34), the software debugger 8 source program 4 to be verified, the read object code 6 reads the symbol information. 7 (step 35).

【0027】次に、ソフトウェアデバッガ8はソースプログラム4の表示コマンド(ソース表示指示)がキーボード2から入力されているかどうかを判定し、入力されていれば、ソフトウェアデバッガ8のソースプログラム表示処理8aは、図2に示すように、ソースプログラム4の各行に行番号4aを付加してディスプレイ1に表示する(ステップ36、37)。 Next, the software debugger 8 determines whether the display command of the source program 4 (source display instruction) is input from the keyboard 2, if the input source program display processing 8a software debugger 8 as shown in FIG. 2, by adding a line number 4a in each line of the source program 4 displayed on the display 1 (step 36, 37).

【0028】その際、シンボル情報7を検索し、シンボル情報7の中に行番号4aと一致するものがある場合は、行番号4aに記号4b(例えば"#(シャープ)"記号)を付加して表示し、アドレス情報6aが割り当てられない他の行と区別して認識可能なように表示する。 [0028] At that time, searches the symbol information 7, if there is a match with the line numbers 4a in the symbol information 7 adds the symbol 4b line numbers 4a (for example, "# (pound)" sign) display Te, and displays as recognizable to distinguish it from other line address information 6a is not assigned.

【0029】この表示に対し、ソースプログラム4を最終ステップ以前の任意のステップで実行を一時停止させ、その段階における実行結果を検証するために、実行停止ステップに対応するソースプログラム行の番号4a [0029] For this display, the source program 4 to suspend execution at the final step any previous step, in order to verify the execution result of that stage, number 4a of the source program line corresponding to the execution stop step
がキーボード2からブレークポイントとして設定され、 There is set as a breakpoint from the keyboard 2,
かつ実行開始指示が入力されたならば、ソフトウェアデバッガ8はオブジェクトコード6に従う処理を順次実行する(ステップ38,39)。 And if the execution start instruction is input, the software debugger 8 sequentially executes the processing according to the object code 6 (step 38, 39).

【0030】ソフトウェアデバッガ8のブレークポイント処理8d1は、キーボード2から予め設定されたブレークポイント(有効行番号)をシンボル情報7を参照して対応するアドレス情報に変換し、オブジェクトコード6の実行アドレス情報6aとが一致するかどうかを監視しているが、両者が一致した場合(ステップ41)、そのアドレス情報6aで示されるオブジェクトコードを実行した段階でデバッグ処理を一時停止させる(ステップ41)。 The breakpoint processing 8d1 software debugger 8 converts the preset breakpoint keyboard 2 (effective line number) in the corresponding address information by referring to the symbol information 7, execution address information of the object code 6 Although 6a and is monitoring whether the match, if they match (step 41), the temporary stops the debugging at the stage of executing the object code indicated by the address information 6a (step 41).

【0031】しかし、一致しない場合(すなわち実行アドレスがブレークポイントでない場合)は、最終アドレスかどうかを判定し(ステップ42)、最終アドレスであれば全てのデバッグ作業を終了させる。 [0031] However, if no match (i.e. if the execution address is not breakpoints) determines whether the last address (Step 42), to terminate all debugging if the final address.

【0032】例えば、ソフトウェアデバッガ8で行番号4aによる実行停止操作あるいは実行開始操作を行う場合、図2の例のソースプログラム4の19行目、21行目等の先頭行はソースプログラム4とアドレス情報6a [0032] For example, if the execution stop operation or execution start operation by the line number 4a in software debugger 8, line 19 of the source program 4 in the example of FIG. 2, the first line is a source program 4 and the address of such line 21 information 6a
との対応がとれるので、実行停止操作等を有効なものとすることができるが、22行目から24行目までは対応するオブジェクトコード6のアドレス情報6aが不明となるため、これらの行に対する実行停止操作等は無効と扱われてしまう。 Since correspondence take with, for it can be effective to perform stop operation or the like, address information 6a of the corresponding object code 6 is unclear from 22 line to the 24th line, for those rows execution stop operation and the like would be treated as invalid.

【0033】そこで、上記のように、オブジェクトコード6のアドレス6aが割り当てられているソースプログラム4の行番号4a、すなわち有効行を記号4bで明示し、この有効行をブレークポイントとして指定させるようにする。 [0033] Therefore, as described above, clearly the line number 4a in the source program 4 address 6a of the object code 6 is assigned, i.e. the effective line in the symbol 4b, so as to specify the effective line as a breakpoint to.

【0034】これによって、コンパイル時に最適化処理を実行し、ソースプログラム行とオブジェクトコードのアドレスとが1対1に対応しなくなる部分が生じたとしても、オブジェクトコードのアドレスが割り当てられたソースプログラム行が明確になるので、テスト担当者は有効行のみを指定して実行停止指示または実行開始指示を行うことが可能になる。 [0034] Thus, by performing an optimization process during compilation, as the address of the source program line and object code is generated is partially not correspond one to one, the source program line the address of the object code is assigned since becomes clear, it is possible to perform the test personnel run the only effective line stop instruction or execution start instruction.

【0035】ここで、ステップ38においてブレークポイントを設定した場合、テスト担当者がアドレス情報6 [0035] In this case, if you set a breakpoint in step 38, testers address information 6
aを割り当てられたソースプログラム行(有効行)を必ず指定するとは限らない。 Source program was assigned a line that is not necessarily the (effective line) be sure to specify. また、ソースプログラム表示処理8aは、図5に示すようにオブジェクトコード6のみをディスプレイ1に表示させるモードを備えているが、このモードにおいては有効行を正確に指示することはできない。 The source program display processing 8a is provided with the mode for displaying only the object code 6 as shown in FIG. 5 on the display 1, it is impossible to instruct the active row accurately in this mode.

【0036】そこで、本実施例にあっては、テスト担当者によってブレークポイントが設定された場合、それが有効行に対応しているのかどうかを行番号判別処理8b [0036] Therefore, in the present embodiment, if a breakpoint is set by the tester, or the line number determination processing how it corresponds to the effective line 8b
においてシンボル情報7との照合によって判別し、有効行に対応している場合にはそのままブレークポイント処理8d1に引き渡すが、無効行に対応していた場合は、 If it determined by the matching between the symbol information 7, but passes directly to the breakpoint processing 8d1 if correspond to a valid line, which corresponds to the disable line in,
行番号補正処理8cに引渡し、ここで直前の有効行を示す番号に補正した後にブレークポイント処理8d1に引き渡すようになっている。 So that the hand over the breakpoint processing 8d1 after correcting the delivery, a number indicating the effective line immediately before where the line number correction 8c.

【0037】例えば、図2の例において、ブレークポイントとして行番号「22」が設定された場合は、これを行番号「21」に補正してブレークポイント処理8d1 [0037] For example, in the example of FIG. 2, if a breakpoint line number "22" is set, the correction to the breakpoint process which the line number "21" 8d1
に引き渡す。 Deliver to.

【0038】これにより、ブレークポイント処理8d1 [0038] As a result, the break point processing 8d1
では、ブレークポイントとして設定された行番号をシンボル情報7によって対応するアドレス情報6aに変換し、このアドレス情報6aで示されるアドレスが実行された段階でデバッグ作業を一時停止させることになる。 In converts the line number set as a breakpoint in the corresponding address information 6a by the symbol information 7 will be stopped temporarily debugging at the stage where the address indicated by this address information 6a is executed.

【0039】この場合、行番号を補正した時には直前の有効行で一時停止させることを警告メッセージや警告音でテスト担当者に通知する。 [0039] In this case, to notify the test person in charge in the warning message and warning sound to be paused at the effective line of immediately before when the correction of the line number.

【0040】なお、デバッグ途中で一時停止させる場合に限らず、途中から再開する場合についても同様に実行させることができる。 [0040] The present invention is not limited to the case of pause halfway debugging can be performed also when resuming from the middle.

【0041】従って、本実施例によれば、コンパイル時に最適化処理を実行し、ソースプログラム行とオブジェクトコードのアドレスとが1対1に対応しなくなる部分が生じたとしても、オブジェクトコードのアドレスが割り当てられたソースプログラム行が明確になるので、テスト担当者は有効行のみを指定して実行停止指示または実行開始指示を行うことが可能になる。 [0041] Therefore, according to this embodiment, the optimizing process at compile time, as the address of the source program line and object code is generated is partially not correspond one-to-one, the address of the object code since the assigned source program line is clarified, it becomes possible to perform the testers run only valid row stop command or execution start instruction.

【0042】この結果、最適化処理を抑止することなく、すなわち実装置に組み込むプログラムと同じ状態で検証対象プログラムを検証することができる。 [0042] Consequently, without inhibiting the optimization process, that is, to verify the program to be verified in the same state as a program incorporated in the actual device. また、有効行を予測する必要がなくなるので、1回の指示操作のみで有効行での実行停止または実行開始を実現することができる。 Further, since it is not necessary to predict the effective line, it is possible to realize an execution stop or start of the execution of a valid line in only one instruction operation.

【0043】また、アドレスが割り当てられないソースプログラム行での実行停止指示または実行開始指示に対しては、オブジェクトコードアドレスが割り当てられている直前のソースプログラムの行番号に補正した後、オブジェクトコードに従う処理を実行させているので、テスト担当者が無効行を指定した場合でも、その操作が無効にならず、確実に一時停止させることができ、作業効率の低下を防止できる。 [0043] Also, for the performance stop instruction or execution start instruction address in the source program line it is not assigned, after correcting the line number of the source program immediately before the object code address is assigned, according to the object code since to execute the processing, even when the tester specifies an invalid line, not the operation is disabled, can be reliably stopped momentarily, it is possible to prevent deterioration of working efficiency.

【0044】なお、実施例においては、有効行と無効行とを#記号によって区別しているが、これに限らず、輝度、色などを変える方法によって区別するようにしてもよい。 [0044] In Examples, it is distinguished by the effective row and disabling rows and the # symbol, not limited thereto, may be distinguished by the method of changing the brightness, color and the like.

【0045】また、ソースプログラム4の表示形態としては、図4に示すように、最適化処理単位でソースプログラムの内容と対応するオブジェクトコードとを1対にして表示させるようにしてもよい。 Further, as the display mode of the source program 4, as shown in FIG. 4, and object code may be displayed in the pair and the corresponding contents of the source program in the optimization process unit.

【0046】 [0046]

【発明の効果】以上のように本発明によれば、コンパイル時に最適化処理を実行し、ソースプログラム行とオブジェクトコードのアドレスとが1対1に対応しなくなる部分が生じたとしても、オブジェクトコードのアドレスが割り当てられたソースプログラム行が明確になるので、テスト担当者は有効行のみを指定して実行停止指示または実行開始指示を行うことが可能になる。 According to the present invention as described above, according to the present invention, it performs the optimization processing at compile time, as the address of the source program line and object code is generated is partially not correspond one-to-one, object code since the source program line address is assigned becomes clear, it is possible to perform the testers run only valid row stop command or execution start instruction.

【0047】この結果、最適化処理を抑止することなく、すなわち実装置に組み込むプログラムと同じ状態で検証対象プログラムを検証することができる。 [0047] Consequently, without inhibiting the optimization process, that is, to verify the program to be verified in the same state as a program incorporated in the actual device. また、有効行を予測する必要がなくなるので、1回の指示操作のみで有効行での実行停止または実行開始を実現することができ、作業効率を向上させることができる。 Further, since it is not necessary to predict the effective line, it is possible to achieve an effective stop or start of the execution of a valid line in only one instruction operation, it is possible to improve work efficiency.

【0048】また、アドレスが割り当てられないソースプログラム行での実行停止指示または実行開始指示に対しては、オブジェクトコードアドレスが割り当てられている直前のソースプログラムの行番号に補正した後、オブジェクトコードに従う処理を実行させているので、テスト担当者が無効行を指定した場合でも、その操作が無効にならず、確実に一時停止させることができ、作業効率の低下を防止できる。 [0048] Also, for the performance stop instruction or execution start instruction address in the source program line it is not assigned, after correcting the line number of the source program immediately before the object code address is assigned, according to the object code since to execute the processing, even when the tester specifies an invalid line, not the operation is disabled, can be reliably stopped momentarily, it is possible to prevent deterioration of working efficiency.

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

【図1】本発明を実施する装置の一実施例を示すブロック構成図である。 1 is a block diagram showing an embodiment of an apparatus for carrying out the present invention.

【図2】図1の詳細構成を示す図である。 2 is a diagram showing a detailed configuration of FIG.

【図3】実施例におけるデバッグ手順を示すフローチャートである。 3 is a flowchart showing a debugging procedure in Example.

【図4】ソースプログラムの表示形式の他の例を示す図である。 4 is a diagram showing another example of the display format of the source program.

【図5】オブジェクトコードのみの表示例を示す図である。 5 is a diagram showing a display example of only the object code.

【符号の説明】 DESCRIPTION OF SYMBOLS

1…ディスプレイ、2…キーボード、3…ワークステーション、4…ソースプログラム、5…コンパイラ、6… 1 ... Display, 2 ... keyboard, 3 ... workstation, 4 ... source program, 5 ... compiler, 6 ...
オブジェクトコード、7…シンボル情報、、8…ソフトウェアデバッガ、8a…ソースプログラム表示処理、8 Object code, 7 ... symbol information ,, 8 ... software debugger, 8a ... source program display processing, 8
b…行番号判別処理、8c…行番号補正処理。 b ... line number determination process, 8c ... line number correction processing.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐々木 保 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 (72)発明者 小泉 昭典 神奈川県秦野市堀山下1番地 日立コンピ ュータエンジニアリング株式会社内 ────────────────────────────────────────────────── ─── of the front page continued (72) inventor Tamotsu Sasaki Kanagawa Prefecture Hadano Horiyamashita one address, Inc. Date falling Mfg general purpose computer business unit (72) inventor Akinori Koizumi Kanagawa Prefecture Hadano Horiyamashita address 1 Hitachi competent-menu data engineering within Co., Ltd.

Claims (2)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】 検証対象のソースプログラムをコンパイル処理によってオブジェクトコードに変換し、そのオブジェクトコードに従う処理を順次実行させることによって前記ソースプログラムを検証するソフトウェアデバッグ方法において、 前記オブジェクトコードに従う処理の実行開始前に、 前記検証対象のソースプログラムのコンパイル時の最適化処理段階において作成されたオブジェクトコードのアドレスと、ソースプログラム行番号との対応関係を示す情報を入力し、ソースプログラムの表示指示に対し、オブジェクトコードのアドレスが割り当てられたソースプログラム行と割り当てられないソースプログラム行とを前記情報に基づいて区別して表示装置に表示させる段階を有することを特徴とするソフトウェアデバッグ方法。 1. A converted into object code by compiling process the source program to be verified, in software debugging method for verifying the source program by sequentially executing a process according to the object code, starts execution of the process according to the object code before, the type and the address of the object code generated in the optimization process stages of compilation verified source program, information indicating the correspondence between the source program line number, to the display instruction of the source program, software debugging method characterized by comprising the step of displaying the object code source program line address not assigned as the source program line assigned is the display device to distinguish on the basis of the information.
  2. 【請求項2】 前記アドレスが割り当てられないソースプログラム行での実行停止指示または実行開始指示に対しては、オブジェクトコードアドレスが割り当てられている直前のソースプログラムの行番号に補正した後、オブジェクトコードに従う処理を実行させることを特徴とする請求項1記載のソフトウェアデバッグ方法。 For 2. A performance stop instruction or execution start instruction in the source program line that the address is not assigned, after correcting the line number of the source program immediately before the object code address has been assigned an object code software debugging method of claim 1, wherein the executing the process according to.
JP10642094A 1994-05-20 1994-05-20 Software debugging method Pending JPH07319729A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10642094A JPH07319729A (en) 1994-05-20 1994-05-20 Software debugging method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10642094A JPH07319729A (en) 1994-05-20 1994-05-20 Software debugging method

Publications (1)

Publication Number Publication Date
JPH07319729A true true JPH07319729A (en) 1995-12-08

Family

ID=14433181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10642094A Pending JPH07319729A (en) 1994-05-20 1994-05-20 Software debugging method

Country Status (1)

Country Link
JP (1) JPH07319729A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512986B2 (en) * 2001-03-28 2009-03-31 Nds Limited Digital rights management system and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512986B2 (en) * 2001-03-28 2009-03-31 Nds Limited Digital rights management system and method
US7920702B2 (en) 2001-03-28 2011-04-05 Nds Limited Digital rights management system and method

Similar Documents

Publication Publication Date Title
US5630049A (en) Method and apparatus for testing software on a computer network
US7100152B1 (en) Software analysis system having an apparatus for selectively collecting analysis data from a target system executing software instrumented with tag statements and method for use thereof
US6543049B1 (en) Ranked break points and method for debugging a computer program
US7086033B2 (en) Software debugger having a monitor for monitoring conditional statements within a software program
US6550056B1 (en) Source level debugger for debugging source programs
US6981248B2 (en) Conditional breakpoint encountered indication
US20030005415A1 (en) Low impact breakpoint for multi-user debugging
US20030023955A1 (en) Efficient monitoring of program variables under debug
US5857093A (en) Cross-compiled simulation timing backannotation
US6957421B2 (en) Providing debugging capability for program instrumented code
US20050066312A1 (en) Inter-job breakpoint apparatus and method
US7171543B1 (en) Method and apparatus for executing a 32-bit application by confining the application to a 32-bit address space subset in a 64-bit processor
US8627290B2 (en) Test case pattern matching
US7552425B2 (en) Implementing enhanced compiled breakpoint analysis
JPH10312315A (en) Software and hardware cooperative simulation system
US20070245322A1 (en) System and method for interactive and assisted program development
US20030188225A1 (en) Extended "run to" function
JPH08305583A (en) Method for simulating cpu
US7219335B1 (en) Method and apparatus for stack emulation during binary translation
JPH1083326A (en) Trace data collecting method and computer readable code
JPH1078894A (en) Method for supporting failure restoration for computer system
US7318221B2 (en) Windows™ F-language interpreter
US5533195A (en) Testing tool for diagnosing defective computer system devices
JP2003280756A (en) Debug means of information processor
US20090013313A1 (en) Debug device, debug method, and program