JPH03144833A - デバッグ・システム - Google Patents

デバッグ・システム

Info

Publication number
JPH03144833A
JPH03144833A JP1284524A JP28452489A JPH03144833A JP H03144833 A JPH03144833 A JP H03144833A JP 1284524 A JP1284524 A JP 1284524A JP 28452489 A JP28452489 A JP 28452489A JP H03144833 A JPH03144833 A JP H03144833A
Authority
JP
Japan
Prior art keywords
machine
debugger
information
debug
language level
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
JP1284524A
Other languages
English (en)
Inventor
Teruhiro Oshima
大島 輝洋
Noriko Yajima
矢島 典子
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP1284524A priority Critical patent/JPH03144833A/ja
Publication of JPH03144833A publication Critical patent/JPH03144833A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〈産業上の利用分野〉 本発明は、UNIX(米国A T & ’T’ベル研究
所が開発しライセンスしているオペレーティングシステ
ム)等の、C言語で記述されたカーネルやドライバ等の
デバッガに関するものであり、詳しくはC言語レベルで
のシンボリックデバッグ機能を実現するデバッグ・シス
テムに関する。
〈従来の技術〉 UNIX等の、C言語で記述されたカーネルやドライバ
の開発においてそれらをデバッグする際は、従来はハー
ドウェア・デバッガの使用によりマシン話レベルで行っ
ていた。
第5図はカーネルデバッグに係る従来のシステム構成の
一例を示す図で、1はコンソール(CRT表示装′f1
)2が接続されたターゲットマシンで、デバッグ対象で
あるUNIX等のカーネルおよびマシン語レベルで行う
ハードウェア・デバッガが組み込まれている。
このハードウェア・デバッガでは、ブレーク・ポイント
の設定および実行、シングルステップのトレース、レジ
スタの値の表示あるいは変更、メモリ内容の表示や変更
等の機能を有するものである。
3はキーボードと表示装置とを有したターミナルで、通
信回線(通信規格R3−232Cに基づきデータを伝送
するための回線)4を介してターゲットマシン1に接続
され、デバッグ動作に必要なコマンドやデータの入力、
およびデバッガ実行結果の表示等を行うものである。
〈発明が解決しようとする課題〉 しかしながら、このようなデバッグ方式では、シンボル
によるデバッグや、C言語のソースコードを見ながらの
デバッグができないため、デバッグ効率が悪いという欠
点があった。
UNIXの場合カーネル部はその大部分がC言語で記述
されており、これをマシン語レベルでデバッグするには
、人間がC言語をマシン語に翻訳する必要がある。その
翻訳作業は非常に熟練を要する仕事であり、開発効率の
低下の要因となっていた。
本発明の目的は、このような点に鑑みてなされたもので
、ターゲットマシン上のハードウェア・デバッガ機能を
利用し、別のコンピュータ・システム上で外付けのC言
語レベルのシンボリックデバッグ機能を実現することの
できるデバッガ・システムを提供することにある。
く課題を解決するための手段〉 このような目的を達成するために、本発明では、マシン
語レベルのデバッグ機能を持つハードウェア・デバッガ
を備えると共にデバッグ対象モジュールが格納されたタ
ーゲットマシンと、このターゲット・マシンとは3!1
信回線を介して接続され、ユーザが入力したC言語レベ
ルのデバッグ指令をデバッグ対象のデバッグ用付加情報
を参照してマシン語レベルのデバッグ情報に変換し、そ
れを前記ハードウェア・デバッガに送信する機能、およ
び前記ハードウェア・デバッガが送信するマシン語レベ
ルのデバッグ情報を前記デバッグ用付加情報を参照して
C言語レベルの情報に変換しユーザの指令に対する結果
としての情報を得る機能を有するシンボリック・Cソー
スデバッガ(KDB)と、 このシンボリック・Cソースデバッガ(KDD)に接続
され、必要な情報を入力するための入力機能と、前記ホ
ストマシンの出力を表示する機能を有するターミナルと
、 前記デバッグ用付加情報を記憶しておくための記憶装置 を具備したことを特徴とする。
く作用〉 マシン語レベルでリモートデバッグが可能なターゲット
マシンに接続したシンボリック・Cソースデバッガ(K
DB)により、ハードウェア・デバッガがt及うマシン
語レベルのデバッグ情報とユーザが扱うC言語レベルの
デバッグ情報を、デバッグ用付加情報を参照して双方向
に変換する。
これにより、ユーザはデバッグ対象モジュールについて
C@語リレベルシンボリック・デバッキングすることが
できる。
〈実施例〉 以下図面を参照して本発明の詳細な説明する。
第1図は本発明に係るデバッガ・システムの一実施例を
示す構成図である。図において、第5図と同等部分には
同一符号を付しである。
5はホストマシンで、O8としてUNIXが使用され、
カーネル・シンボリック・Cソースデバッガ(以下KD
Bと略す)を有し、ターゲットマシン1とは通信回線を
介して接続され、デバッグのための情報を送受する機能
およびターミナル3に対する信号の授受を行う機能等を
有する。
6はホストマシン5に接続された記憶装置で、デバッグ
対象のデバッグ用付加情報(行番号テーブル、シンボル
テーブル、ソースコード等)が記憶される。なお、この
デバッグ用付加情報は、ホストマシン5に用意された周
知のコンパイラを用いてソースプログラムをコンパイル
したときに自動的に生成される。
KDBの機能について更に説明する。ユーザが入力した
C言語レベルのデバッグ指令をデバッグ対象のデバッグ
用付加情報に変換する機能、他方マシン語レベルのデバ
ッグ情報である文字列を前記デバッグ用付加情報を利用
してC言語レベルの情報に変換する機能を有する。
このような構成における動作を次に説明する。
(A)KDBの起動 ■ホストマシン5に接続されたターミナル3からKDB
を起動するためのコマンドを入力し、KDBプロセスを
起動させる。
■ターゲットマシン1のハードウェア・デバッガを起動
させる。
■R3232CM1回線を介してターゲットマシン1か
らホストマシン5ヘハードウエア・デバッガの初期メツ
セージとプロンプトが送信される。
■KDBが正常なハードウェア・デバッガの初期メツセ
ージとプロンプトを受信すると、ホス1ヘマシンはター
ミナル3へKDBの初期メツセージを表示させると共に
KDBをデバッグ可能状態にする。
<B)デバッグ動作 デバッグの対象となるロードモジュールは、ホストマシ
ン5上でC言語によるソースプログラムに対してデバッ
グオプション(例えば−g)を付けてコンパイルするこ
とにより生成される。このとき、ロードモジュールには
、シンボルテーブルや行番号テーブル等のデバッグ付加
情報が付加される。
デバッグ対象モジュールは、第3図に示すようにテキス
トデータ、行番号テーブル、シンボルテーブルが一体と
なって、KDBと同一のコンピュータ・システム上の記
憶装置(例えばディスク装置)6にファイルとして格納
される。
行番号テーブルは、ソースコードの行番号とデバッグす
るプログラムの先頭からの相対アドレスの対応を示すテ
ーブルである。シンボルテーブルは、シンボル名(シン
ボルとしては、広くソースコード名までも指定すること
ができる)とアドレスの対応をとるためのテーブルであ
る。
KDDは行番号テーブルおよびシンボルテーブルの各情
報を使って第2図に示すような手順でC言語レベルのシ
ンボリックデバッグを行う。すなわち、次の通りである
(1)ユーザはターミナル3の画面を見なからKDBコ
マンドを入力する。
KDBはデバッグ情報や操作情報等を複数のウィンドウ
(例えば8つのウィンドウ)に分けてターミナル3に表
示することができるjaIl′i:を持っている。各ウ
ィンドウについて更に詳述すれば次の通りである。
■コード表示ウィンドウ ソースあるいはアセンブラモードでのプログラムの表示
を行うウィンドウ ■レジスタ表示ウィンドウ ターゲットの中央処理袋fi(CPU)のレジスタ値と
フラグの状態を表示するウィンドウ。
■コマンド・ログ表示ウィンドウ KDBサブコマンドの入力内容とサブコマンドの実行結
果を表示するウィンドウ。
■通信内容表示ウィンドウ KDBとターゲットマシン1のハードウェア・デバッガ
との間で送受信された通信内容をすべて表示するウィン
ドウ。
■メニューウィンドウ KDBのサブコマンドタイトルに対応するサブメニュー
を表示するウィンドウ。
■メニューサブウィンドウ サブコマンドタイトルに対応するサブメニューを表示す
るウィンドウ。
■He1pウィンドウ ガイダンスや入力を簡便にする選択項目等を表示するウ
ィンドウ。
■サブウィンドウ コマンドシェルに移行したときのコマンド入力と結果を
表示するウィンドウ。
第4図はターミナル3の画面の一例を示す図で、画面上
側にはコード表示ウィンドウ、画面下側にはコマンド・
ログ表示ウィンドウおよびレジスタ表示ウィンドウが開
かれ、各内容が表示されている。
KDBコマンドはコマンド・ログ表示ウィンドウにおい
て入力できる。KDBのサブコマンドとしてはデバッグ
に有用な各種のコマンドが用意されている6例えば、デ
バッグプログラム実行、ステップ実行、ブレークポイン
トの設定や解除あるいはリスト、変数やシンボルアドレ
スの表示等の各種のコマンドがある。
(2)KDBは行番号テーブルおよびシンボルテーブル
を参照して、シンボル名あるいはC言語のソースコード
上のアドレスを絶対アドレスに変換する。
その後KDBコマンドをターゲットデバッガのコマンド
文字列に変換し、ターゲットマシン1に送出する。
(3)ターゲットマシン上でターゲットデバッガによる
コマンドが実行される。
(4〉ホストマシン5では、ターゲットデバッガから送
出される文字列を受信し、コマンドの実行結果の出力を
行番子テーブルを参照してC言語プログラムのソースレ
ベルの実行行に変換する。
(5)KDF3コマンド実行結果の出力をソースコード
の表示に重ねるよう番こしてターミナルに表示する。
以上のような動作によりC言語のソースコードをC言語
レベルでシンボリックデバッグすることができるが、以
下具体例としてブレークポイントを設定した場合を例に
とってデバッグ動作をより詳しく説明する。
■ターミナル3より画面を見ながらソースコード上にブ
レークポイントを指定する。
■KDDは、入力されたブレークポイントの位置を行番
号テーブルから探し出し、行番号テーブルより実アドレ
スに変換し、ターゲットのハードウェア・デバッガにコ
マンドを送る(アドレスでブレークポイントを指定した
ことになる)。
■ターゲットマシン1のハードウェア・デバッガにブレ
ークポイントコマンドが入力され、ブレークポイントが
設定される。8定終了時に出るメツセージとプロンプト
はそのままホストマシン5に送信される。
■KDBは、ターゲットマシン1からプロンプトが送ら
れてくるとホストマシン5に接続されているターミナル
3ヘメツセージとKDBのプロンプトを出力する。
■実行コマンド(g)をユーザがKDBに入力すると、
ハードウェア・デバッガのGOコマンドに変換されてハ
ードウェア・デバッガに送られる。
■プログラムが実行され、ブレークポイントでブレーク
すると、ハードウェア・デバッガからメツセージが出力
され、通信回線を介してKDBに送られる。
■KDBは、そのブレークの情報をソースコード上の行
番号に変換し、その行番号にブレークのマークを付けて
(第4図参照)、そのソースコードを表示する。
■KDBによるデバッグ動作を終了す′る場合は、KD
B終了コマンドを入力する。デバ・yグ動作が終了する
と、ターミナルはホストマシンの単なるターミナルとし
ての機能に戻る。
〈発明の効果〉 以上詳細に説明したように、本発明によれば、次のよう
な効果がある。
■C言語レベルでIJNIXのカーネル、ドライバ等の
C言語で書かれたメモリ常駐プログラムのシンボリック
デバッガが可能となり、デバッグ効率が飛躍的に向上す
る。
■KDBは簡単な修正によりいろいろなハードウェア・
デバッガに接続可能である。したかって、ハードウェア
・デバッガの使用可能なシステム上のC言語プログラム
のC言語レベルのシンボリックデバッグを簡単に実現す
ることができる。
■ハードウェア・デバッガを持たないシステムでも、ハ
ードウェア・デバッガさえ作成すれば、C言語レベルの
シンボリックデバッガを容易に実現することができる。
【図面の簡単な説明】
第1図は本発明に係るデバッガ・システムの一実施例を
示す構成図、第2図は動作手順を示すフロー、第3図は
デバッグ対象モジュールの構成を示す図、第4図はター
ミナル上の表示画面の一例を示す図、第5図は従来のデ
バッガ・システムの一例を示す構成図である。 1・・・ターゲットマシン、2・・・コンソール、3・
・・ターミナル、4・・・通信回線、5・・・ホストマ
シン、6・・・記憶装置。 第5図

Claims (1)

  1. 【特許請求の範囲】 マシン語レベルのデバッグ機能を持つハードウェア・デ
    バッガを備えると共にデバッグ対象モジュールが格納さ
    れたターゲットマシンと、 このターゲット・マシンとは通信回線を介して接続され
    、ユーザが入力したC言語レベルのデバッグ指令をデバ
    ッグ対象のデバッグ用付加情報を参照してマシン語レベ
    ルのデバッグ情報に変換し、それを前記ハードウェア・
    デバッガに送信する機能、および前記ハードウェア・デ
    バッガが送信するマシン語レベルのデバッグ情報を前記
    デバッグ用付加情報を参照してC言語レベルの情報に変
    換しユーザの指令に対する結果としての情報を得る機能
    を有するシンボリック・Cソースデバッガ(KDB)と
    、 このシンボリック・Cソースデバッガ(KDB)に接続
    され、必要な情報を入力するための入力機能と、前記ホ
    ストマシンの出力を表示する機能を有するターミナルと
    、 前記デバッグ用付加情報を記憶しておくための記憶装置 を具備したことを特徴とするデバッグ・システム。
JP1284524A 1989-10-31 1989-10-31 デバッグ・システム Pending JPH03144833A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1284524A JPH03144833A (ja) 1989-10-31 1989-10-31 デバッグ・システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1284524A JPH03144833A (ja) 1989-10-31 1989-10-31 デバッグ・システム

Publications (1)

Publication Number Publication Date
JPH03144833A true JPH03144833A (ja) 1991-06-20

Family

ID=17679598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1284524A Pending JPH03144833A (ja) 1989-10-31 1989-10-31 デバッグ・システム

Country Status (1)

Country Link
JP (1) JPH03144833A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250881A (ja) * 1993-02-22 1994-09-09 Nec Corp シンボリックデバッグ方式
JP2008293138A (ja) * 2007-05-22 2008-12-04 Fuji Electric Assets Management Co Ltd ソフトウェア開発支援プログラム、ソフトウェア開発支援方法
JP2011065212A (ja) * 2009-09-15 2011-03-31 Kyocera Mita Corp 動作確認システムおよび動作確認装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250881A (ja) * 1993-02-22 1994-09-09 Nec Corp シンボリックデバッグ方式
JP2008293138A (ja) * 2007-05-22 2008-12-04 Fuji Electric Assets Management Co Ltd ソフトウェア開発支援プログラム、ソフトウェア開発支援方法
JP2011065212A (ja) * 2009-09-15 2011-03-31 Kyocera Mita Corp 動作確認システムおよび動作確認装置

Similar Documents

Publication Publication Date Title
US6412106B1 (en) Graphical system and method for debugging computer programs
US6550056B1 (en) Source level debugger for debugging source programs
US6282699B1 (en) Code node for a graphical programming system which invokes execution of textual code
EP0785510B1 (en) Program debugging system for debugging a program having a graphical user interface
US20030033592A1 (en) Software debugger and software development support system
US7434205B1 (en) Virtual type interpretation, interaction and detection
JPH08504526A (ja) コンピュータにてオブジェクト指向プログラムの少なくとも1つのクラスのテストをする方法
JPH03144833A (ja) デバッグ・システム
EP0352908A2 (en) Computing system and method used to provide instruction to a user for a plurality of computer applications
US5430863A (en) Interface system for coupling two computer environments
US6370496B1 (en) System for intelligent visualization and control of computer hardware
JP2659366B2 (ja) デバッグ方法及びその装置
JPH01287752A (ja) デバッグ装置
JP2860054B2 (ja) プログラムデバッグ装置
CN113204494A (zh) 终端远程测试平台及方法、电子设备及可读介质
JPS61180342A (ja) 高級言語のステツプ実行方式
JP3398178B2 (ja) シミュレータ
JPS5894041A (ja) 高級言語のデバツク支援装置
US5680646A (en) Input/output control system
JPS63223931A (ja) 論理図実行ル−ト出力処理方式
JP3330979B2 (ja) エミュレータ
JPS63223928A (ja) 論理図デバツグ処理方式
JPH10105226A (ja) プログラマブル表示装置
JPH0546434A (ja) プログラムデバツグ方式
Reiser A debugger for SAIL