JPH04307630A - 簡易デバック・オプション付きコンパイラ - Google Patents
簡易デバック・オプション付きコンパイラInfo
- Publication number
- JPH04307630A JPH04307630A JP3097981A JP9798191A JPH04307630A JP H04307630 A JPH04307630 A JP H04307630A JP 3097981 A JP3097981 A JP 3097981A JP 9798191 A JP9798191 A JP 9798191A JP H04307630 A JPH04307630 A JP H04307630A
- Authority
- JP
- Japan
- Prior art keywords
- function
- argument
- compiler
- file
- 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
Links
- 238000012790 confirmation Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 18
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、コンパイラのデバッグ
オプションに関する。
オプションに関する。
【0002】
【従来の技術】作成中のアプリケーション・プログラム
のデバッグを行うときに基本となるのは、プログラムの
どのブロック(関数)にバグが存在するのかを早期に発
見することである。この最も簡単な方法は、C言語を例
にとると、ソース・プログラム中に関数名や変数の値を
表示させるプリント文を挿入して、コンパイル後実行さ
せ、その箇所をプログラムが通過したかを確認したり、
変数の値を表示して正しい値かどうかを確認している。
のデバッグを行うときに基本となるのは、プログラムの
どのブロック(関数)にバグが存在するのかを早期に発
見することである。この最も簡単な方法は、C言語を例
にとると、ソース・プログラム中に関数名や変数の値を
表示させるプリント文を挿入して、コンパイル後実行さ
せ、その箇所をプログラムが通過したかを確認したり、
変数の値を表示して正しい値かどうかを確認している。
【0003】その他、デバッグ用のアプリケーションを
使用する方法も存在する。
使用する方法も存在する。
【0004】プログラム中にプリント文を挿入するデバ
ッグ方法では、プログラム全体の流れを追う場合は、ソ
ース・プログラム中のすべての関数にプリント文を挿入
する必要があり、ソース・プログラムの変更に手数がか
かる。また、デバッグが終了したときに、ソース・プロ
グラムから挿入したプリント文をすべて削除しなければ
ならない。
ッグ方法では、プログラム全体の流れを追う場合は、ソ
ース・プログラム中のすべての関数にプリント文を挿入
する必要があり、ソース・プログラムの変更に手数がか
かる。また、デバッグが終了したときに、ソース・プロ
グラムから挿入したプリント文をすべて削除しなければ
ならない。
【0005】デバッグ用のアプリケーションを使用する
場合は、操作方法を学習する必要があり、操作が難解で
ある。
場合は、操作方法を学習する必要があり、操作が難解で
ある。
【0006】
【発明が解決しようとする課題】本発明はソース・プロ
グラムを書き換えることなく、プログラムの流れの追跡
、および引数や返却値の確認などの簡単なデバッグ作業
ができデバッグ時間が短縮される簡易デバッグオプショ
ン付きコンパイラを提供することを目的とする。
グラムを書き換えることなく、プログラムの流れの追跡
、および引数や返却値の確認などの簡単なデバッグ作業
ができデバッグ時間が短縮される簡易デバッグオプショ
ン付きコンパイラを提供することを目的とする。
【0007】
【問題点を解決するための手段】本発明の簡易デバッグ
・オプション付きコンパイラは、ソース・ファイルの構
文と意味を解析する字句解析部と、解析されたデータを
もとにオブジェクト・コードを生成するオブジェクト・
コード生成部から成り、さらにオブジェクト・コード生
成部は、オプション指定を受けたとき、ソース・ファイ
ル中のすべての関数引用部について、関数の入口に関数
名、引数名、引数値を表示する命令コードを、関数の出
口に返却値を表示する命令コードを挿入する簡易デバッ
グ機能を有する。
・オプション付きコンパイラは、ソース・ファイルの構
文と意味を解析する字句解析部と、解析されたデータを
もとにオブジェクト・コードを生成するオブジェクト・
コード生成部から成り、さらにオブジェクト・コード生
成部は、オプション指定を受けたとき、ソース・ファイ
ル中のすべての関数引用部について、関数の入口に関数
名、引数名、引数値を表示する命令コードを、関数の出
口に返却値を表示する命令コードを挿入する簡易デバッ
グ機能を有する。
【0008】
【作用】本発明による簡易デバッグ・オプション付きコ
ンパイラは、オプションを指定することによって、関数
の入口で関数名、引数名、引数値、関数の出口で返却値
を表示する命令コードを含むオブジェクト・ファイルを
自動的に生成する。
ンパイラは、オプションを指定することによって、関数
の入口で関数名、引数名、引数値、関数の出口で返却値
を表示する命令コードを含むオブジェクト・ファイルを
自動的に生成する。
【0009】
【実施例】次に本発明一実施例を図1をもとに説明する
。図1は、本発明の一実施例であるコンピュータ・シス
テムの構成図である。本実施例はCPU9、メモリ7、
キー入力装置11、ディスプレイ10、ディスク・シス
テム12からハードウェアを構成し、オペレーティング
・システム8によってシステム全体が制御される。
。図1は、本発明の一実施例であるコンピュータ・シス
テムの構成図である。本実施例はCPU9、メモリ7、
キー入力装置11、ディスプレイ10、ディスク・シス
テム12からハードウェアを構成し、オペレーティング
・システム8によってシステム全体が制御される。
【0010】簡易デバッグ・オプション付きコンパイラ
1はソース・ファイル6の構文と意味を解析する字句解
析部2と、簡易デバッグ機能4を有するオブジェクト・
コード生成部3から成る。
1はソース・ファイル6の構文と意味を解析する字句解
析部2と、簡易デバッグ機能4を有するオブジェクト・
コード生成部3から成る。
【0011】簡易デバッグ・オプション付きコンパイラ
1は、キー入力装置11から命令を入力することによっ
て実行され、指定されたソース・ファイル6を読み込み
、オブジェクト・ファイル5を出力する。その際、簡易
デバッグ・オプションが指定されると、簡易デバッグ機
能4は、関数コール時に関数名、引数名、引数値を表示
し、呼び出し元の関数へ戻る時に返却値を表示する命令
コードを生成して挿入し、これらデバッグ情報を表示す
る命令コードをすべての関数引用部に含むオブジェクト
・ファイル5を出力する。
1は、キー入力装置11から命令を入力することによっ
て実行され、指定されたソース・ファイル6を読み込み
、オブジェクト・ファイル5を出力する。その際、簡易
デバッグ・オプションが指定されると、簡易デバッグ機
能4は、関数コール時に関数名、引数名、引数値を表示
し、呼び出し元の関数へ戻る時に返却値を表示する命令
コードを生成して挿入し、これらデバッグ情報を表示す
る命令コードをすべての関数引用部に含むオブジェクト
・ファイル5を出力する。
【0012】これを実行させることによってプログラム
の流れを追う、あるいは引数値や返却値の確認などの簡
単なデバッグ作業を行うことができる。
の流れを追う、あるいは引数値や返却値の確認などの簡
単なデバッグ作業を行うことができる。
【0013】
【発明の効果】以上の説明のように、本発明によれば、
オプション指定によってオブジェクト・ファイルそのも
のにデバッグ情報を表示する命令コードが含まれて出力
されるため、ソース・プログラムを書き換える必要がな
く、デバッグ作業時間を短縮させる効果がある。
オプション指定によってオブジェクト・ファイルそのも
のにデバッグ情報を表示する命令コードが含まれて出力
されるため、ソース・プログラムを書き換える必要がな
く、デバッグ作業時間を短縮させる効果がある。
【0014】またデバッグを終えた後は、オプション指
定なしでソース・プログラムをコンパイルすればよく、
デバッグのためにソース・プログラムへ挿入したプリン
ト文の削除洩れを防ぐ効果もある。
定なしでソース・プログラムをコンパイルすればよく、
デバッグのためにソース・プログラムへ挿入したプリン
ト文の削除洩れを防ぐ効果もある。
【図1】本発明の一実施例であるコンピュータ・システ
ムの構成図である。
ムの構成図である。
1 簡易デバッグ・オプション付きコンパイラ2
字句解析部 3 オブジェクト・コード生成部 4 簡易デバッグ機能 5 オブジェクト・ファイル 6 ソース・ファイル 7 メモリ 8 オペレーティング・システム 9 CPU 10 ディスプレイ 11 キー入力装置 12 ディスプレイ・システム
字句解析部 3 オブジェクト・コード生成部 4 簡易デバッグ機能 5 オブジェクト・ファイル 6 ソース・ファイル 7 メモリ 8 オペレーティング・システム 9 CPU 10 ディスプレイ 11 キー入力装置 12 ディスプレイ・システム
Claims (1)
- 【請求項1】 ソース・ファイルの構文と意味を解析
する字句解析部と、解析されたデータをもとにオブジェ
クト・コードを生成するオブジェクト・コード生成部を
有するコンパイラにおいて、前記オブジェクト・コード
生成部は、オプション指定を受けたとき、ソース・ファ
イル中のすべての関数引用部について、関数の入口に関
数名、引数名、引数値を表示する命令コードを、関数の
出口に返却値を表示する命令コードを挿入する簡易デバ
ッグ機能を有することを特徴とする簡易デバッグ・オプ
ション付きコンパイラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3097981A JPH04307630A (ja) | 1991-04-04 | 1991-04-04 | 簡易デバック・オプション付きコンパイラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3097981A JPH04307630A (ja) | 1991-04-04 | 1991-04-04 | 簡易デバック・オプション付きコンパイラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04307630A true JPH04307630A (ja) | 1992-10-29 |
Family
ID=14206846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3097981A Pending JPH04307630A (ja) | 1991-04-04 | 1991-04-04 | 簡易デバック・オプション付きコンパイラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04307630A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09179753A (ja) * | 1995-12-26 | 1997-07-11 | Nec Software Ltd | リターン処理を契機とするスタック情報収集方式 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02244341A (ja) * | 1989-03-17 | 1990-09-28 | Nec Corp | 実行サブルーチンデバツグ情報出力トレース方式 |
-
1991
- 1991-04-04 JP JP3097981A patent/JPH04307630A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02244341A (ja) * | 1989-03-17 | 1990-09-28 | Nec Corp | 実行サブルーチンデバツグ情報出力トレース方式 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09179753A (ja) * | 1995-12-26 | 1997-07-11 | Nec Software Ltd | リターン処理を契機とするスタック情報収集方式 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6658649B1 (en) | Method, apparatus and article of manufacture for debugging a user defined region of code | |
US5987250A (en) | Transparent instrumentation for computer program behavior analysis | |
US7496906B2 (en) | Evaluation of a code segment | |
JP2795244B2 (ja) | プログラムデバッグシステム | |
EP1388064B1 (en) | System and method for combinatorial test generation in a compatibility testing environment | |
US5905894A (en) | Meta-programming methods and apparatus | |
US7016807B2 (en) | Device and method for monitoring a program execution | |
US7895575B2 (en) | Apparatus and method for generating test driver | |
US6314557B1 (en) | Hybrid computer programming environment | |
US20040015843A1 (en) | Method and program product for structured comment assists in computer programming | |
CN110554861B (zh) | 具有编译和读取-评估-打印-循环操作的软件开发环境 | |
Livadas et al. | A toolset for program understanding | |
JP3196675B2 (ja) | 言語処理方式 | |
JPH0766342B2 (ja) | プログラムテスト装置 | |
KR100417655B1 (ko) | 최적화과정을참조하면서동작검증을행하도록디버그정보를생성하는디버그정보생성장치및프로그래머가최적화과정을의식하면서동작검증을할수있는디버그장치로이루어지는프로그램개발시스템 | |
JPH08314760A (ja) | プログラム開発支援装置 | |
US11256479B2 (en) | Dynamic updates in an interactive programming environment | |
JPH04307630A (ja) | 簡易デバック・オプション付きコンパイラ | |
JP4055197B2 (ja) | プログラムに含まれる手続きの解析装置 | |
CN112162921A (zh) | 一种工业自动化测试与控制系统 | |
JP2004287869A (ja) | プログラム実行監視装置および方法 | |
CN117785160B (zh) | 一种低代码应用的行为逻辑开发调试方法、系统及装置 | |
JP2003050722A (ja) | プログラム解析システムとプログラム解析方法 | |
Rüegg et al. | Interactive transformations for visual models. | |
KR101339356B1 (ko) | 그래픽빌더의 자동화를 위한 스크립트 엔진 제어장치 |