JP2008071044A - デバッグ支援装置 - Google Patents

デバッグ支援装置 Download PDF

Info

Publication number
JP2008071044A
JP2008071044A JP2006248017A JP2006248017A JP2008071044A JP 2008071044 A JP2008071044 A JP 2008071044A JP 2006248017 A JP2006248017 A JP 2006248017A JP 2006248017 A JP2006248017 A JP 2006248017A JP 2008071044 A JP2008071044 A JP 2008071044A
Authority
JP
Japan
Prior art keywords
function
source code
breakpoint
content
debugging
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
JP2006248017A
Other languages
English (en)
Inventor
Hiroyuki Mizuno
野 浩 之 水
Nobuhiro Ono
野 展 弘 小
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006248017A priority Critical patent/JP2008071044A/ja
Publication of JP2008071044A publication Critical patent/JP2008071044A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】ソースコードのデバッグを支援するデバッグ支援装置に関して、ユーザフレンドリなユーザインタフェースを実現する。
【解決手段】ソースコードのデバッグを支援するデバッグ支援装置であって、デバッグ対象のソースコードの内容に含まれ、前記ソースコードとは異なるファイルで定義されている関数の内容を、第1の所定のデータを用いて、前記ファイルから取得し、前記ソースコードの内容と、前記関数の内容とが、同じ表示枠内に表示されるように、前記関数の内容を、第2の所定のデータを用いて、前記ソースコードの内容における前記関数の呼び出し位置に表示する、ソースコード表示手段を備えることを特徴とするデバッグ支援装置。
【選択図】図1

Description

本発明は、デバッグ支援装置に関する。
近年、プログラムのデバッグの際には、デバッガと呼ばれるデバッグ支援プログラムが使用される事が多い。デバッガには、バグの検証をオブジェクトコードレベルで実施するための「アブソリュートデバッガ」と、バグの検証をソースコードと対応付けて実施するための「シンボリックデバッガ」とがある。通常の用途にはシンボリックデバッガが使用される事が多く、アブソリュートデバッガは特殊な用途に使用される事が多い。デバッガには通常、プログラムの実行を特定の位置で中断する「ブレークポイント機能」や、プログラムを各ステップ毎に動作を確認しながら実行する「ステップ実行機能」や、メモリやレジスタや変数の状態を確認するための「トレース機能」が設けられている(特許文献1及び特許文献2)。デバッガは、プログラム開発ツールの一機能として提供されている事も多い。
従来のデバッガには、以下のような問題がある。
従来のデバッガには第1に、デバッグ対象のソースコードの内容を閲覧する際、ソースコードの内容に含まれ、ソースコードとは別のファイルで定義されている関数の内容が、見づらいという問題がある。
従来のデバッガの中には、内容を閲覧したい関数を指定すると、指定した関数の内容をウィンドウ内に表示してくれるものがある。このようなデバッガでは、指定された関数の内容がソースコードとは別のファイルで定義されていると、指定された関数の内容が表示される際、ウィンドウがソースコード用のウィンドウとは別のウィンドウに切り替わってしまう。従って、ユーザは、ソースコードの流れを見失ってしまうことになり、ユーザにとって、表示内容は非常に見づらいものとなる。
従来のデバッガには第2に、ブレークポイントのブレーク条件を設定する際、ブレーク条件を設定するのに手間が掛かるという問題がある。
例えば、ソースコード中の複数箇所で呼び出される関数X中にブレークポイントを設定する際に、「関数A、関数B、関数Xという流れで関数Xが呼び出された場合にブレークを発生させる」というようなブレーク条件を設定する事がある。この場合、従来のデバッガでは、「関数Aが呼び出され、且つ関数Bが呼び出され、且つ関数Xが呼び出された場合にブレークを発生させる」というようなブレーク条件式をユーザが自ら考えて設定する必要がある。ユーザには、ブレーク条件式を自ら考えるという手間が掛かることになる。
特開2001−60161号公報 特開2000−207246号公報
本発明は、ソースコードのデバッグを支援するデバッグ支援装置に関して、ユーザフレンドリなユーザインタフェースを実現することを課題とする。
本発明は、例えば、ソースコードのデバッグを支援するデバッグ支援装置であって、デバッグ対象のソースコードの内容に含まれ、前記ソースコードとは異なるファイルで定義されている関数の内容を、第1の所定のデータを用いて、前記ファイルから取得し、前記ソースコードの内容と、前記関数の内容とが、同じ表示枠内に表示されるように、前記関数の内容を、第2の所定のデータを用いて、前記ソースコードの内容における前記関数の呼び出し位置に表示する、ソースコード表示手段を備えることを特徴とするデバッグ支援装置に係る。
本発明は、ソースコードのデバッグを支援するデバッグ支援装置に関して、ユーザフレンドリなユーザインタフェースを実現することを可能にする。
図1は、ソースコードのデバッグを支援するデバッグ支援装置101のシステム構成図である。図1のデバッグ支援装置101はここでは、シンボリックデバッガ等のデバッグ支援プログラムがインストールされたパーソナルコンピュータ等の情報処理装置である。当該デバッグ支援プログラムはここでは、当該情報処理装置内のHDD等のストレージに格納されており、当該情報処理装置内のCPU等のプロセッサで実行される。
図1のデバッグ支援装置101は、PC本体等の情報処理部111と、ディスプレイ等の表示部112と、キーボードやマウス等の操作部113とを具備する。図1のデバッグ支援装置101には更に、上記のデバッグ支援プログラムにより実現される機能ブロックとして、デバッガ部121と、ソースコード解析部122と、ソースコード表示部123と、ブレークポイント設定部124とが存在する。
デバッガ部121は、デバッガとしての種々の処理を行う機能ブロックである。ソースコード解析部122は、デバッグ対象のソースコードの解析処理等を行う機能ブロックであり、ソースコード解析手段の例に相当する。ソースコード表示部123は、デバッグ対象のソースコードの表示処理等を行う機能ブロックであり、ソースコード表示手段の例に相当する。ブレークポイント設定部124は、デバッグ対象のソースコードに対するブレークポイントの設定処理等を行う機能ブロックであり、ブレークポイント設定手段の例に相当する。
以下、図1のデバッグ支援装置101によるデバッグ支援処理に関する種々の実施例について説明する。
(第1実施例)
図1のデバッグ支援装置101では、図2Aのように、デバッグ対象のソースコードの内容が、ソースコード表示部123により、表示部112の画面上のウィンドウ201内に表示される。ソースコード表示部123は、上記ソースコードと異なるファイルで定義されている関数B,Cについては、これらの関数を展開するための展開ボタン211B,211Cをウィンドウ201内に表示する。
関数Bの展開ボタン211Bを操作部113によりクリックすると、図2Bのように、関数Bの内容が、ソースコード表示部123により、ウィンドウ201内において、上記ソースコード中における関数Bの呼び出し位置に表示される。即ち、関数Bの展開ボタン211Bをクリックすると、関数Bが展開され、関数Bの内容が画面上に現れる。関数Bを展開するための展開ボタン211Bは、関数Bの展開を解除するための展開解除ボタン212Bに変化する。逆に、関数Bの展開解除ボタン212Bをクリックすると、関数Bの展開が解除され、関数Bの内容が画面上から消える。関数Bの内容はここでは、ウィンドウ201内において、上記ソースコード中における関数Bの呼び出し位置に生成されたボックス202内に表示されている。ソースコード表示部123は、上記ソースコード及び関数Bと異なるファイルで定義されている関数X,Y,Zについては、これらの関数を展開するための展開ボタン211X,211Y,211Zをウィンドウ201内(のボックス202内)に表示する。
関数Xの展開ボタン211Xを操作部113によりクリックすると、図2Cのように、関数Xの内容が、ソースコード表示部123により、ウィンドウ201内(のボックス202内)において、上記ソースコード中(の関数B中)における関数Xの呼び出し位置に表示される。即ち、関数Xの展開ボタン211Xをクリックすると、関数Xが展開され、関数Xの内容が画面上に現れる。関数Xを展開するための展開ボタン211Xは、関数Xの展開を解除するための展開解除ボタン212Xに変化する。逆に、関数Xの展開解除ボタン212Xをクリックすると、関数Xの展開が解除され、関数Xの内容が画面上から消える。関数Xの内容はここでは、ウィンドウ201内において、上記ソースコード中における関数Bの呼び出し位置に生成されたボックス202内に表示されている。
このように、本実施例では、デバッグ対象のソースコードの内容がウィンドウ201内に表示されると共に、該ソースコードの内容に含まれ、該ソースコードとは異なるファイルで定義されている関数の内容が、ウィンドウ201内において、該ソースコードの内容における該関数の呼び出し位置に表示される。即ち、本実施例では、デバッグ対象のソースコードと異なるファイルで定義されている関数の内容が、デバッグ対象のソースコードと同じ表示枠(ここではウィンドウ201)内の所定の位置に表示される。これにより、本実施例では、デバッグ対象のソースコードと異なるファイルで定義されている関数の内容が見づらいという従来のデバッガの問題が解消され、デバッグ対象のソースコードと異なるファイルで定義されている関数の内容が見やすいものとなる。
更に、本実施例では、ある関数を展開する旨の展開操作(ここでは展開ボタン211のクリック操作)に応じて、その関数が展開され、ある関数の展開を解除する旨の展開解除操作(ここでは展開解除ボタン212のクリック操作)に応じて、その関数の展開が解除される。これにより、本実施例では、ユーザが自由に関数を展開したり関数の展開を解除したりできるようになり、関数の内容の見やすさが更に向上される。
以下、以上のソースコード表示処理に先だち実行されるソースコード解析処理について説明する。
図1には、デバッグ支援装置101内に、デバッグ対象のソースコードのソースコードファイル群301が格納されている様子が示されている。各ソースコードのソースコードファイル群301は、該ソースコードが格納されているファイルと、該ソースコード用の関数が定義されているファイル等からなる。
デバッグ支援装置101内では、ソースコード解析部122により、各ソースコードのソースコードファイル群301が解析されて、各ソースコードのソースコードファイル群301から、各ソースコードの関数定義位置データ302と、各ソースコードの関数呼び出し位置データ303が取得される。関数定義位置データ302は、各関数の定義位置に係るデータであり、ここでは、各関数の定義ファイルのファイル名及びファイルパス等からなる。関数定義位置データ302の具体例を、図3に示す。一方、関数呼び出し位置データ303は、各関数の呼び出し位置に係るデータであり、ここでは、各関数の呼び出し行番号及び呼び出し列番号等からなる。関数呼び出し位置データ303の具体例を、図4に示す。
デバッグ支援装置101内では、ソースコード表示部123が、各ソースコードの関数定義位置データ302及び関数呼び出し位置データ303を利用して、ソースコード表示処理を実行する。例えば、図2Aの関数Bの展開ボタン211をクリックすると、ソースコード表示部123は、関数Bの関数定義位置データ302を利用して、関数Bの内容をソースコードファイル群301から取得するとともに、関数Bの関数呼び出し位置データ303を利用して、関数Bの内容の表示位置を特定する。関数Bの内容は、関数Bの呼び出し位置に表示されることになり、関数Bの内容の表示はここでは、行方向には、関数Bの呼び出し行の次の行から開始され、列方向には、関数Bの呼び出し列と同じ列から開始される。この際、関数Bの呼び出し行と表示開始行との間には、所定間隔のマージンスペースが設けられてもよく、関数Bの呼び出し列と表示開始列との間には、所定間隔のインデントスペースが設けられてもよい。即ち、関数Bの内容の、関数Bの呼び出し位置への表示は、関数Bの呼び出し位置の直下への表示である必要はなく、関数Bの呼び出し位置の近傍への表示で十分である。その後、ソースコード表示部123は、関数Bを展開する一方で、関数展開データ304の登録(新規登録又は更新登録)を行う。関数展開データ304は、各ソースコードの関数の展開状況に係るツリー状のデータである。関数展開データ304に関する概念図を、図5に示す。図5A,B,Cの関数展開データ304はそれぞれ、図2A,B,Cの関数展開状況に対応している。
図6は、ソースコード表示処理に関するフローチャートである。
ソースコード表示部123は、ある関数の展開ボタン211がクリックされた場合(S101)、関数定義位置データ302にアクセスし、その関数の定義位置に関するデータを取得する(S111)。続いて、ソースコード表示部123は、そのデータを用いてソースコードファイル群301にアクセスし、その関数の内容を取得する(S112)。続いて、ソースコード表示部123は、関数呼び出し位置データ303にアクセスし、その関数の呼び出し位置に関するデータを取得する(S113)。続いて、ソースコード表示部123は、そのデータに基づいて、その関数の表示位置を特定する(S114)。続いて、ソースコード表示部123は、その関数の内容を、特定された表示位置に表示する(S121)。続いて、ソースコード表示部123は、関数展開データ304を登録する(S131)。
ソースコード表示部123は、ある関数の展開解除ボタン212がクリックされた場合においても(S101)、S111乃至S114の処理を実行する。S111乃至S114の処理に続いて、ソースコード表示部123は、その関数の内容を、特定された表示位置から削除する(S122)。続いて、ソースコード表示部123は、関数展開データ304を登録する(S131)。
(第2実施例)
デバッグ支援装置101では、図7のように、デバッグ対象のソースコードの内容が、ソースコード表示部123(図1)により、表示部112(図1)の画面上のウィンドウ201内に表示される。図2と同様である。
デバッグ支援装置101では更に、図7のように、ブレークポイントを指定するためのブレークポイント指定マーク221を、操作部113(図1)等の操作手段による操作により、ウィンドウ201内のソースコード中に設置することができる。デバッグ支援装置101では、ある位置にブレークポイント指定マーク221が設置されると、ブレークポイント設定部124(図1)により、その位置にデバッグの際のブレークポイントが設定されることになる。上記ソースコードのデバッグの際には、上記のブレークポイント指定マーク221の設置箇所が、上記ソースコードのブレークポイントとなる。
デバッグ支援装置101では更に、上記ブレークポイントのブレーク条件が、ブレークポイント設定部124により、各関数の展開状況に基づいて自動的に設定される。具体例を示すと、図7では、関数A中の関数Bが展開されており、関数B中の関数Xが展開されており、関数X中にブレークポイント指定マーク221が設置されているので、「関数A、関数B、関数Xという流れで関数Xが呼び出された場合に、関数X中のブレークポイントでブレークを発生させる」というブレーク条件が自動的に設定される。即ち、ある関数が展開されているか否かが、その関数の呼び出しがブレーク条件となるか否かに反映されるようになっている。
このように、本実施例では、ブレークポイントを指定する旨の指定操作(ここではブレークポイント指定マーク221の設置操作)によりウィンドウ201内のソースコード中に指定された指定箇所(ここではブレークポイント指定マーク221の設置箇所)に、該ソースコードのデバッグの際のブレークポイントが設定される。よって、本実施例では、関数の構造が複雑なソースコード等についても、関数の内容が見やすいユーザフレンドリなユーザインタフェースにより、ブレークポイントを簡単に設定することができる。
更に、本実施例では、各関数の展開状況に基づいて、上記ブレークポイントのブレーク条件が設定される。よって、本実施例では、ブレーク条件を設定するのに手間が掛かるという従来のデバッガの問題が解消され、複雑なブレーク条件等についても、関数の内容が見やすいユーザフレンドリなユーザインタフェースにおける、各関数の展開操作及び展開解除操作のような簡単な操作により、ブレーク条件を簡単に設定することができる。
以下、以上のブレークポイント設定処理についてデータ処理の側面から説明する。
図1のデバッグ支援装置101では、ブレークポイント(ブレークポイント指定マーク221)の設置操作が入力されると、当該設置操作の入力位置がブレークポイント設定部124に提供される。これに応じて、ブレークポイント設定部124は、関数展開データ304(図1)を参照して、ブレークポイントの設置操作の入力位置から、ブレークポイントの表示位置(ウィンドウ201内における位置)、ブレークポイントの実位置(関数内における位置)、更にはブレーク条件を特定する。そして、ブレークポイント設定部124は、ブレークポイント位置データ305(図1)の登録を行う一方で、ブレークポイントをウィンドウ201内のソースコード中に表示する。ブレークポイント位置データ305は、ブレークポイントの位置に係るデータであり、ここでは、ブレークポイントの表示位置及び実位置(更にはブレーク条件)等からなる。ブレークポイント位置データ305の具体例を、図8に示す。
ここで、図7と図8とを対比する事にする。図7のブレークポイント指定マーク221の表示行は、7行目である。図7では、関数A中で関数Bが展開されており、関数B中で関数Xが展開されており、関数X中の3行目にブレークポイント指定マーク221が設置されている。以上に対応して、図8では、ブレークポイントの表示位置が「7行目」、ブレークポイントの実位置が「関数X中の3行目」、ブレーク条件が「関数A、関数B、関数Xという流れで関数Xが呼び出された場合」となっている。
なお、ブレークポイント位置データ305においては、ブレークポイントの新規登録、ブレークポイントの更新登録、ブレークポイントの削除、ブレーク条件の有効・無効等を設定可能としてもよい。また、ブレークポイント位置データ305においては、ブレークポイントが設置されている関数の展開が解除された場合に、ブレークポイントを有効扱いとするか無効扱いとするかを設定可能としてもよい。本実施例において、複数のブレークポイントは、図8のように、ブレークポイントIDを用いて互いに区別される。
図9は、ブレークポイント設定処理に関するフローチャートである。
ブレークポイント設定部124は、ブレークポイントの設置操作が入力されると、関数展開データ304を参照し、ブレークポイントの設置操作の入力位置から、ブレークポイントの表示位置及び実位置を特定する(S201)。次に、ブレークポイント設定部124は、関数展開データ304のツリー構造をブレークポイントの設置箇所からさかのぼり、各関数の展開状況、即ち、ブレーク条件を特定する(S202)。次に、ブレークポイント設定部124は、ブレークポイントの表示位置及び実位置(更にはブレーク条件)等を、ブレークポイント位置データ305として登録する(S203)。次に、ブレークポイント設定部124は、ブレークポイントを、ウィンドウ201内のソースコード中の所定位置に表示する(S204)。
(第3実施例)
本実施例では、図1のデバッグ支援装置101のステップ実行機能について説明する。ステップ実行の具体例としては、ステップイン実行や、ステップアウト実行や、ステップオーバー実行が挙げられる。
ステップイン実行では、プログラムが1ステップずつ(例えば1ソース行ずつ又は1文ずつ)実行され、プログラム中に関数がある場合には、その関数の中に入り処理が進行していく。
ステップアウト実行では、プログラムが1ステップずつ(例えば1ソース行ずつ又は1文ずつ)実行され、プログラム中に関数がある場合には、その関数の中には入らずに処理が進行していく。
ステップオーバー実行では、現在の関数の処理が終わり、その関数の呼び出し元に処理が戻る。
図1のデバッグ支援装置101では、デバッグ対象のソースコード(の実行形式プログラム)のステップ実行の際にある関数をステップイン実行の対象とするかステップアウト実行の対象とするか、即ち、ソースコードを1ステップずつ実行する際にある関数の中に入るかどうかが、デバッガ部121等により、その関数の展開状況に応じて自動的に判断される。
例えば、図7のようにソースコードが表示されていた場合、展開中の関数Bについてはステップイン実行の対象となり、展開解除中の関数Cについてはステップアウト実行の対象となる。従って、図7のソースコードが関数Aの先頭からステップ実行される際に、関数Bはステップインされる事になるが、関数Cはステップインされない事になる。
このように、本実施例では、デバッグ対象のソースコードに関して、各関数をステップイン実行の対象とするかステップアウト実行の対象とするかを、関数の内容が見やすいユーザフレンドリなユーザインタフェースにおける、各関数の展開操作及び展開解除操作のような簡単な操作により、簡単に設定することができる。なお、本実施例において、各関数の展開状況は、関数展開データ304を利用して特定される。
(第4実施例)
図1のデバッグ支援装置101では、ウィンドウ201内で関数を展開できる階層数の制限が、デバッガ部121等により、階層数の制限を設定する旨の設定操作に応じて設定される。
階層数の制限の設定操作は、例えば、ウィンドウ201のメニューバーやツールバーで実施できるようにしておく。階層数の制限の具体例としては、階層数の上限値の制限が挙げられる。例えば、階層数の上限値が「3」と設定された場合、図7の関数X、関数Y、関数Z(階層数「3」の関数)は展開可能となり、図7の関数P、関数Q(階層数「4」の関数)は展開不能となる。
このように、本実施例では、ウィンドウ201内で関数を展開できる階層数の制限が、階層数の制限を設定する旨の設定操作に応じて設定される。これにより、本実施例では、デバッグ支援装置101の処理対象となる関数を制限し、デバッグ支援装置101の処理速度を向上させる事が可能となっている。
なお、本発明の実施形態には例えば、以下の態様が含まれる。
[1]
ソースコードのデバッグを支援するデバッグ支援装置であって、
デバッグ対象のソースコードの内容に含まれ、前記ソースコードとは異なるファイルで定義されている関数の内容を、第1の所定のデータを用いて、前記ファイルから取得し、
前記ソースコードの内容と、前記関数の内容とが、同じ表示枠内に表示されるように、前記関数の内容を、第2の所定のデータを用いて、前記ソースコードの内容における前記関数の呼び出し位置に表示する、ソースコード表示手段を備えることを特徴とするデバッグ支援装置。
[2]
前記第1の所定のデータは、前記関数の定義位置に係るデータであり、
前記第2の所定のデータは、前記関数の呼び出し位置に係るデータであることを特徴とする[1]に記載のデバッグ支援装置。
[3]
前記ソースコード表示手段は、前記関数を展開する旨の展開操作に応じて、前記関数を展開して表示し、又は前記関数の展開を解除する旨の展開解除操作に応じて、前記関数の展開を解除して表示することを特徴とする[1]又は[2]に記載のデバッグ支援装置。
[4]
操作手段による指定操作により前記表示枠内の前記ソースコード中に指定された指定箇所に、前記ソースコードのデバッグの際のブレークポイントを設定する、ブレークポイント設定手段を備えることを特徴とする[1]乃至[3]のいずれか1つに記載のデバッグ支援装置。
[5]
前記ブレークポイント設定手段は、関数の展開状況に応じて、前記ブレークポイントのブレーク条件を設定することを特徴とする[4]に記載のデバッグ支援装置。
[6]
前記ソースコードを1ステップずつ実行する際に前記関数の中に入るかどうかを、前記関数の展開状況に応じて自動的に判断することを特徴とする[1]乃至[5]のいずれか1つに記載のデバッグ支援装置。
[7]
関数を展開できる階層数の制限を、階層数の制限を設定する旨の設定操作に応じて設定することを特徴とする[1]乃至[6]のいずれか1つに記載のデバッグ支援装置。
[8]
デバッグ対象のソースコードが格納されているファイル及び前記ソースコード用の関数が定義されているファイルを解析し、関数の定義位置に係る情報及び関数の呼び出し位置に係る情報を取得するソースコード解析手段を備えることを特徴とする[1]乃至[7]のいずれか1つに記載のデバッグ支援装置。
[9]
ソースコードのデバッグを支援するデバッグ支援方法であって、
デバッグ対象のソースコードの内容に含まれ、前記ソースコードとは異なるファイルで定義されている関数の内容を、第1の所定のデータを用いて、前記ファイルから取得し、
前記ソースコードの内容と、前記関数の内容とが、同じ表示枠内に表示されるように、前記関数の内容を、第2の所定のデータを用いて、前記ソースコードの内容における前記関数の呼び出し位置に表示することを特徴とするデバッグ支援方法。
[10]
操作手段による指定操作により前記表示枠内の前記ソースコード中に指定された指定箇所に、前記ソースコードのデバッグの際のブレークポイントを設定することを特徴とする[9]に記載のデバッグ支援方法。
デバッグ支援装置のシステム構成図である。 ソースコード表示処理について説明するための図である。 関数定義位置データの具体例である。 関数呼び出し位置データの具体例である。 関数展開データに関する概念図である。 ソースコード表示処理に関するフローチャートである。 ブレークポイント設定処理について説明するための図である。 ブレークポイント位置データの具体例である。 ブレークポイント設定処理に関するフローチャートである。
符号の説明
101 デバッグ支援装置
111 情報処理部
112 表示部
113 操作部
121 デバッガ部
122 ソースコード解析部
123 ソースコード表示部
124 ブレークポイント設定部
201 ウィンドウ
202 ボックス
211 展開ボタン
212 展開解除ボタン
221 ブレークポイント指定マーク
301 ソースコードファイル群
302 関数定義位置データ
303 関数呼び出し位置データ
304 関数展開データ
305 ブレークポイント位置データ

Claims (5)

  1. ソースコードのデバッグを支援するデバッグ支援装置であって、
    デバッグ対象のソースコードの内容に含まれ、前記ソースコードとは異なるファイルで定義されている関数の内容を、第1の所定のデータを用いて、前記ファイルから取得し、
    前記ソースコードの内容と、前記関数の内容とが、同じ表示枠内に表示されるように、前記関数の内容を、第2の所定のデータを用いて、前記ソースコードの内容における前記関数の呼び出し位置に表示する、ソースコード表示手段を備えることを特徴とするデバッグ支援装置。
  2. 前記第1の所定のデータは、前記関数の定義位置に係るデータであり、
    前記第2の所定のデータは、前記関数の呼び出し位置に係るデータであることを特徴とする請求項1に記載のデバッグ支援装置。
  3. 前記ソースコード表示手段は、前記関数を展開する旨の展開操作に応じて、前記関数を展開して表示し、又は前記関数の展開を解除する旨の展開解除操作に応じて、前記関数の展開を解除して表示することを特徴とする請求項1又は2に記載のデバッグ支援装置。
  4. 操作手段による指定操作により前記表示枠内の前記ソースコード中に指定された指定箇所に、前記ソースコードのデバッグの際のブレークポイントを設定する、ブレークポイント設定手段を備えることを特徴とする請求項1乃至3のいずれか1項に記載のデバッグ支援装置。
  5. 前記ブレークポイント設定手段は、関数の展開状況に応じて、前記ブレークポイントのブレーク条件を設定することを特徴とする請求項4に記載のデバッグ支援装置。
JP2006248017A 2006-09-13 2006-09-13 デバッグ支援装置 Pending JP2008071044A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006248017A JP2008071044A (ja) 2006-09-13 2006-09-13 デバッグ支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006248017A JP2008071044A (ja) 2006-09-13 2006-09-13 デバッグ支援装置

Publications (1)

Publication Number Publication Date
JP2008071044A true JP2008071044A (ja) 2008-03-27

Family

ID=39292583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006248017A Pending JP2008071044A (ja) 2006-09-13 2006-09-13 デバッグ支援装置

Country Status (1)

Country Link
JP (1) JP2008071044A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620558B (zh) * 2008-07-01 2011-08-03 环旭电子股份有限公司 通用侦错辅助装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620558B (zh) * 2008-07-01 2011-08-03 环旭电子股份有限公司 通用侦错辅助装置

Similar Documents

Publication Publication Date Title
JP2795244B2 (ja) プログラムデバッグシステム
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
KR102184436B1 (ko) 저스트 마이 코드를 이용하는 자바스크립트 디버깅 기법
US20030208746A1 (en) Conditional breakpoint encountered indication
US9424163B2 (en) Exception and debugging behaviors for JavaScript debugging using just my code
JP2015109059A (ja) 文書オブジェクトモデルツリーとカスケーディング・スタイル・シートとが取り出されることが可能なアプリケーションのソースコードを変更することによって生じる影響を検知するための方法、並びに、当該影響を検知するためのコンピュータ及びそのコンピュータ・プログラム
US20060085783A1 (en) Multi-process display method in debugger system
JP2009104252A (ja) デバッグ支援装置およびデバッグ支援方法
US20080244513A1 (en) Method of operating a data processing system
JP2008071044A (ja) デバッグ支援装置
JP4929121B2 (ja) ソースプログラム解析装置、ソースプログラム解析方法及びコンピュータプログラム
JP2007257077A (ja) プログラムデバッグ装置、プログラムデバッグ方法およびデバッグプログラム
JP2007034825A (ja) デバッグ装置
JP4205712B2 (ja) 文字入力の方法および装置
EP3018567A1 (en) User-interface review method, device, and program
JP6782016B2 (ja) 入力支援装置および入力支援プログラム
JP2009219245A (ja) ヒューマンインターフェースの表示/操作部設計方法
JP2002182813A (ja) ユーザ支援装置およびユーザ支援方法
JP2022051276A (ja) コンピュータプログラム、仕様出力装置、及びプログラムの製造方法
Rother et al. Using an Interactive Debugger
JP6565287B2 (ja) 表示位置取得プログラム、表示位置取得装置、及び表示位置取得方法
JP5893063B2 (ja) デバッグ対象装置、制御方法及び制御プログラム
JP2011164730A (ja) Cpuでの命令実行と非同期的に発生するメモリアクセスエラーの原因究明のための情報処理装置、異常分析方法、および異常分析プログラム
Dandamudi SPIM Simulator and Debugger
JPS63223931A (ja) 論理図実行ル−ト出力処理方式