JPH0588934A - Debugging system - Google Patents

Debugging system

Info

Publication number
JPH0588934A
JPH0588934A JP3250095A JP25009591A JPH0588934A JP H0588934 A JPH0588934 A JP H0588934A JP 3250095 A JP3250095 A JP 3250095A JP 25009591 A JP25009591 A JP 25009591A JP H0588934 A JPH0588934 A JP H0588934A
Authority
JP
Japan
Prior art keywords
debugger
program
debugging
machine language
error
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
JP3250095A
Other languages
Japanese (ja)
Inventor
Kazunori Tomita
一則 冨田
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.)
KOBE NIPPON DEKIN SOFTWARE KK
Original Assignee
KOBE NIPPON DEKIN SOFTWARE KK
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 KOBE NIPPON DEKIN SOFTWARE KK filed Critical KOBE NIPPON DEKIN SOFTWARE KK
Priority to JP3250095A priority Critical patent/JPH0588934A/en
Publication of JPH0588934A publication Critical patent/JPH0588934A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE:To flexibly perform interactive debugging in more details by dynamically taking a machine language level debugger into a local process at an arbitrary execution point of a program. CONSTITUTION:An application program 1 interrupts the execution at the time of the occurrence of error or at an arbitrary time to dynamically take a machine language level debugger 4 into its own process by a dynamic link mechanism 2. At this time, an external symbol link mechanism 3 is used to resolve the reference of external symbols to be shared between the program 1 and the machine language level debugger 4. The top level of the machine language level debugger 4 is called to perform interactive debugging in details.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、対話的に、プログラム
実行のデバッグを行うデバッグ方式に関し、特に、通常
に実行されているプログラムへ動的にデバッガを取り込
んで、より詳細で随意な低レベルのデバッグを可能とす
るデバッグ方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a debugging method for interactively debugging program execution, and more particularly to dynamically incorporating a debugger into a normally executed program to provide a more detailed and optional low level. The debugging method that enables debugging of the.

【0002】[0002]

【従来の技術】CやPascalのようなコンパイラ言
語においては、ソースプログラムをコンパイルして実行
形式のプログラムを作成する。この実行形式のプログラ
ム実行において、プログラムに誤りがある場合、意図し
たものとは異なる結果を出力したり、プログラムが実行
の途中でアボートしてしまったりして、プログラムのデ
バッグを適切に行うための情報を得ることができない。
2. Description of the Related Art In a compiler language such as C or Pascal, a source program is compiled to create an executable program. When executing this type of program, if there is an error in the program, a result different from the intended one may be output, or the program may abort during execution, so that it may be necessary to properly debug the program. I can't get the information.

【0003】この場合、このままでは、プログラムのど
こに誤りがあるのかを発見することは困難なので、シス
テム(OS)があらかじめ用意しているデバッガを利用
してデバッグ作業を行うことがある。
In this case, since it is difficult to find out where the error is in the program in this state, the debugging work may be performed by using a debugger prepared in advance by the system (OS).

【0004】まず、システムデバッガを起動して、その
後、このデバッガの環境下へ、デバッグ対象のプログラ
ムをロードする。そして、このプログラムを実行させ
る。
First, the system debugger is started, and then the program to be debugged is loaded into the environment of this debugger. Then, this program is executed.

【0005】デバッガの環境下では、プログラムの実行
をデバッガが逐一監視しているので、任意のプログラム
実行時点で、プログラムを中断させることができ、その
時点のレジスタの値を参照したり変数の値を参照したり
して、プログラムをデバッグする。
In the environment of the debugger, the debugger monitors the execution of the program one by one, so that the program can be interrupted at the arbitrary program execution time, and the register value at that time can be referred to or the variable value can be changed. Or to debug the program.

【0006】ただし、この時、通常のコンパイルを行っ
ていたのでは、デバッガがソースプログラム記述の情報
を得ることができないため、シンボリックな形式で(た
とえば、プログラムソース中の変数名を指定すれば、デ
バッガはその変数の値を表示するというような方式で)
デバッグすることが制限される。
However, at this time, since the debugger cannot obtain the information of the source program description if the normal compilation is performed, a symbolic format (for example, if a variable name in the program source is specified, The debugger will display the value of that variable.)
Limited debugging.

【0007】シンボリックな形式でデバッグを行うため
には、もう一度、このシンボリックな情報を生成するた
めにコンパイルオプションを指定して、ソースプログラ
ムをコンパイルしなおし、その後、システムデバッガを
使用してデバッグを行わなければならない。
In order to debug in the symbolic form, the compile option is specified again to generate this symbolic information, the source program is recompiled, and then the system debugger is used for debugging. There must be.

【0008】一方、LISPやBASICのようなイン
タプリタ言語では、インタプリタがプログラムを解釈実
行しているため、インタプリタが、コンパイラ言語での
システムデバッガに相当すると考えられる。
On the other hand, in an interpreter language such as LISP or BASIC, the interpreter interprets and executes a program, so it is considered that the interpreter corresponds to a system debugger in a compiler language.

【0009】インタプリタは、ソースプログラムを解釈
実行しているので、シンボリックな形式でデバッグを行
うことは可能である。しかし、この場合、単なる、ソー
スプログラムに対する解釈実行機構であるため、機械語
レベルのデバッグは行えない。
Since the interpreter interprets and executes the source program, it is possible to debug in a symbolic format. However, in this case, since it is merely an interpretation and execution mechanism for the source program, debugging at the machine language level cannot be performed.

【0010】また、LISPやBASICにおいても、
大規模なプログラムが開発されるようになり、それを高
速実行するためにコンパイラを備えるようになってきて
いる。コンパイルされたコードをインタプリタは解釈実
行することはできないので、コンパイルされたコードは
インタプリタによってデバッグすることができない。
Also, in LISP and BASIC,
Large-scale programs have been developed and are equipped with a compiler to execute them at high speed. The compiled code cannot be interpreted and executed by the interpreter, so the compiled code cannot be debugged by the interpreter.

【0011】したがって、大規模なプログラムの場合に
も、デバッグのためには、必ずソースプログラムをイン
タプリタで実行する必要がある。
Therefore, even in the case of a large-scale program, the source program must be executed by the interpreter for debugging.

【0012】インタプリタ言語の場合でも、システムデ
バッガを利用して、コンパイルされたコードをデバッグ
することも考えられるが、処理系がコンパイルされたコ
ードの形式を独自に規定していることが多いため、それ
がシステム(OS)で定められているオブジェクトファ
イルの形式と異なっており、システムデバッガの所有す
る機能をすべて使うことができず、限られた機能の範囲
でデバッグを行わなければならない。特に、シンボリッ
クな形式でのデバッグにはまったく使用できない。
Even in the case of an interpreter language, it is possible to use a system debugger to debug the compiled code, but since the processing system often prescribes the format of the compiled code independently, Since it differs from the object file format defined by the system (OS), all functions possessed by the system debugger cannot be used, and debugging must be performed within a limited range of functions. In particular, it cannot be used at all for debugging in symbolic form.

【0013】[0013]

【発明が解決しようとする課題】システムデバッガを利
用して、デバッグを行う場合、システムデバッガの環境
下でプログラムを実行する必要があるため、通常のプロ
グラム実行よりも多くのメモリが消費される。
When debugging is performed using the system debugger, since it is necessary to execute the program under the environment of the system debugger, more memory is consumed than in normal program execution.

【0014】そのため、複数の開発者が1つのマシンを
共有使用している場合、プロセスのためのメモリがたり
なくなり、開発者全員が、同時にデバッグすることがで
きなくなるという問題点がある。
Therefore, when a plurality of developers share one machine, there is a problem that the memory for the process runs out and all the developers cannot debug at the same time.

【0015】特に、シンボリックな情報を保持して、ソ
ースプログラムレベルのデバッグを行うときは、システ
ムデバッガはさらに多くの管理情報を生成するため、こ
の傾向が一層顕著になるという欠陥がある。
In particular, when the source program level debugging is performed while holding the symbolic information, the system debugger generates more management information, and this tendency becomes more remarkable.

【0016】また、インタプリタ言語の場合でも、ソー
スプログラムを解釈実行するという性格から、システム
デバッガが備えているような機械語レベルのデバッグ機
能が使用できなかったり、コンパイルされたコードに対
しては、デバッグする手段を持たないという欠点があ
る。
Further, even in the case of an interpreter language, because of the nature of interpreting and executing a source program, it is impossible to use the machine language level debug function provided by the system debugger, or for compiled code, It has the disadvantage of not having the means to debug.

【0017】さらに、システムデバッガを使ってデバッ
グをする形態では、長時間走行させていたプログラム
が、突然エラーを引き起こしてしまった場合など、それ
をデバッガ上で再現させてデバッグするために、デバッ
グ情報を生成するオプションを指定して、プログラムを
再コンパイルし、その上で、プログラムを長時間かけて
再走行させなければならないという手間が発生するとい
う問題点もある。
Further, in the form of debugging using the system debugger, in the case where a program that has been running for a long time suddenly causes an error, in order to reproduce it in the debugger and debug, the debug information There is also a problem in that it is necessary to recompile the program by specifying an option for generating, and then to rerun the program for a long time.

【0018】本発明の目的は、プログラム実行中にデバ
ッガが消費していた余分なメモリの消費を抑制できるデ
バッグ方式を提供することにある。
An object of the present invention is to provide a debugging method capable of suppressing the consumption of extra memory consumed by the debugger during program execution.

【0019】[0019]

【課題を解決するための手段】前記目的を達成するた
め、本発明に係るデバッグ方式においては、対話的にプ
ログラム実行のデバッグを行う作業において、任意の時
点でプログラムの実行を中断させて、動的にそのプログ
ラム実行環境へデバッガを取り込んで、機械語レベルの
デバッグを行うものである。
In order to achieve the above-mentioned object, in the debugging method according to the present invention, in the work of interactively debugging the program execution, the program execution is interrupted at any time, A debugger is incorporated into the program execution environment to perform machine language level debugging.

【0020】また、インタプリタ言語である場合に、何
らかのエラーが発生すれば、プログラム実行を中断さ
せ、インタプリタの監視下に制御を戻し、低レベルデバ
ッガをロードするものである。
In the interpreter language, if any error occurs, the program execution is suspended, control is returned to the interpreter, and the low-level debugger is loaded.

【0021】また、コンパイラ言語である場合に、予期
しないエラーに対するエラー処理ルーチンをプログラム
に記述しておき、エラーが発生すれば、このエラー処理
ルーチンに基いて機械語レベルデバッガをロードするも
のである。
In the case of a compiler language, an error handling routine for an unexpected error is described in a program, and if an error occurs, the machine language level debugger is loaded based on this error handling routine. ..

【0022】[0022]

【作用】本発明のデバッグ方式は、エラーが発生した時
点や、任意の時点でプログラム実行を中断させて、その
プログラム実行環境下へ、動的にデバッガを取り込み、
対話的にデバッグを行う。
According to the debugging method of the present invention, the program execution is interrupted at the time when an error occurs or at an arbitrary time, and the debugger is dynamically incorporated into the program execution environment.
Debug interactively.

【0023】[0023]

【実施例】以下、本発明について図面を参照して説明す
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below with reference to the drawings.

【0024】図1は、本発明の一実施例を示すブロック
図である。
FIG. 1 is a block diagram showing an embodiment of the present invention.

【0025】図1において、1はアプリケーションプロ
グラム、2は動的リンク機構、3は外部シンボルリンク
機構、4は機械語レベルデバッガをそれぞれ示す。
In FIG. 1, 1 is an application program, 2 is a dynamic link mechanism, 3 is an external symbol link mechanism, and 4 is a machine language level debugger.

【0026】アプリケーションプログラム1は、エラー
が発生した時点で、あるいは任意の時点でプログラム実
行を中断して、動的リンク機構2と外部シンボルリンク
機構3とを利用して、機械語レベルデバッガ4を自プロ
セスへロードする。
The application program 1 interrupts the program execution at the time when an error occurs or at an arbitrary time, and uses the dynamic link mechanism 2 and the external symbol link mechanism 3 to operate the machine language level debugger 4. Load into own process.

【0027】機械語レベルデバッガ4がプログラム1中
にロードされると、以後、デバッガ4を使用すること
で、対話的に、詳細な低レベルのデバッグ作業が可能と
なる。
When the machine language level debugger 4 is loaded into the program 1, thereafter, by using the debugger 4, a detailed low level debugging work can be interactively performed.

【0028】インタプリタ言語であれば、何らかのエラ
ーが発生すれば、エラー処理機構が作用して、プログラ
ム実行を中断させて、インタプリタの監視下に制御を戻
す。
In the interpreter language, if any error occurs, the error processing mechanism operates to interrupt the program execution and return the control to the interpreter's supervision.

【0029】したがって、このインタプリタの下から動
的リンク機構2を呼び出して、低レベルデバッガをロー
ドする。
Therefore, the dynamic link mechanism 2 is called from under the interpreter to load the low level debugger.

【0030】コンパイラ言語であれば、システム(O
S)の持つ例外処理機構などを利用して、予期しないエ
ラーに対するエラー処理ルーチンをプログラム中に記述
しておいて、エラーが発生すれば、このエラー処理ルー
チンから動的リンク機構を呼び出して、機械語レベルデ
バッガをロードする。
If it is a compiler language, the system (O
Using the exception handling mechanism of S), describe an error handling routine for unexpected errors in the program. If an error occurs, call the dynamic link mechanism from this error handling routine to Load the word-level debugger.

【0031】また、プログラムを中断させて、機械語レ
ベルデバッガをロードする場合も、インタプリタ言語で
は、キーボードからの割り込みを行えば、エラー処理機
構が機能するので、上述のエラーが発生した場合と同様
になり、コンパイラ言語でも、キーボード割り込みの例
外処理機構を利用すれば、上述のエラー処理ルーチンを
記述することができる。
Also, when the program is interrupted and the machine language level debugger is loaded, in the interpreted language, the error handling mechanism operates by interrupting from the keyboard. Therefore, the same as when the above error occurs. Therefore, even in a compiler language, the above error handling routine can be described by using the exception handling mechanism of the keyboard interrupt.

【0032】もちろん、プログラム中にそのプログラム
実行を中断するような記述を行って、その中断処理より
機械語レベルデバッガを、動的に、ロードすることも可
能である。
Of course, it is also possible to describe in the program such that the execution of the program is interrupted, and the machine language level debugger can be dynamically loaded by the interrupting process.

【0033】図2に示すように、アプリケーションプロ
グラム1から呼び出された、動的リンク機構2(インタ
プリタ言語では、システム(OS)とは独立した独自の
プログラム実行形態を採用していることが多いため、動
的リンク機能そのものがCなどのコンパイラ言語に対す
る)は、外部プログラム呼び出し機構として実現されて
いることが多い。
As shown in FIG. 2, the dynamic link mechanism 2 called from the application program 1 (in the interpreter language, a unique program execution form independent of the system (OS) is often adopted. , The dynamic link function itself is for a compiler language such as C) is often realized as an external program calling mechanism.

【0034】一方、コンパイラ言語に対しては(OSが
システム機能としてサポートしていることが多い)、指
定された機械語レベルデバッガ4を(この機械語レベル
デバッガは、各言語処理系に依存した内部構造を熟知し
た、詳細なデバッグ機能を提供できるので、特にインタ
プリタ言語にとっては、新たなデバッグ手段として有効
である)、アプリケーションプログラムのプロセス中へ
と取り込む。
On the other hand, for the compiler language (often supported by the OS as a system function), a designated machine language level debugger 4 (this machine language level debugger depends on each language processing system). Since it is possible to provide detailed debugging functions that are familiar with the internal structure, it is effective as a new debugging method, especially for interpreted languages), and is incorporated into the process of the application program.

【0035】その後、外部シンボルリンク機構3を呼び
出して、言語処理系あるいはアプリケーションプログラ
ムと共有する必要のあるシンボルの参照アドレスの解決
を行う。
After that, the external symbol linking mechanism 3 is called to solve the reference address of the symbol that needs to be shared with the language processing system or the application program.

【0036】この類の外部シンボルを共有することで、
たとえば、言語処理系依存の特徴的なスタックの扱い方
や、高速に参照を行うデータ部の割り付け方というよう
な内部構造の情報が出力可能となる。
By sharing this kind of external symbol,
For example, it is possible to output information on the internal structure such as how to handle a characteristic stack dependent on a language processing system and how to allocate a data part for high-speed reference.

【0037】また、この時、アプリケーションプログラ
ム1に対する、デバッグ情報を生成したオブジェクトフ
ァイルが存在すれば、外部シンボルリンク機構3がシス
テムデバッガが行っているのと同じようにして、このデ
バッグ情報を取り込めば、動的にデバッガを取り込んだ
環境下のままで、シンボリックなデバッグも行える。
At this time, if an object file for which debug information has been generated for the application program 1 exists, if the external symbol link mechanism 3 fetches this debug information in the same manner as the system debugger does. , You can also perform symbolic debugging in an environment that dynamically incorporates a debugger.

【0038】低レベルの機械語レベルデバッガ4は、動
的にアプリケーションプログラム1の実行環境に取り込
まれるので、その取り込まれる時点までは、最初からデ
バッガの環境下でプログラムを実行した場合に比べて、
デバッガが使用することになるメモリの消費が節約でき
る。
The low-level machine language level debugger 4 is dynamically incorporated into the execution environment of the application program 1. Therefore, up to the point of incorporation, the program is executed in the environment of the debugger from the beginning.
It saves memory consumption that the debugger will use.

【0039】さらに、動的にデバッガを取り込めるの
で、プログラムの実行中に問題が発生した時点で、その
ままの環境を保持したまま、機械語レベルのデバッガが
使用可能となる。そのため。デバッガの上で問題を再現
させるという手間を経なくても、問題発生時点でプログ
ラムの誤りに関する情報を収集したり、その誤りの原因
を発見したりすることができる。
Further, since the debugger can be loaded dynamically, when a problem occurs during the execution of the program, the machine language level debugger can be used while maintaining the environment as it is. for that reason. It is possible to collect information about a program error and discover the cause of the error at the time of the problem, without the trouble of reproducing the problem on the debugger.

【0040】インタプリタ言語が生成するコンパイルさ
れたコードに対しては、機械語レベルデバッガがシステ
ムデバッガの所有する機能を備えることで、対話的で柔
軟なデバッグが行えるようになる。
With respect to the compiled code generated by the interpreter language, the machine language level debugger has a function possessed by the system debugger, which enables interactive and flexible debugging.

【0041】特に、ソースプログラムのレベルでは決し
て行えないような、機械語に対するブレークポイントの
設定や、ブレークポイント設定時点でのレジスタの内容
の表示や、ある範囲のメモリ領域の内容のダンプ出力
や、その内容の変更などの機能が利用できる。これは、
言語処理系の作成時や、コンパイラの出力コードのデバ
ッグ時などに必須の機能である。
In particular, it is possible to set a breakpoint for a machine language, display register contents at the time of setting a breakpoint, dump output contents of a certain range of memory area, etc., which cannot be done at the source program level. Functions such as changing the contents can be used. this is,
This function is indispensable when creating a language processor or debugging the output code of a compiler.

【0042】図3に本方式の処理の流れを示す。動的リ
ンク機構2は、制御が渡れば、機械語レベルデバッガ4
を呼び出すために、必要なメモリ領域をシステムに要求
する。そして、メモリが確保できれば、この領域へデバ
ッガをロードさせる。
FIG. 3 shows a processing flow of this system. If control is passed, the dynamic link mechanism 2 is a machine language level debugger 4
Requests the system for the required memory area to call. Then, if the memory can be secured, the debugger is loaded in this area.

【0043】最初に、デバッガのテキスト部をロードす
る。テキスト部中に含まれた、参照の未解決のライブラ
リ関数に関しては、各々のシステムライブラリから、そ
の関数を取り出し、さらに動的にロードする。もちろ
ん、デバッガがロードされるアプリケーションプログラ
ム1中に、そのライブラリ関数が存在していれば、それ
を利用する。ただし、共有することは必須ではない。共
有すれば、メモリスペースの節約になる。
First, the text part of the debugger is loaded. Regarding unresolved reference library functions included in the text part, the functions are fetched from each system library and dynamically loaded. Of course, if the library function exists in the application program 1 in which the debugger is loaded, it is used. However, sharing is not mandatory. Sharing saves memory space.

【0044】この後、デバッガのデータ部をロードしに
いく。この時、データ部中の参照未解決の外部シンボル
に対しては、外部シンボルリンク機構3が、アプリケー
ションプログラム中に存在している同名のシンボルを指
すようにアドレス参照を解決する。
After that, the data section of the debugger is loaded. At this time, the external symbol linking mechanism 3 resolves the address reference to the external symbol whose reference is unresolved in the data part so as to point to the symbol of the same name existing in the application program.

【0045】この参照の共有は、必須である。この参照
が、デバッガがアプリケーションプログラムや、言語処
理系の特殊な内部構造をアクセスするための基点となる
からである。また、この参照の共有を可能とするため
に、アプリケーションプログラム、あるいは言語処理系
中に、これらの共有する外部シンボルのアドレステーブ
ルを用意しておく必要がある。あるいは、プログラムの
オブジェクトファイル中のシンボルの定義情報を取得し
て、それを利用する。すべての外部シンボルの参照が解
決すれば、デバッガのロードは終了する。
Sharing of this reference is mandatory. This reference is the basis for the debugger to access the application program and the special internal structure of the language processing system. Further, in order to enable sharing of this reference, it is necessary to prepare an address table of these shared external symbols in the application program or language processing system. Alternatively, the definition information of the symbol in the object file of the program is acquired and used. When all external symbol references have been resolved, the debugger load is complete.

【0046】最後に、この動的にロードされた機械語レ
ベルデバッガ4のトップレベルのコマンド処理機構を呼
び出せば、以降、現在のエラー時点で、あるいはプログ
ラムの実行中断時点で、機械語レベルデバッガ4が対話
的に使用可能となる。
Finally, if the top-level command processing mechanism of the dynamically loaded machine language level debugger 4 is called, the machine language level debugger 4 will be executed at the current error point or at the program execution interruption point. Can be used interactively.

【0047】[0047]

【発明の効果】以上説明したように本発明は、動的に機
械語レベルデバッガをプログラム中に取り込めるので、
プログラム実行中にデバッガが消費していた余分なメモ
リの消費を抑制することができる。
As described above, according to the present invention, the machine language level debugger can be dynamically incorporated in the program.
It is possible to suppress the consumption of extra memory that was consumed by the debugger during program execution.

【0048】さらに、予期しないエラーが発生してから
でも、動的にデバッガが利用できるので、無駄なく、即
時即座にデバッグ情報を収集することが可能になる。
Furthermore, since the debugger can be used dynamically even after an unexpected error occurs, it is possible to collect debug information immediately and without waste.

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

【図1】本発明の一実施例における基本構成を示すブロ
ック図である。
FIG. 1 is a block diagram showing a basic configuration in an embodiment of the present invention.

【図2】低レベルデバッガをプログラムへ取り込んだ状
態を示す図である。
FIG. 2 is a diagram showing a state in which a low-level debugger is incorporated in a program.

【図3】機械語レベルデバッガを動的にロードする処理
の流れ図である。
FIG. 3 is a flowchart of a process for dynamically loading a machine language level debugger.

【符号の説明】[Explanation of symbols]

1 アプリケーションプログラム 2 動的リンク機構 3 外部シンボルリンク機構 4 機械語レベルデバッガ 1 application program 2 dynamic link mechanism 3 external symbol link mechanism 4 machine language level debugger

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 対話的にプログラム実行のデバッグを行
う作業において、任意の時点でプログラムの実行を中断
させて、動的にそのプログラム実行環境へデバッガを取
り込んで、機械語レベルのデバッグを行うことを特徴と
するデバッグ方式。
1. In the work of interactively debugging a program execution, the program execution is suspended at an arbitrary time point, and a debugger is dynamically incorporated into the program execution environment to perform a machine language level debugging. A debugging method characterized by.
【請求項2】 インタプリタ言語である場合に、何らか
のエラーが発生すれば、プログラム実行を中断させ、イ
ンタプリタの監視下に制御を戻し、低レベルデバッガを
ロードするものであることを特徴とする請求項1に記載
のデバッグ方式。
2. In the interpreter language, if any error occurs, the program execution is interrupted, the control is returned to under the supervision of the interpreter, and the low-level debugger is loaded. The debugging method described in 1.
【請求項3】 コンパイラ言語である場合に、予期しな
いエラーに対するエラー処理ルーチンをプログラムに記
述しておき、エラーが発生すれば、このエラー処理ルー
チンに基いて機械語レベルデバッガをロードするもので
あることを特徴とする請求項1に記載のデバッグ方式。
3. In a compiler language, an error handling routine for an unexpected error is described in a program, and when an error occurs, a machine language level debugger is loaded based on this error handling routine. The debugging method according to claim 1, wherein:
JP3250095A 1991-09-30 1991-09-30 Debugging system Pending JPH0588934A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3250095A JPH0588934A (en) 1991-09-30 1991-09-30 Debugging system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3250095A JPH0588934A (en) 1991-09-30 1991-09-30 Debugging system

Publications (1)

Publication Number Publication Date
JPH0588934A true JPH0588934A (en) 1993-04-09

Family

ID=17202740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3250095A Pending JPH0588934A (en) 1991-09-30 1991-09-30 Debugging system

Country Status (1)

Country Link
JP (1) JPH0588934A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011111172A1 (en) * 2010-03-09 2011-09-15 富士通株式会社 Information processing device, information processing method, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011111172A1 (en) * 2010-03-09 2011-09-15 富士通株式会社 Information processing device, information processing method, and program
JP5423871B2 (en) * 2010-03-09 2014-02-19 富士通株式会社 Information processing apparatus, information processing method, and program
US9122597B2 (en) 2010-03-09 2015-09-01 Fujitsu Limited Information processing apparatus, information processing method and medium storing program

Similar Documents

Publication Publication Date Title
US4812975A (en) Emulation method
US6351843B1 (en) Dynamically inserting a function into an application executable at runtime
US5247678A (en) Load time linker for software used with a multiprocessor system
US5381547A (en) Method for dynamically linking definable program elements of an interactive data processing system
EP0718760B1 (en) Method and apparatus for generating platform-standard object files containing machine-independent code
US6895460B2 (en) Synchronization of asynchronous emulated interrupts
JP2666847B2 (en) Heterogeneous language communication method
JPH09325901A (en) Method for executing debugging
US7996659B2 (en) Microprocessor instruction that allows system routine calls and returns from all contexts
JPH0237454A (en) Computer system
US6834391B2 (en) Method and apparatus for automated native code isolation
US20040098639A1 (en) Debugging kernel-loadable modules and suspending and replacing functions in non-microkernel operating systems
US6948170B2 (en) Computer and computer-readable storage medium for command interpretation
JPH0237455A (en) Modular compiler
JPH09237202A (en) Method for executing debugging processing
EP0667573A1 (en) Incorporation of services written in one operating system environment into another operating system environment
US5150474A (en) Method for transferring arguments between object programs by switching address modes according to mode identifying flag
US5970250A (en) System, method, and computer program product for scoping operating system semanticis in a computing environment supporting multi-enclave processes
US5675730A (en) Method and apparatus for extensible type-specific data presentation by a debugger
US20020073133A1 (en) Register allocation method and software development method for various execution environments and LSI for executing developed software
EP0417916B1 (en) Procedure state descriptor system for digital data processors
JPH0588934A (en) Debugging system
US6769119B1 (en) System, method, and computer program product for scoping operating system semantics in a computing environment supporting multi-enclave processes
KR101571908B1 (en) A user co-routine interface for customizing sip and sdp protocols
JPH11110256A (en) Device and method for debugging program, and computer readable recording medium recorded with the method for the same

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20031201

A131 Notification of reasons for refusal

Effective date: 20040305

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20040427

Free format text: JAPANESE INTERMEDIATE CODE: A523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040427

A131 Notification of reasons for refusal

Effective date: 20041105

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20041129

Free format text: JAPANESE INTERMEDIATE CODE: A523

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050210

A61 First payment of annual fees (during grant procedure)

Effective date: 20050223

Free format text: JAPANESE INTERMEDIATE CODE: A61

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 3

Free format text: PAYMENT UNTIL: 20080311

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090311

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20090311

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20100311

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100311

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110311

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20110311

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120311

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120311

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130311

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140311

Year of fee payment: 9