JP4432983B2 - デバッグ装置およびデバッグ方法並びにプログラム - Google Patents

デバッグ装置およびデバッグ方法並びにプログラム Download PDF

Info

Publication number
JP4432983B2
JP4432983B2 JP2007051086A JP2007051086A JP4432983B2 JP 4432983 B2 JP4432983 B2 JP 4432983B2 JP 2007051086 A JP2007051086 A JP 2007051086A JP 2007051086 A JP2007051086 A JP 2007051086A JP 4432983 B2 JP4432983 B2 JP 4432983B2
Authority
JP
Japan
Prior art keywords
process information
computer
search
storage unit
searched
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.)
Expired - Fee Related
Application number
JP2007051086A
Other languages
English (en)
Other versions
JP2008217195A (ja
Inventor
賢治 兼村
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2007051086A priority Critical patent/JP4432983B2/ja
Priority to US12/037,521 priority patent/US20080228731A1/en
Publication of JP2008217195A publication Critical patent/JP2008217195A/ja
Application granted granted Critical
Publication of JP4432983B2 publication Critical patent/JP4432983B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、多数のプロセスが実行される分散並列プログラム等のデバッグ作業を効率的に行うことができるデバッグ技術に関する。
従来より、プログラムのデバッグを行うための伝統的な手法として、処理内容を記録する特殊なコードを予めプログラムに埋め込んでおき、プログラムの実行後、記録された処理の履歴情報から処理の流れを把握するトレース手法がある。
また、ユーザがプロセス名、プロセスID或いはプロセス番号を用いて指定したプロセスのプロセス情報のみを収集するようにしたデバッグ装置も従来から知られている(例えば、特許文献1、2参照)。
特許文献1に記載されているデバッグ装置では、ユーザがプロセス番号を用いて指定したプロセスのプロセス情報だけを収集し、収集したプロセス情報をユーザに分かりやすい形に変換(収集したプロセス情報では、数字1、2、…によって表されているプロセスの状態を、ユーザが理解できる文字列RUN、READY、…に変換)してから表示するようにしている。
また、特許文献2に記載されているデバッグ装置では、ユーザがプロセス名或いはプロセスIDを用いて指定したプロセスのプロセス情報を収集し、更に、収集したプロセス情報中の、ユーザによって指定された項目のみをログファイルに格納するようにしている。
特開2000−172528号公報 特開2003−256161号公報
プログラム中に特殊なコードを埋め込む伝統的なトレース手法では、各プロセスで処理される個々の内容の妥当性を把握することはできるが、プロセス間の処理の流れの把握は困難である。特に、大規模システムにおける分散並列プログラムの実行時には、記録されるトレースの量が膨大で、その中から目的とするトレースを探す必要があり、デバッグ作業を効率的に行うことができないという問題がある。
また、特許文献1、2に記載されているデバッグ装置によれば、ユーザが指定したプロセスのプロセス情報のみを収集することができるので、事前にどのプロセスのプロセス情報がデバッグ調査のために必要になるのかが分かっている場合には、デバッグ作業を効率的に行うことができる。しかしながら、大規模システムにおける分散並列プログラム実行のように、実行されるプロセス数が多く、事前にどのプロセスのプロセス情報がデバッグのために必要になるのかが分かっていない場合には、デバッグ作業を効率的に行うことができない。
〔発明の目的〕
そこで、本発明の目的は、実行されるプロセス数が多く、事前にどのプロセスのプロセス情報がデバッグ調査のために必要になるのかが分かっていない場合においても、デバッグ作業を効率的に行えるようにすることにある。
本発明にかかる第1のデバッグ装置は、
複数のコンピュータが、それぞれ、
プロセス情報記憶部と、
自コンピュータ上で実行されるプロセスのプロセス情報であって、前記プロセスのプロセス名、前記プロセスが呼び出した関数名、前記プロセスが受信したシグナル名、前記プロセスの停止位置、および、前記プロセスの起動ノード名を含んだプロセス情報を収集し、自コンピュータ上のプロセス情報記憶部に格納するデバッグ制御手段とを備え、
前記複数のコンピュータの内の特定コンピュータが、
前記各プロセス情報記憶部に格納されているプロセス情報の中から、プロセス情報の項目の内の少なくとも1つの項目の値を検索キーとして含んだ検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を表示装置に表示する検索手段を備えたことを特徴とする。
本発明にかかる第2のデバッグ装置は、第1のデバッグ装置において、
前記特定コンピュータを除いた各コンピュータが、前記特定コンピュータから送られてくるプロセス情報取得要求に応答して自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報を前記特定コンピュータに送信するプロセス情報読み出し手段を備え、且つ、
前記検索手段が、他のコンピュータに対してプロセス情報取得要求を送信し、該プロセス情報取得要求に応答して前記他のコンピュータから送られてきたプロセス情報および自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報の中から前記検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を前記表示装置に表示することを特徴とする。
本発明にかかる第3のデバッグ装置は、第1のデバッグ装置において、
前記特定コンピュータを除いたコンピュータが、前記特定コンピュータから送られてくる検索条件を含んだプロセス情報取得要求に応答して、自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報の中から前記検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を前記特定コンピュータに送信する検索機能付きプロセス情報読み出し手段を備え、
前記検索手段が、自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報の中から前記検索条件を満たすプロセス情報を検索して前記表示装置に表示すると共に、他のコンピュータに対して前記検索条件を含んだプロセス情報取得要求を送信し、該プロセス情報取得要求に応答して前記他のコンピュータから送られてきたプロセス情報を前記表示装置に表示することを特徴とする。
本発明にかかる第4のデバッグ装置は、第2のデバッグ装置において、
前記特定コンピュータが、検索結果記憶部を備え、且つ、
前記検索手段が、前記他のコンピュータから送られてきたプロセス情報および自コンピュータ上のプロセス情報記憶部から検索した前記検索条件を満たすプロセス情報を前記検索結果記憶部に格納し、新たな検索条件を含む絞り込み検索要求が入力されたとき、前記検索結果記憶部に格納されているプロセス情報の中から前記新たな検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を前記表示装置に表示することを特徴とする。
本発明にかかる第5のデバッグ装置は、第3のデバッグ装置において、
前記特定コンピュータが、検索結果記憶部を備え、且つ、
前記検索手段が、自コンピュータ上のプロセス情報記憶部から検索した前記検索条件を満たすプロセス情報および前記他のコンピュータから送られてきたプロセス情報を前記検索結果記憶部に格納し、新たな検索条件を含む絞り込み検索要求が入力されたとき、前記検索結果記憶部に格納されているプロセス情報の中から前記新たな検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を前記表示装置に表示することを特徴とする。
本発明にかかる第1のデバッグ方法は、
複数のコンピュータが、それぞれ、自コンピュータ上で実行されるプロセスのプロセス情報であって、前記プロセスのプロセス名、前記プロセスが呼び出した関数名、前記プロセスが受信したシグナル名、前記プロセスの停止位置、および、前記プロセスの起動ノード名を含んだプロセス情報を収集し、自コンピュータ上のプロセス情報記憶部に格納するプロセス情報収集ステップと、
前記複数のコンピュータの内の特定コンピュータが、前記各プロセス情報記憶部に格納されているプロセス情報の中から、プロセス情報の項目の内の少なくとも1つの項目の値を検索キーとして含んだ検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を表示装置に表示する検索ステップとを含むことを特徴とする。
本発明にかかる第2のデバッグ方法は、第1のデバッグ方法において、
前記特定コンピュータを除いた各コンピュータが、前記特定コンピュータから送られてくるプロセス情報取得要求に応答して自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報を前記特定コンピュータに送信するプロセス情報読み出しステップを含み、且つ、
前記検索ステップでは、他のコンピュータに対してプロセス情報取得要求を送信し、該プロセス情報取得要求に応答して前記他のコンピュータから送られてきたプロセス情報および自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報の中から前記検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を前記表示装置に表示することを特徴とする。
本発明にかかる第3のデバッグ方法は、第1のデバッグ方法において、
前記特定コンピュータを除いたコンピュータが、前記特定コンピュータから送られてくる検索条件を含んだプロセス情報取得要求に応答して、自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報の中から前記検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を前記特定コンピュータに送信する検索機能付きプロセス情報読み出しステップを含み、且つ、
前記検索ステップでは、自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報の中から前記検索条件を満たすプロセス情報を検索して前記表示装置に表示すると共に、他のコンピュータに対して前記検索条件を含んだプロセス情報取得要求を送信し、該プロセス情報取得要求に応答して前記他のコンピュータから送られてくるプロセス情報を前記表示装置に表示することを特徴とする。
本発明にかかるプログラムは、
コンピュータを、
自コンピュータ上で実行されるプロセスのプロセス情報であって、前記プロセスのプロセス名、前記プロセスが呼び出した関数名、前記プロセスが受信したシグナル名、前記プロセスの停止位置、および、前記プロセスの起動ノード名を含んだプロセス情報を収集し、自コンピュータ上のプロセス情報記憶部に格納するデバッグ制御手段、
他のコンピュータ上のプロセス情報記憶部および自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報の中から、プロセス情報の項目の内の少なくとも1つの項目の値を検索キーとして含んだ検索条件を満たすプロセス情報を検索し、表示装置に表示する検索手段として機能させる。
〔作用〕
各コンピュータのデバッグ制御手段は、自コンピュータ上で実行されるプロセスのプロセス情報を収集し、自コンピュータ上のプロセス情報記憶部に格納する。特定コンピュータ上の検索手段は、各コンピュータのプロセス情報記憶部に格納されているプロセス情報の中から、ユーザによって指定された検索条件を満たすプロセス情報を検索し、表示装置に表示する。
本発明によれば、実行されるプロセス数が多く、事前にどのプロセスのプロセス情報がデバッグ調査のために必要になるのかが分かっていない場合においても、デバッグ作業を効率的に行うことが可能になる。その理由は、分散並列プログラムなどを実行する各コンピュータが、自コンピュータで実行されるプロセスのプロセス情報を自コンピュータ上のプロセス情報記憶部に格納し、特定コンピュータ上の検索手段が、各コンピュータのプロセス情報記憶部に格納されているプロセス情報の中からユーザによって指定された検索条件を満たすプロセス情報を検索するようにしているからである。即ち、ユーザによって指定された条件を満たすプロセスグループに限定したデバッグ調査を行うことができるので、デバッグ作業を効率的に行うことが可能になる。
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
〔第1の実施の形態の構成の説明〕
図1を参照すると、本発明の第1の実施の形態は、分散並列プログラムを実行する複数のノード(コンピュータ)1、2−1〜2−nから構成され、それらはネットワーク3を介して相互に接続されている。
ノード1は、他のノード2−1〜2−nに対してプロセス情報の収集を指示する機能や、他のノード2−1〜2−nで収集されたプロセス情報を取得する機能などを有するノードであり、送受信手段11と、デバッグ制御手段12と、検索手段13と、記憶装置14と、キーボード等の入力部15と、LCDなどの表示部16とを備えている。なお、以下の説明では、ノード1を特定ノードという場合もある。
記憶装置14は、ディスク装置などにより構成されるものであり、プロセス情報記憶部141と、第1の検索結果記憶部142と、第2の検索結果記憶部143とを備えている。
送受信手段11は、ネットワーク3を介してデータを送受信する機能を有する。
デバッグ制御手段12は、自ノード上で実行されるプロセスのプロセス情報を収集してプロセス情報記憶部141に格納する機能や、他のノード2−1〜2−nに対してプロセス情報収集指示を送信する機能を有する。
検索手段13は、入力部15から検索条件を含む検索要求が入力されたとき、他のノード2−1〜2−nに対してプロセス情報取得要求を送信する機能や、このプロセス情報取得要求に応答して他のノード2−1〜2−nから送られてきたプロセス情報をプロセス情報記憶部141に格納する機能や、プロセス情報記憶部141に格納されているプロセス情報の中から検索条件を満たすプロセス情報を検索する機能や、検索したプロセス情報を表示部16に表示する機能や、検索したプロセス情報を第1の検索結果記憶部142に格納する機能を有する。
更に、検索手段13は、入力部15から検索結果を更に絞り込むための絞り込み検索要求(検索条件を含む)が入力されたとき、第1、第2の検索結果記憶部142、143の内の、現在絞り込み検索対象となっている検索結果記憶部から上記検索条件を満たすプロセス情報を検索する機能や、検索したプロセス情報を表示部16に表示する機能や、検索したプロセス情報を第1、第2の検索結果記憶部142、143の内の、現在絞り込み検索対象となっていない検索結果記憶部に格納する機能を有する。
なお、送受信手段11、デバッグ制御手段12、検索手段13は、CPU(コンピュータ)によって実現可能であり、CPUによって実現する場合は、例えば、次のようにする。CPUを送受信手段11、デバッグ制御手段12、検索手段13として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、CPUに上記プログラムを読み取らせる。CPUは、読み取ったプログラムに従って自身の動作を制御し、自CPU上に送受信手段11、デバッグ制御手段12、検索手段13を実現する。
ノード2−1は、特定ノード1からの指示に従って、自ノード2−1上で実行されるプロセスのプロセス情報を収集したり、収集したプロセス情報を特定ノード1に送信する機能などを有するノードであり、送受信手段21と、デバッグ制御手段22と、プロセス情報読み出し手段23と、記憶装置24とを備えている。なお、他のノード2−2〜2−nもノード2−1と同様の構成を有している。
記憶装置24は、ディスク装置などによって実現されるものであり、プロセス情報記憶部241を備えている。
送受信手段21は、ネットワーク3を介してデータを送受信する機能を有する。
デバッグ制御手段22は、特定ノード1から送られてくるプロセス情報収集指示に従って自ノード2−1上で実行されるプロセスのプロセス情報を収集し、プロセス情報記憶部241に格納する機能を有する。
プロセス情報読み出し手段23は、特定ノード1から送られてくるプロセス情報取得要求に応答して、プロセス情報記憶部241に格納されているプロセス情報を特定ノード1へ送信する機能を有する。
なお、送受信手段21、デバッグ制御手段22、プロセス情報読み出し手段23は、CPU(コンピュータ)によって実現可能であり、コンピュータによって実現する場合は、例えば、次のようにする。CPUを送受信手段21、デバッグ制御手段22、プロセス情報読み出し手段23として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、CPUに上記プログラムを読み取らせる。CPUは、読み取ったプログラムに従って自身の動作を制御することにより、自CPU上に送受信手段21、デバッグ制御手段22、プロセス情報読み出し手段23を実現する。
〔第1の実施の形態の動作の説明〕
次に、本実施の形態の動作について詳細に説明する。
先ず、ユーザは、特定ノード1の入力部15を用いてプロセス情報収集指示を入力する。このプロセス情報収集指示には、プロセス情報の収集条件(例えば、ブレークポイント)が含まれている。
特定ノード1上のデバッグ制御手段12は、プロセス情報収集指示が入力されると、図2のフローチャートに示すように、先ず、他のノード2−1〜2−nに対してプロセス情報収集指示を送信し(ステップS21)、次いで、ブレークポイントまで分散並列プログラムを実行し、その間に自ノード1において実行されたプロセスのプロセス情報を収集し、図3に示すようにプロセス情報記憶部141に格納する(ステップS22)。その後、デバッグ制御手段12は、プロセス情報収集完了通知待ち状態となる(ステップS23)。図3を参照すると、プロセス情報には、スタック情報と、プロセス状態情報と、プロセス情報を収集したプロセスのプロセス名が含まれ、プロセス状態情報には、受信シグナルと、停止位置と、起動ノードとが含まれている。
一方、ノード2−1〜2−n上のデバッグ制御手段22は、特定ノード1からプロセス情報収集指示が送られてくると、ブレークポイントまで分散並列プロセスを実行し、その間に自ノード2−1〜2−nにおいて実行されたプロセスのプロセス情報を収集し、プロセス情報記憶部241に格納する。その後、デバッグ制御手段22は、プロセス情報収集完了通知を特定ノード1へ送信する。
プロセス情報収集完了待ち状態(ステップS23)にあるデバッグ制御手段12は、プロセス情報収集完了通知を受信すると、他の全てのノード2−1〜2−nでプロセス情報の収集が完了したか否かを判定する(ステップS24)。
そして、プロセス情報の収集が完了していないノードが存在すると判定した場合(ステップS24がNO)は、プロセス情報収集完了通知待ち状態に戻る(ステップS23)。これに対して、他の全てのノード2−1〜2−nにおいて、プロセス情報の収集が完了したと判定した場合(ステップS24がYES)は、表示部16に全てのノード1、2−1〜2−nでプロセス情報の収集が完了したことを表示する(ステップS25)。
この表示を見て、全てのノード1、2−1〜2−nにおいてプロセス情報の収集が完了したことを認識したユーザは、入力部15から検索要求を入力する。この検索要求には、デバッグ調査に使用するプロセス情報が満たすべき条件が、検索条件として含まれている。検索条件としては、例えば、プロセスの受信シグナル、プロセスの停止位置、スタック情報に含まれている呼び出し関数、プロセスの起動ノードなどがある。
図4のフローチャートに示すように、検索手段13は、検索要求が入力されると(ステップS41がYES)、他のノード2−1〜2−nに対してプロセス情報取得要求を送信し(ステップS42)、その後、プロセス情報の受信待ち状態になる(ステップS43)。
一方、ノード2−1〜2−n上のプロセス情報読み出し手段23は、特定ノード1からプロセス情報取得要求が送られてくると、自ノード2−1〜2−n上のプロセス情報記憶部241に格納されているプロセス情報を読み出し、特定ノード1へ送信する。
特定ノード1上の検索手段13は、ノード2−i(1≦i≦n)からプロセス情報が送られてくると、それをプロセス情報記憶部141に格納し(ステップS44)、その後、全てのノード2−1〜2−nからプロセス情報を受信したか否かを判定する(ステップS45)。
そして、プロセス情報を受信していないノードが存在すると判定した場合(ステップS45がNO)は、ステップS43に戻る。これに対して、全てのノード2−1〜2−nからプロセス情報を受信したと判定した場合(ステップS45がYES)は、プロセス情報記憶部141に格納されているプロセス情報の中から検索条件に合致するプロセス情報を検索し、第1の検索結果記憶部142に格納する(ステップS46)。その後、検索手段13は、検索結果を表示部16に表示し(ステップS47)、更に、絞り込み検索要求が入力されたとき、第1、第2の検索結果記憶部142、143の内のどちらを検索するのかを示す絞り込み検索対象情報を、最新の検索結果が格納されている第1の検索結果記憶部142を示すものにする(ステップS48)。
今、例えば、プロセス情報記憶部141の内容が図3に示すものであり、検索要求に含まれている検索条件が「スタック情報に呼び出し関数sub1()が含まれているプロセス情報」であったとすると、プロセス名「P1」のプロセス情報が検索されることになる。
ユーザは、表示部16に表示されたプロセス情報(検索結果)を見て、更に、デバッグ調査に使用するプロセス情報を絞り込みたい場合は、入力部15から絞り込み検索要求を入力する。この絞り込み検索要求にも、検索条件が含まれている。
検索手段13は、絞り込み検索要求が入力されると(ステップS49がYES)、第1、第2の検索結果記憶部142、143の内の、絞り込み検索対象情報によって示されている検索結果記憶部から検索条件を満たすプロセス情報を検索して表示部16に表示すると共に、他方の検索結果記憶部に格納する(ステップS50、S51)。その後、検索手段13は、絞り込み検索対象情報を変更する(ステップS52)。
今、例えば、絞り込み検索対象情報が第1の検索結果記憶部142を示しているときに絞り込み検索要求が入力されたとすると、検索手段13は、ステップS50において、第1の検索結果記憶部142に格納されているプロセス情報の中から検索条件を満たすプロセス情報を検索し、ステップS51においてステップS50で検索したプロセス情報を表示部16に表示すると共に、第2の検索結果記憶部143に格納し、ステップS52において絞り込み検索対象情報を第2の検索結果記憶部143を示すものに変更することになる。
ユーザは、デバッグ調査が終了すると、入力部15から終了指示を入力する。検索手段13は、終了指示が入力されると(ステップS53がYES)、その処理を終了する。
〔第1の実施の形態の効果〕
本実施の形態によれば、実行されるプロセス数が多く、事前にどのプロセスのプロセス情報がデバッグのために必要になるのかが分かっていない場合においても、デバッグ作業を効率的に行うことが可能になる。その理由は、分散並列プログラムなどを実行する各ノード1、2−1〜2−nが、自ノード1、2−1〜2−nで実行されるプロセスのプロセス情報を自ノード上1、2−1〜2−nのプロセス情報記憶部141、241に格納し、特定ノード1上の検索手段13が、各ノード1、2−1〜2−nのプロセス情報記憶部141、241に格納されているプロセス情報の中からユーザによって指定された検索条件を満たすプロセス情報を検索するようにしているからである。即ち、ユーザによって指定された条件を満たすプロセスグループに限定したデバッグ調査を行うことができるので、デバッグ作業を効率的に行うことが可能になる。
〔第2の実施の形態〕
次に、本発明の第2の実施の形態について説明する。本実施の形態は、各ノードが特定ノードにプロセス情報を送信する際、特定ノードから指定された検索条件を満たすプロセス情報のみを送信するようにしたことを特徴とする。
〔第2の実施の形態の構成の説明〕
図5を参照すると、本発明の第2の実施の形態は、分散並列プログラムを実行する複数のノード1a、2−1a〜2−naから構成され、各ノード1a、2−1a〜2−naはネットワーク3により相互に接続されている。
本実施の形態のノード1aは、検索手段13の代わりに検索手段13aを備えている点が、図1に示したノード1と相違している。なお、他の図1と同一符号は、同一部分を表している。また、以下の説明において、ノード1aを特定ノードと呼ぶ場合もある。
検索手段13aは、入力部15から検索条件を含む検索要求が入力されたとき、他のノード2−1a〜2−naに対して、上記検索条件を含んだプロセス情報取得要求を送信する機能や、このプロセス情報取得要求に応答して各ノード2−1a〜2−naから送られてきたプロセス情報を表示部16に表示したり、第1の検索結果記憶部142に格納する機能や、プロセス情報記憶部141に格納されているプロセス情報の中から検索条件を満たすプロセス情報を検索する機能などを有する。
なお、送受信手段11、デバッグ制御手段12、検索手段13aは、CPU(コンピュータ)に所定のプログラムを実行させることにより実現可能である。
ノード2−1aは、プロセス情報読み出し手段23の代わりに検索機能付き読み出し手段23aを備えている点が、図1に示したノード2−1と相違している。なお、他の図1と同一符号は、同一部分を表している。また、他のノード2−2a〜2−naもノード2−1aと同一の構成を有している。
検索機能付きプロセス情報読み出し手段23aは、特定ノード1aから検索条件を含むプロセス情報取得要求が送られてきたとき、プロセス情報記憶部241に格納されているプロセス情報から上記検索条件を満たすプロセス情報を検索し、特定ノード1aへ送信する機能を有する。
なお、送受信手段21、デバッグ制御手段22、検索機能付きプロセス情報読み出し手段23aは、CPU(コンピュータ)に所定のプログラムを実行させることにより実現可能である。
〔第2の実施の形態の動作の説明〕
次に、本実施の形態の動作について説明する。本実施の形態と第1の実施の形態とでは、検索要求が入力された場合の動作が異なるだけであるので、この場合の動作についてのみ説明する。
ユーザが、特定ノード1aの入力部15から検索条件を含んだ検索要求を入力すると(図6のステップS61がYES)、検索手段13aは、他のノード2−1a〜2−naに対して、上記検索条件を含んだプロセス情報取得要求を送信し(ステップS62)、次いで、自ノード1a上のプロセス情報記憶部141から上記検索条件に適合したプロセス情報を検索し、第1の検索結果記憶部142に格納する(ステップS63)。その後、検索手段13aは、検索結果受信待ち状態となる(ステップS64)。
一方、特定ノード1aから検索条件を含んだプロセス情報取得要求が送られてきた各ノード2−1a〜2−na上の検索機能付きプロセス情報読み出し手段23aは、自ノード2−1a〜2−na上のプロセス情報記憶部241から上記検索条件を満たすプロセス情報を検索し、検索したプロセス情報を特定ノード1aへ送信する。
検索手段13aは、ノード2−ja(0≦j≦n)から検索結果が送られてくると、それを第1の検索結果記憶部142に格納し(ステップS65)、その後、全てのノード2−1a〜2−naから検索結果を受信したか否かを判定する(ステップS66)。そして、検索結果を受信していないノードが存在すると判定した場合(ステップS66がNO)は、ステップS64に戻る。これに対して、全てのノード2−1a〜2−naから検索結果を受信済みであると判定した場合(ステップS66がYES)は、第1の検索結果記憶部142に格納されている検索結果(プロセス情報)を表示部16に表示し(ステップS67)、その後、絞り込み検索対象情報を、最新の検索結果が格納されている第1の検索結果記憶部142を示すものにする(ステップS68)。
なお、絞り込み検索要求が入力された場合(ステップS69がYES)は、前述した図4のステップS50〜S52と同様の処理が行われ(ステップS70)、終了指示が入力された場合(ステップS71がYES)は、処理終了となる。
〔第2の実施の形態の効果〕
本実施の形態によれば、各ノード2−1a〜2−naが検索機能付きプロセス情報読み出し手段23aを備え、特定ノード1aから検索条件を含むプロセス情報取得要求が送られてきた場合、上記検索条件を満たすプロセス情報のみを特定ノード1aに送信するようにしているので、特定ノード1aの負荷を少なくすることができる。
大規模システムにおける分散並列プログラムに対するデバッグ作業に適用すると好適である。
本発明の第1の実施の形態の構成例を示すブロック図である。 デバッグ制御手段12の処理例を示すフローチャートである。 プロセス情報記憶部141の内容例を示す図である。 検索手段13の処理例を示すフローチャートである。 本発明の第2の実施の形態の構成例を示すブロック図である。 検索手段13aの処理例を示すフローチャートである。
符号の説明
1、1a…ノード(コンピュータ)
11…送受信手段
12…デバッグ制御手段
13、13a…検索手段
14…記憶装置
141…プロセス情報記憶部
142…第1の検索結果記憶部
143…第2の検索結果記憶部
15…入力部
16…表示部
2−1〜2−n、2−1a〜2−na…ノード(コンピュータ)
21…送受信手段
22…デバッグ制御部
23…プロセス情報読み出し手段
23a…検索機能付きプロセス情報読み出し手段
24…記憶装置
241…プロセス情報記憶部
3…ネットワーク

Claims (9)

  1. 複数のコンピュータが、それぞれ、
    プロセス情報記憶部と、
    自コンピュータ上で実行されるプロセスのプロセス情報であって、前記プロセスのプロセス名、前記プロセスが呼び出した関数名、前記プロセスが受信したシグナル名、前記プロセスの停止位置、および、前記プロセスの起動ノードである自コンピュータの名前を含んだプロセス情報の収集をブレークポイントまで実行し、該収集したプロセス情報を自コンピュータ上のプロセス情報記憶部に格納するデバッグ制御手段とを備え、
    前記複数のコンピュータの内の特定コンピュータが、
    前記各プロセス情報記憶部に格納されているプロセス情報の中から、プロセス情報の項目の内の少なくとも1つの項目の値を検索キーとして含んだ検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を表示装置に表示する検索手段を備えたことを特徴とするデバッグ装置。
  2. 請求項1記載のデバッグ装置において、
    前記特定コンピュータを除いた各コンピュータが、前記特定コンピュータから送られてくるプロセス情報取得要求に応答して自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報を前記特定コンピュータに送信するプロセス情報読み出し手段を備え、且つ、
    前記検索手段が、他のコンピュータに対してプロセス情報取得要求を送信し、該プロセス情報取得要求に応答して前記他のコンピュータから送られてきたプロセス情報および自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報の中から前記検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を前記表示装置に表示することを特徴とするデバッグ装置。
  3. 請求項1記載のデバッグ装置において、
    前記特定コンピュータを除いたコンピュータが、前記特定コンピュータから送られてくる検索条件を含んだプロセス情報取得要求に応答して、自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報の中から前記検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を前記特定コンピュータに送信する検索機能付きプロセス情報読み出し手段を備え、
    前記検索手段が、自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報の中から前記検索条件を満たすプロセス情報を検索して前記表示装置に表示すると共に、他のコンピュータに対して前記検索条件を含んだプロセス情報取得要求を送信し、該プロセス情報取得要求に応答して前記他のコンピュータから送られてきたプロセス情報を前記表示装置に表示することを特徴とするデバッグ装置。
  4. 請求項2記載のデバッグ装置において、
    前記特定コンピュータが、検索結果記憶部を備え、且つ、
    前記検索手段が、前記他のコンピュータから送られてきたプロセス情報および自コンピュータ上のプロセス情報記憶部から検索した前記検索条件を満たすプロセス情報を前記検索結果記憶部に格納し、新たな検索条件を含む絞り込み検索要求が入力されたとき、前記検索結果記憶部に格納されているプロセス情報の中から前記新たな検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を前記表示装置に表示することを特徴とするデバッグ装置。
  5. 請求項3記載のデバッグ装置において、
    前記特定コンピュータが、検索結果記憶部を備え、且つ、
    前記検索手段が、自コンピュータ上のプロセス情報記憶部から検索した前記検索条件を満たすプロセス情報および前記他のコンピュータから送られてきたプロセス情報を前記検索結果記憶部に格納し、新たな検索条件を含む絞り込み検索要求が入力されたとき、前記検索結果記憶部に格納されているプロセス情報の中から前記新たな検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を前記表示装置に表示することを特徴とするデバッグ装置。
  6. 複数のコンピュータが、それぞれ、自コンピュータ上で実行されるプロセスのプロセス情報であって、前記プロセスのプロセス名、前記プロセスが呼び出した関数名、前記プロセスが受信したシグナル名、前記プロセスの停止位置、および、前記プロセスの起動ノードである自コンピュータの名前を含んだプロセス情報の収集をブレークポイントまで実行し、該収集したプロセス情報を自コンピュータ上のプロセス情報記憶部に格納するプロセス情報収集ステップと、
    前記複数のコンピュータの内の特定コンピュータが、前記各プロセス情報記憶部に格納されているプロセス情報の中から、プロセス情報の項目の内の少なくとも1つの項目の値を検索キーとして含んだ検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を表示装置に表示する検索ステップとを含むことを特徴とするデバッグ方法。
  7. 請求項6記載のデバッグ方法において、
    前記特定コンピュータを除いた各コンピュータが、前記特定コンピュータから送られてくるプロセス情報取得要求に応答して自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報を前記特定コンピュータに送信するプロセス情報読み出しステップを含み、且つ、
    前記検索ステップでは、他のコンピュータに対してプロセス情報取得要求を送信し、該プロセス情報取得要求に応答して前記他のコンピュータから送られてきたプロセス情報および自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報の中から前記検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を前記表示装置に表示することを特徴とするデバッグ方法。
  8. 請求項6記載のデバッグ方法において、
    前記特定コンピュータを除いたコンピュータが、前記特定コンピュータから送られてくる検索条件を含んだプロセス情報取得要求に応答して、自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報の中から前記検索条件を満たすプロセス情報を検索し、該検索したプロセス情報を前記特定コンピュータに送信する検索機能付きプロセス情報読み出しステップを含み、且つ、
    前記検索ステップでは、自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報の中から前記検索条件を満たすプロセス情報を検索して前記表示装置に表示すると共に、他のコンピュータに対して前記検索条件を含んだプロセス情報取得要求を送信し、該プロセス情報取得要求に応答して前記他のコンピュータから送られてくるプロセス情報を前記表示装置に表示することを特徴とするデバッグ方法。
  9. コンピュータを、
    自コンピュータ上で実行されるプロセスのプロセス情報であって、前記プロセスのプロセス名、前記プロセスが呼び出した関数名、前記プロセスが受信したシグナル名、前記プロセスの停止位置、および、前記プロセスの起動ノードである自コンピュータの名前を含んだプロセス情報の収集をブレークポイントまで実行し、該収集したプロセス情報を自コンピュータ上のプロセス情報記憶部に格納するデバッグ制御手段、
    他のコンピュータ上のプロセス情報記憶部および自コンピュータ上のプロセス情報記憶部に格納されているプロセス情報の中から、プロセス情報の項目の内の少なくとも1つの項目の値を検索キーとして含んだ検索条件を満たすプロセス情報を検索し、表示装置に表示する検索手段として機能させるためのプログラム。
JP2007051086A 2007-03-01 2007-03-01 デバッグ装置およびデバッグ方法並びにプログラム Expired - Fee Related JP4432983B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007051086A JP4432983B2 (ja) 2007-03-01 2007-03-01 デバッグ装置およびデバッグ方法並びにプログラム
US12/037,521 US20080228731A1 (en) 2007-03-01 2008-02-26 Debugging system and debugging method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007051086A JP4432983B2 (ja) 2007-03-01 2007-03-01 デバッグ装置およびデバッグ方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2008217195A JP2008217195A (ja) 2008-09-18
JP4432983B2 true JP4432983B2 (ja) 2010-03-17

Family

ID=39763672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007051086A Expired - Fee Related JP4432983B2 (ja) 2007-03-01 2007-03-01 デバッグ装置およびデバッグ方法並びにプログラム

Country Status (2)

Country Link
US (1) US20080228731A1 (ja)
JP (1) JP4432983B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011008395A (ja) * 2009-06-24 2011-01-13 Renesas Electronics Corp デバッグ支援装置及びデバッグ支援方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05346912A (ja) * 1992-06-16 1993-12-27 Mitsubishi Electric Corp 分散プログラム制御装置
JPH0793182A (ja) * 1993-09-24 1995-04-07 Nippon Telegr & Teleph Corp <Ntt> プログラムトレース方法
US5781778A (en) * 1994-09-29 1998-07-14 International Business Machines Corporation Method and system for debugging parallel and distributed applications
JPH08212177A (ja) * 1995-02-03 1996-08-20 Shinnittetsu Joho Tsushin Syst Kk 分散処理システムにおけるアプリケーションプログラムの監視方式
JP3139459B2 (ja) * 1998-06-22 2001-02-26 日本電気株式会社 並列分散システムのデバッグ装置及びデバッグ方法
JP3168993B2 (ja) * 1998-09-09 2001-05-21 日本電気株式会社 リモートプログラムのデバッグシステム、リモートプログラムのデバッグ方法およびリモートデバッグ用プログラムを記録した記録媒体
JP2005165456A (ja) * 2003-11-28 2005-06-23 Toshiba Tec Corp 表示ログ整形装置及び表示ログ整形プログラム
JP2005346414A (ja) * 2004-06-03 2005-12-15 Fujitsu Ltd トレース処理プログラム、方法及び装置
US10127129B2 (en) * 2007-02-27 2018-11-13 Red Hat, Inc. Non-invasive time-based profiling tool

Also Published As

Publication number Publication date
JP2008217195A (ja) 2008-09-18
US20080228731A1 (en) 2008-09-18

Similar Documents

Publication Publication Date Title
US11755387B1 (en) Updating code of an app feature based on a value of a query feature
JP4864508B2 (ja) 情報検索プログラム、情報検索方法および情報検索装置
JP5136228B2 (ja) 作業環境自動保存復元システム、作業環境自動保存復元方法および作業環境自動保存復元プログラム
JP5089684B2 (ja) サービス・プログラムを生成する技術
US20070250514A1 (en) Browsing and monitoring the web through learning and ingemination
US20090172093A1 (en) Technique For Previously Providing Estimate of Time Required For Processing
US20130318496A1 (en) Detection of central-registry events influencing dynamic pointers and app feature dependencies
US20150222731A1 (en) Computer, guide information providing method and recording medium
JP2014081811A (ja) ログ管理システム、および、ログ管理方法
JP6823265B2 (ja) 分析装置、分析システム、分析方法および分析プログラム
JP2010055483A (ja) 情報再取得手順生成プログラム及び情報再取得手順生成装置
JP2011530108A (ja) リサーチセッションの検出に基づくリサーチツールへのアクセス
CN105745644A (zh) 表示在网页浏览器中的网页的状态表示的建立
JP4344596B2 (ja) コンテンツ検索システム、コンテンツ検索プログラムおよび記録媒体
KR20100076874A (ko) 회신 메일의 작성을 지원하는 장치, 방법 및 컴퓨터 프로그램
JP2008158589A (ja) 更新情報通知装置及び更新情報通知プログラム
JP4432983B2 (ja) デバッグ装置およびデバッグ方法並びにプログラム
JP4681673B1 (ja) 動作検証装置、動作検証方法および動作検証プログラム
JP5673391B2 (ja) 情報処理装置、ログ処理方法、及びプログラム
JP2009134535A (ja) ソフトウェア開発支援装置、ソフトウェア開発支援方法及びソフトウェア開発支援プログラム
JP2002182811A (ja) ソフトウェアのサポートシステム及びサポートプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2009230483A (ja) 情報検索方法、プログラム及び装置
US20140006092A1 (en) Management apparatus and management method
JP2013037580A (ja) 情報処理装置
JP4846031B2 (ja) 動作検証システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090717

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090904

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: 20091201

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091214

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees