JPH0520122A - リモートデバツグ方法 - Google Patents

リモートデバツグ方法

Info

Publication number
JPH0520122A
JPH0520122A JP3171536A JP17153691A JPH0520122A JP H0520122 A JPH0520122 A JP H0520122A JP 3171536 A JP3171536 A JP 3171536A JP 17153691 A JP17153691 A JP 17153691A JP H0520122 A JPH0520122 A JP H0520122A
Authority
JP
Japan
Prior art keywords
trace
target machine
application program
debugger
machine
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
JP3171536A
Other languages
English (en)
Inventor
Takao Shimomura
隆夫 下村
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP3171536A priority Critical patent/JPH0520122A/ja
Publication of JPH0520122A publication Critical patent/JPH0520122A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 オペレーティングシステムのインストールさ
れたターゲットマシン上で走行するアプリケーションプ
ログラムのデバッグを行うリモートデバッグシステムを
容易に構築可能なリモートデバッグ方法を提供する。 【構成】 通常のデバッガ(セルフデバッガ)のオペレ
ーティングシステムにおけるプログラム・トレース機能
を、ホストマシン21上のトレースシミュレータ部(TR
S)11とターゲットマシン22上のトレースハンドラ部
(TRH)12にそれぞれ分散する。そして、トレースシミ
ュレータ部11は、デバッガ(DBG)23のトレース要求
を受け付けて指定のターゲットマシン22へ送信し、ト
レースハンドラ部12は、そのトレース要求を受信し、
ターゲットマシン上のオペレーティングシステム27の
提供するプログラム・トレース機能(ptrace)を用いてア
プリケーションプログラム24実行のトレースを行うこ
とにより、指定ターゲットマシン上のアプリケーション
プログラム(AP)24の実行のモニタおよび制御をホスト
マシン上で実現する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ターゲットマシン上で
走行するアプリケーションプログラムのデバッグ方法に
関し、特にオペレーティングシステムのインストールさ
れたターゲットマシン上で走行するアプリケーションプ
ログラムのデバッグを、高度なデバッグ機能を備えたホ
ストマシン上で行うリモートデバッグ方法に関する。
【0002】
【従来の技術】従来、ターゲットマシン上のアプリケー
ションプログラムをホストマシン上でデバッグする方法
としては、シミュレート方式やクロスデバッグ方式があ
る。図2に示すシミュレート方式では、オペレーティン
グシステム27、ライブラリ26等のターゲットマシン
22上の動作環境をシミュレートするためのプログラム
(シミュレータ25)をホストマシン21上に用意し、
アプリケーションプログラム24bの実行をホストマシ
ン21上で行う。また、図3に示すクロスデバッグ方式
では、ホストマシン21とターゲットマシン22をIC
E(In Circuit Emulator)32で接続し、ターゲットマ
シン22上でのアプリケーションプログラム24の実行
をホストマシン21上でモニタする。一方、同一マシン
上のアプリケーションプログラムをデバッグするための
セルフデバッガでは、図4に示すように、アプリケーシ
ョンプログラム24の実行をモニタし、制御するため、
オペレーティングシステム27のプログラム・トレース
(ptrace)機能(トレース機能部41)を使っている。な
お、従来のデバッガについては、例えば「電子情報通信
ハンドブック(1988),電子情報通信学会編,pp.1855〜1
857」において述べられている。
【0003】
【発明が解決しようとする課題】上記従来技術における
シミュレート方式では、オペレーティングシステム、ラ
イブラリ等のターゲットマシン上の動作環境をシミュレ
ートするためのプログラム(シミュレータ)を開発する
ために多くの工数がかかる。また、実環境でのデバッグ
ではないため、最終的にはターゲットマシン上でのアプ
リケーションプログラムの動作確認が必要となる。一
方、クロスデバッグ方式では、実環境でデバッグを行う
ことができるが、デバッグの対象はオペレーティングシ
ステムの搭載されていない組み込みシステムのアプリケ
ーションプログラムである。また、ICEはターゲット
マシンのCPUを直接、モニタし、制御する機能しか持
たないため、オペレーションシステムが走行し、その制
御のもとで更に複数のアプリケーションプログラムが走
行している環境において、ある特定のアプリケーション
プログラムの実行をモニタすることは非常に難しい。従
って、オペレーティングシステムのインストールされた
ターゲットマシン(パーソナルコンピュータ等)上で走
行するアプリケーションプログラムのデバッグを、ホス
トマシン(ワークステーション等)上で行うことは困難
であった。本発明の目的は、このような問題点を改善
し、オペレーティングシステムのインストールされたタ
ーゲットマシン上で走行するアプリケーションプログラ
ムのデバッグを行うリモートデバッグシステムを容易に
構築可能なリモートデバッグ方法を提供することにあ
る。
【0004】
【課題を解決するための手段】上記目的を達成するた
め、本発明のリモートデバッグ方法は、図4に示した通
常のデバッガ(セルフデバッガ)におけるオペレーティ
ングシステムのプログラム・トレース機能を、図1のよ
うに、ホストマシン21上のトレースシミュレータ部(T
RS)11とターゲットマシン22上のトレースハンドラ
部(TRH)12にそれぞれ分散することによって、特定の
ターゲットマシンを指定し、そのターゲットマシン上の
アプリケーションプログラム(AP)24の実行のモニタお
よび制御をホストマシン21上で実現することに特徴が
ある。すなわち、トレースシミュレータ部11では、デ
バッガ(DBG)23のトレース要求を受け付けて指定のタ
ーゲットマシン22へ送信し、トレースハンドラ部12
では、そのトレース要求を受信し、ターゲットマシン上
のオペレーティングシステム27の提供するプログラム
・トレース機能(ptrace)を用いてアプリケーションプロ
グラム24実行のトレースを行うことに特徴がある。
【0005】
【作用】本発明においては、セルフデバッガのプログラ
ム・トレース機能(ホストマシン上のデバッガのトレー
ス要求をターゲットマシンに送信する機能、およびその
要求を受信してターゲットマシン上でプログラムをトレ
ースする機能)をホストマシンとターゲットマシンに分
散させ、ホストマシン上のトレースシミュレータ部は、
デバッガのトレース要求を受け付けて、それを指定のタ
ーゲットマシンへ送信し、そのターゲットマシン上のト
レースハンドラ部は、トレース要求を受信すると、その
ターゲットマシン上のオペレーティングシステムの提供
するトレース機能を用いてアプリケーションプログラム
実行のトレースを行う。これにより、オペレーティング
システムのインストールされたターゲットマシン上で走
行するアプリケーションプログラムのデバッグを行うリ
モートデバッグシステムを容易に構築することができ
る。また、ホストマシン上のデバッガの有する高度なデ
バッグ機能をターゲットマシン上のアプリケーションプ
ログラムのデバッグに用いることができる。
【0006】
【実施例】以下、本発明の一実施例を図面により説明す
る。図5は、本発明の一実施例におけるリモートデバッ
グシステムの構成図である。本実施例のリモートデバッ
グシステムは、ホストマシンとターゲットマシンから構
成され、図5において、23はトレースシミュレータ部
11を持ち、ホストマシン上で走行するリモートデバッ
ガ、11はトレースシミュレータ部、51a,51bは
アプリケーションプログラムファイル、52はターゲッ
トマシン上で走行するサーバ、12はトレースハンドラ
部、24はアプリケーションプログラムである。また、
ホストマシン、ターゲットマシンともオペレーティング
システム(例えばUNIX)を搭載する。なお、本シス
テムでは、次の表1に示すデバッグコマンドを受け付け
るものとする。
【表1】 このような構成により、ターゲットマシン上のサーバ5
2は、ホストマシン上のリモートデバッガ23からの通
信接続要求(特定のターゲットマシンを指定する接続要
求)により、子プロセスを生成して、トレースハンドラ
部12を起動する。トレースハンドラ部12は、以後、
リモートデバッガ23のトレースシミュレータ部11か
らのトレース要求に従って、アプリケーションプログラ
ム24の起動および実行の制御、モニタを行う。
【0007】次に、上記コマンドによるリモートデバッ
グ処理の手順について述べる。 (1)targetコマンド処理 リモートデバッガ23はtargetコマンドを受け取ると、
ターゲットマシンPC上のサーバと通信リンクを確立す
る。 (2)debugコマンド処理 リモートデバッガ23はdebugコマンドを受け取ると、r
ead file要求をトレースシミュレータ部11を介して、
ターゲットマシンに送る。これにより、ターゲットマシ
ン上のトレースハンドラ部12は、アプリケーションプ
ログラムファイル51bを読み込み、ホストマシンへ送
る。ホストマシン上のリモートデバッガ23では、送信
されてきたアプリケーションプログラムファイルのシン
ボル情報を解析し、ソース行や変数のアドレスを求め
る。 (3)stopコマンド処理 リモートデバッガ23はstopコマンドを受け取ると、指
定された行に対応するアドレスを知り、ソース行とその
アドレスを管理するブレークポイントテーブルを作成す
る。 (4)runコマンド処理 リモートデバッガ23はrunコマンドを受け取ると、run
要求をトレースシミュレータ部11を介して、ターゲッ
トマシンに送る。これにより、ターゲットマシン上のト
レースハンドラ部12は、fork/execを行い、アプリケ
ーションプログラム24を起動する。さらに、リモート
デバッガ23は、その後、実行継続処理(contコマンド
処理)を実行する。 (5)printコマンド処理 リモートデバッガ23はprintコマンド処理を受け取る
と、指定した変数の値を得るため、ptrace要求をトレー
スシミュレータ部11を介して、ターゲットマシンに送
る。これにより、ターゲットマシン上のトレースハンド
ラ部12は、図1に示したトレース機能部41(図5で
は省略)を介してptraceを実行し、指定された変数の値
を求めて、それをホストマシンへ返す。 (6)contコマンド処理 リモートデバッガ23はcontコマンド処理を受け取る
と、ブレークポイントテーブルに従ってブレークポイ
ントをアプリケーションプログラム24に埋め込む、
アプリケーションプログラム24の実行を再開させる、
実行停止後、ブレークポイントテーブル内のブレーク
ポイントをアプリケーションプログラム24から除去す
るという一連の処理を行う。さらに、リモートデバッガ
23は、これらのアプリケーションプログラム24に対
する指示(ptrace要求)をトレースシミュレータ部11を
介して、ターゲットマシンに送り、ターゲットマシン上
のトレースハンドラ部12は、アプリケーションプログ
ラム24に対してptraceを実行し、結果をホストマシン
に返す。
【0008】
【発明の効果】本発明によれば、トレース要求をターゲ
ットマシン上に送信するトレースシミュレータ部をホス
トマシン上に、およびそのトレース要求を受信してター
ゲットマシン上でプログラムをトレースするトレースハ
ンドラ部をターゲットマシン上に実現するだけで、オペ
レーティングシステムのインストールされたターゲット
マシン上で走行するアプリケーションプログラムのデバ
ッグをホストマシン上で行うリモートデバッグシステム
を容易に構築することができる。これにより、ホストマ
シン(ワークステーション等)上のデバッガの高度なデ
バッグ機能を、指定したターゲットマシン上のアプリケ
ーションプログラムのデバッグに用いることができる。
【0009】
【図面の簡単な説明】
【図1】本発明のリモートデバッグ方法の説明図であ
る。
【図2】従来のシミュレート方式の説明図である。
【図3】従来のクロスデバッグ方式の説明図である。
【図4】従来のセルフデバッグ方式の説明図である。
【図5】本発明の一実施例におけるリモートデバッグシ
ステムの構成図である。
【符号の説明】
11 トレースシミュレータ部 12 トレースハンドラ部 21 ホストマシン 22 ターゲットマシン 23 デバッガ 24 アプリケーションプログラム 24a アプリケーションプログラム 24b アプリケーションプログラム 25 シミュレータ 26 ライブラリ 27 オペレーティングシステム 31 クロスデバッガ 32 ICE 41 トレース機能部 51a アプリケーションプログラムファイル 51b アプリケーションプログラムファイル 52 サーバ

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 オペレーティングシステムのインストー
    ルされたターゲットマシン上で走行するアプリケーショ
    ンプログラムのデバッグを、ホストマシン上のデバッガ
    で行うリモートデバッグ方法において、該デバッガのト
    レース要求をターゲットマシンに送信する手段をホスト
    マシンに備え、該トレース要求を受信してプログラムを
    トレースする手段をターゲットマシンに備えて、該トレ
    ース要求送信手段は、デバッガのトレース要求を受け付
    け、指定のターゲットマシンへ送信し、該トレース手段
    は、該要求を受信して、上記オペレーティングシステム
    の提供するトレース機能を用いてアプリケーションプロ
    グラム実行のトレースを行うことにより、指定のターゲ
    ットマシン上で走行するアプリケーションプログラムの
    デバッグをホストマシン上で行うことを特徴とするリモ
    ートデバッグ方法。
JP3171536A 1991-07-12 1991-07-12 リモートデバツグ方法 Pending JPH0520122A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3171536A JPH0520122A (ja) 1991-07-12 1991-07-12 リモートデバツグ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3171536A JPH0520122A (ja) 1991-07-12 1991-07-12 リモートデバツグ方法

Publications (1)

Publication Number Publication Date
JPH0520122A true JPH0520122A (ja) 1993-01-29

Family

ID=15924947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3171536A Pending JPH0520122A (ja) 1991-07-12 1991-07-12 リモートデバツグ方法

Country Status (1)

Country Link
JP (1) JPH0520122A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132424A (ja) * 1998-06-19 2000-05-12 Lucent Technol Inc ソフトウェアインスツルメンテ―ション方法
JP2001051871A (ja) * 1999-08-09 2001-02-23 Ricoh Co Ltd リモートデバッグ装置
JP2002534736A (ja) * 1999-01-04 2002-10-15 イーエムシー コーポレイション オンラインでデバッグ及び追跡を行う装置及び方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132424A (ja) * 1998-06-19 2000-05-12 Lucent Technol Inc ソフトウェアインスツルメンテ―ション方法
JP2002534736A (ja) * 1999-01-04 2002-10-15 イーエムシー コーポレイション オンラインでデバッグ及び追跡を行う装置及び方法
JP2001051871A (ja) * 1999-08-09 2001-02-23 Ricoh Co Ltd リモートデバッグ装置

Similar Documents

Publication Publication Date Title
US6011920A (en) Method and apparatus for debugging applications on a personality neutral debugger
US7171653B2 (en) Systems and methods for providing communication between a debugger and a hardware simulator
CN105550118B (zh) 调试系统和调试方法
CN102231079B (zh) 基于实车行驶状态动态实时回放的车辆电控系统测试方法
CN105446933A (zh) 多核心处理器的调试系统与调试方法
US8972944B2 (en) Coordinating and controlling debuggers in a simulation environment
CN105740139B (zh) 一种基于虚拟环境的嵌入式软件调试方法
US7711535B1 (en) Simulation of hardware and software
WO2021027852A1 (zh) 列车信号系统及其联动方法
CN108829591A (zh) 一种基于Web的协同调试系统及方法
KR101440505B1 (ko) 항공기 탑재컴퓨터의 실시간 검증장치 및 그 제어방법
JPH0520122A (ja) リモートデバツグ方法
CN205375453U (zh) 调试系统
CN113238898A (zh) 多任务运行状态与通信接口协同监视调试方法
US5903719A (en) Emulator apparatus and emulation method for efficiently analyzing program faults
JP4562439B2 (ja) プログラム検証システムおよびプログラム検証システム制御用コンピュータプログラム
JP3085730B2 (ja) 複合cpuシステムの並列シミュレーション方式
KR100200712B1 (ko) 노-타겟 시스템의 프로그램 디버깅 장치
JP2008033672A (ja) Hils装置
JP3424548B2 (ja) 組み込み機器用ソフトウエア論理シミュレータ
JP2005018485A (ja) ファームウェアデバッグ方法
Tzou et al. A distributed development environment for embedded software
JP2861085B2 (ja) デバッグ方式
CN115756997A (zh) 一种提升SoC或ASIC混合验证的数据传输速率的方法
CN117408197A (zh) 芯片的调试方法、装置、电子设备和存储介质