(57)【特許請求の範囲】
【請求項１】
携帯端末においてコンピュータプログラムをデバッグ実行する際の携帯端末の消費電流又は消費電流量を算出するデバッグ装置であって、
デバッグ実行時に、携帯端末を構成するハードウェアの動作状態を示す端末ログ情報を取得する取得手段と、
前記取得手段によって取得された端末ログ情報と、予め格納されている、ハードウェアの動作状態から一意の消費電流又は消費電流量を算出するための算出情報とに基づいて、デバッグ実行時の携帯端末の消費電流又は消費電流量を算出する算出手段と、
を備えるデバッグ装置。
【請求項２】
端末ログ情報の取得タイミングを設定する取得タイミング設定手段をさらに備え、
前記取得手段は、前記取得タイミング設定手段によって設定された取得タイミングに基づいて端末ログ情報を取得する、請求項１に記載のデバッグ装置。
【請求項３】
前記取得タイミング設定手段は、コンピュータプログラムの所定の範囲を設定し、
前記取得手段は、前記取得タイミング設定手段によって設定されたコンピュータプログラムの所定の範囲がデバッグ実行される際に、端末ログ情報を取得する、請求項２に記載のデバッグ装置。
【請求項４】
消費電流又は消費電流量の閾値を設定する閾値設定手段と、
前記算出手段によって算出された消費電流又は消費電流量が前記閾値設定手段によって設定された閾値を超えるか否かを判定し、超えると判定した場合に特定の処理を実行する実行手段と、をさらに備える請求項１〜３の何れか一項に記載のデバッグ装置。
【請求項５】
前記取得手段は、携帯端末を構成する各ハードウェア毎の端末ログ情報を取得し、
前記算出手段は、前記取得手段によって取得された各ハードウェア毎の端末ログ情報と、予め格納されている、当該ハードウェアの動作状態から一意の消費電流又は消費電流量を算出するための算出情報とに基づいて、デバッグ実行時の携帯端末を構成する各ハードウェア毎の消費電流又は消費電流量を算出する、請求項１〜３の何れか一項に記載のデバッグ装置。
【請求項６】
携帯端末を構成する各ハードウェア毎の消費電流又は消費電流量の閾値を設定する閾値設定手段と、
前記算出手段によって算出された各ハードウェア毎の消費電流又は消費電流量が前記閾値設定手段によって設定された当該ハードウェアの閾値を超えるか否かを判定し、超えると判定した場合に特定の処理を実行する実行手段と、をさらに備える請求項５に記載のデバッグ装置。
【請求項７】
前記実行手段は、閾値を超えると判定した場合に、閾値を超えたコンピュータプログラムの箇所を出力する、請求項４又は６に記載のデバッグ装置。
【請求項８】
前記実行手段は、閾値を超えたコンピュータプログラムの箇所を出力する際に、当該コンピュータプログラムの箇所について、前記算出手段によって算出された消費電流又は消費電流量に基づいたコンピュータプログラムの修正候補も出力する、請求項７に記載のデバッグ装置。
【請求項９】
携帯端末においてコンピュータプログラムをデバッグ実行する際の携帯端末の消費電流又は消費電流量を算出するデバッグ装置により実行されるデバッグ方法であって、
デバッグ実行時に、携帯端末を構成するハードウェアの動作状態を示す端末ログ情報を取得する取得ステップと、
前記取得ステップにおいて取得された端末ログ情報と、予め格納されている、ハードウェアの動作状態から一意の消費電流又は消費電流量を算出するための算出情報とに基づいて、デバッグ実行時の携帯端末の消費電流又は消費電流量を算出する算出ステップと、
を含むデバッグ方法。
【請求項１０】
コンピュータを、
携帯端末上でのコンピュータプログラムのデバッグ実行時に、携帯端末を構成するハードウェアの動作状態を示す端末ログ情報を取得する取得手段と、
前記取得手段によって取得された端末ログ情報と、予め格納されている、ハードウェアの動作状態から一意の消費電流又は消費電流量を算出するための算出情報とに基づいて、デバッグ実行時の携帯端末の消費電流又は消費電流量を算出する算出手段、
として機能させるデバッグプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラム開発用のデバッグ装置、デバッグ方法及びデバッグプログラムに関する。
【背景技術】
【０００２】
スマートフォン等の携帯端末において、携帯端末上で実行されるコンピュータプログラム（ソフトウェア、アプリケーション）が多くの電力を消費すると、充電池容量が減り、ユーザはアプリケーションの利用を控える必要がある。さらに、充電池容量が無くなると、携帯端末自体を利用することができなくなる。そこで、電力をなるべく消費しないコンピュータプログラムが求められている。
【０００３】
ここで、従来、省電力化が可能なソフトウェアを開発するためのソフトウェア開発装置が知られている（例えば下記特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−７５９６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載のソフトウェア開発装置では、予め測定されたハードウェアリソースの単位消費電力をもとに、ソフトウェアによる消費電力が計算される。しかしながら、一般的に、ハードウェアリソースの消費電力（消費電流）は、当該ハードウェアリソースの動作状況によって変わるため、特許文献１に記載のソフトウェア開発装置では、正確な消費電力を計算することができないという問題がある。
【０００６】
そこで、本発明は、かかる課題に鑑みて為されたものであり、携帯端末で実行されるコンピュータプログラムによる消費電流又は消費電流量をより正確に算出することができるデバッグ装置、デバッグ方法及びデバッグプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明のデバッグ装置は、携帯端末においてコンピュータプログラムをデバッグ実行する際の携帯端末の消費電流又は消費電流量を算出するデバッグ装置であって、デバッグ実行時に、携帯端末を構成するハードウェアの動作状態を示す端末ログ情報を取得する取得手段と、取得手段によって取得された端末ログ情報と、予め格納されている、ハードウェアの動作状態から一意の消費電流又は消費電流量を算出するための算出情報とに基づいて、デバッグ実行時の携帯端末の消費電流又は消費電流量を算出する算出手段と、を備える。
【０００８】
このようなデバッグ装置によれば、デバッグ実行時に携帯端末を構成するハードウェアの動作状態を示す端末ログ情報が取得され、取得された端末ログ情報に基づいてデバッグ実行時の携帯端末の消費電流又は消費電流量が算出される。かかる構成を採れば、コンピュータプログラムが実行されている際の実際のハードウェアの動作状態を反映した消費電流又は消費電流量が算出することができるため、より正確な消費電流又は消費電流量を算出することができる。
【０００９】
また、本発明のデバッグ装置において、端末ログ情報の取得タイミングを設定する取得タイミング設定手段をさらに備え、取得手段は、取得タイミング設定手段によって設定された取得タイミングに基づいて端末ログ情報を取得することが好ましい。かかる構成を採れば、設定したタイミング、例えば消費電流又は消費電流量の算出が必要なタイミングでのみ端末ログ情報を取得し、当該タイミングの消費電流又は消費電流量を算出することができるため、ユーザ（コンピュータプログラム開発者）の利便性が向上する。
【００１０】
また、本発明のデバッグ装置において、取得タイミング設定手段は、コンピュータプログラムの所定の範囲を設定し、取得手段は、取得タイミング設定手段によって設定されたコンピュータプログラムの所定の範囲がデバッグ実行される際に、端末ログ情報を取得することが好ましい。かかる構成を採れば、設定したコンピュータプログラムの範囲、例えば消費電流又は消費電流量の算出が必要な範囲でのみ端末ログ情報を取得し、当該範囲の消費電流又は消費電流量を算出することができるため、ユーザの利便性が向上する。
【００１１】
また、本発明のデバッグ装置において、消費電流又は消費電流量の閾値を設定する閾値設定手段と、算出手段によって算出された消費電流又は消費電流量が閾値設定手段によって設定された閾値を超えるか否かを判定し、超えると判定した場合に特定の処理を実行する実行手段と、をさらに備えることが好ましい。かかる構成を採れば、設定した閾値を超えた場合に特定の処理を実行することができ、例えば、設定した閾値を超えた場合にデバッグ実行を停止することができるなど、ユーザの利便性が向上する。
【００１２】
また、本発明のデバッグ装置において、取得手段は、携帯端末を構成する各ハードウェア毎の端末ログ情報を取得し、算出手段は、取得手段によって取得された各ハードウェア毎の端末ログ情報と、予め格納されている、当該ハードウェアの動作状態から一意の消費電流又は消費電流量を算出するための算出情報とに基づいて、デバッグ実行時の携帯端末を構成する各ハードウェア毎の消費電流又は消費電流量を算出することが好ましい。かかる構成を採れば、コンピュータプログラムが実行されている際の実際の各ハードウェア毎の動作状態を反映した、各ハードウェア毎の消費電流又は消費電流量が算出することができるため、各ハードウェア毎のより正確な消費電流又は消費電流量を算出することができる。
【００１３】
また、本発明のデバッグ装置において、携帯端末を構成する各ハードウェア毎の消費電流又は消費電流量の閾値を設定する閾値設定手段と、算出手段によって算出された各ハードウェア毎の消費電流又は消費電流量が閾値設定手段によって設定された当該ハードウェアの閾値を超えるか否かを判定し、超えると判定した場合に特定の処理を実行する実行手段と、をさらに備えることが好ましい。かかる構成を採れば、設定した各ハードウェア毎の消費電流又は消費電流量の閾値を超えた場合に特定の処理を実行することができ、例えば、設定した各ハードウェア毎の消費電流又は消費電流量の閾値を超えた場合にデバッグ実行を停止することができるなど、ユーザの利便性が向上する。
【００１４】
また、本発明のデバッグ装置において、実行手段は、閾値を超えると判定した場合に、閾値を超えたコンピュータプログラムの箇所を出力することが好ましい。かかる構成を採れば、例えば、ユーザは出力された箇所のコンピュータプログラムを見直し、より消費電流又は消費電流量の低いコンピュータプログラムに書き換えることができるなど、ユーザの利便性が向上する。
【００１５】
また、本発明のデバッグ装置において、実行手段は、閾値を超えたコンピュータプログラムの箇所を出力する際に、当該コンピュータプログラムの箇所について、算出手段によって算出された消費電流又は消費電流量に基づいたコンピュータプログラムの修正候補も出力することが好ましい。かかる構成を採れば、自動でコンピュータプログラムの修正候補が出力されるため、ユーザの手間が減り、利便性が向上する。
【００１６】
ところで、本発明は、上記のようにデバッグ装置の発明として記述できる他に、以下のようにそれぞれデバッグ方法及びデバッグプログラムの発明としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【００１７】
即ち、本発明に係るデバッグ方法は、携帯端末においてコンピュータプログラムをデバッグ実行する際の携帯端末の消費電流又は消費電流量を算出するデバッグ装置により実行されるデバッグ方法であって、デバッグ実行時に、携帯端末を構成するハードウェアの動作状態を示す端末ログ情報を取得する取得ステップと、取得ステップにおいて取得された端末ログ情報と、予め格納されている、ハードウェアの動作状態から一意の消費電流又は消費電流量を算出するための算出情報とに基づいて、デバッグ実行時の携帯端末の消費電流又は消費電流量を算出する算出ステップと、を含む。
【００１８】
また、本発明に係るデバッグプログラムは、コンピュータを、携帯端末上でのコンピュータプログラムのデバッグ実行時に、携帯端末を構成するハードウェアの動作状態を示す端末ログ情報を取得する取得手段と、取得手段によって取得された端末ログ情報と、予め格納されている、ハードウェアの動作状態から一意の消費電流又は消費電流量を算出するための算出情報とに基づいて、デバッグ実行時の携帯端末の消費電流又は消費電流量を算出する算出手段、として機能させる。
【発明の効果】
【００１９】
本発明によれば、携帯端末で実行されるコンピュータプログラムによる消費電流又は消費電流量をより正確に算出することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１、第２実施形態に係るデバッグシステムの構成図である。
【図２】本発明の第１、第２実施形態に係るデバッグ装置で実行されるデバッグアプリケーションの画面例を示す図である。
【図３】本発明の第１実施形態に係るデバッグ装置の機能ブロック図である。
【図４】本発明の第１、第２実施形態に係るデバッグ装置のハードウェア構成を示す図である。
【図５】端末ログ情報のテーブル例を示す図である。
【図６】消費電流演算テーブルのテーブル例（その１）を示す図である。
【図７】消費電流演算テーブルのテーブル例（その２）を示す図である。
【図８】消費電流演算テーブルのテーブル例（その３）を示す図である。
【図９】本発明の第１実施形態に係るデバッグ装置で実行される処理例（デバッグ方法）を示すフローチャートである。
【図１０】本発明の第２実施形態に係るデバッグ装置の機能ブロック図である。
【図１１】本発明の第２実施形態に係るデバッグ装置で実行される処理例（デバッグ方法）を示すフローチャートである。
【図１２】本発明の第１、第２実施形態に係るデバッグプログラムの構成を、記憶媒体と共に示す図である。
【発明を実施するための形態】
【００２１】
以下、図面とともに本発明による装置、方法及びプログラムの好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００２２】
図１は、本実施形態に係るデバッグ装置１を含むデバッグシステム３の構成図である。図１に示す通り、デバッグシステム３は、デバッグ装置１及び携帯端末２を含んで構成される。デバッグ装置１及び携帯端末２は、デバッグ時にユーザ（コンピュータプログラム開発者）により、互いに有線又は無線のネットワークによって接続される。
【００２３】
デバッグ装置１は、携帯端末２においてコンピュータプログラムをデバッグ実行する際の携帯端末２の消費電流又は消費電流量を算出する。デバッグ装置１は、一般的なコンピュータで構成され、当該コンピュータ上で後述のデバッグプログラム６０が実行されることで、デバッグ機能が提供される。ユーザは、デバッグ装置１を操作することで、デバッグ対象であるコンピュータプログラムのデバッグを行う。
【００２４】
携帯端末２は、スマートフォンや携帯電話などで構成される。デバッグ対象のコンピュータプログラムは、携帯端末２で動作するものであり、デバッグ装置１から携帯端末２へのネットワークを介した指示や情報の送受信により、携帯端末２上でデバッグ対象のコンピュータプログラムが実行され、デバッグ装置１にてデバッグの実行結果を確認することができる。
【００２５】
図２は、デバッグ装置１にて提供されるデバッグ機能を利用するためのデバッグアプリケーションの画面例を示す図である。デバッグアプリケーションは、一般的なデバッグアプリケーションと同様に、複数のウィンドウ領域から構成される。図２に示すデバッグアプリケーションの画面例の通り、デバッグ対象のコンピュータプログラムのファイルツリーを表示する領域Ａ、現在開発対象の画面イメージを表示する領域Ｂ、現在開発対象のプログラムコードを表示する領域Ｃ、デバッグ実行時に変数などの値をリアルタイムに表示する領域Ｄなどから構成される。本実施形態に係るデバッグ装置１では、後述の通り、領域Ａ〜Ｃにおいて端末ログ情報の取得タイミングを設定したり、領域Ｄにおいて、消費電流又は消費電流量に関する情報を表示したりする。
【００２６】
［第１実施形態］
図３は、本発明の第１実施形態に係るデバッグ装置１及び携帯端末２の機能ブロック図である。図１に示す通り、デバッグ装置１は、取得タイミング設定部１０（取得タイミング設定手段）、デバッグ処理部１１、端末ログ情報取得部１２（取得手段）、消費電流算出部１３（算出手段）、及び消費電流出力部１４を含んで構成される。また、携帯端末２は、デバッグ処理部２０及び端末ログ情報処理部２１を含んで構成される。
【００２７】
デバッグ装置１及び携帯端末２は、ＣＰＵ等のハードウェアから構成されているものである。図４は、デバッグ装置１及び携帯端末２のハードウェア構成の一例を示す図である。図３に示されるデバッグ装置１及び携帯端末２は、物理的には、図４に示すように、中央処理装置であるＣＰＵ１００、画像処理用の処理装置であるＧＰＵ１０１、主記憶装置であるＲＡＭ１０２及びＲＯＭ１０３、ディスプレイ等の入出力装置１０４、通信モジュール１０５、位置情報取得装置であるＧＰＳ１０６、加速度センサや地磁気センサやジャイロセンサを含むセンサ１０７及び補助記憶装置１０８などを含むコンピュータシステムとして構成されている。
【００２８】
図３に示すデバッグ装置１及び携帯端末２の各機能ブロックの機能は、図４に示すＣＰＵ１００、ＧＰＵ１０１、ＲＡＭ１０２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１００及びＧＰＵ１０１の制御のもとで入出力装置１０４、通信モジュール１０５、ＧＰＳ１０６、センサ１０７及び補助記憶装置１０８を動作させるとともに、ＲＡＭ１０２におけるデータの読み出し及び書き込みを行うことで実現される。
【００２９】
続いて、図３に示すデバッグ装置１の各機能ブロックについて説明する。
【００３０】
取得タイミング設定部１０は、携帯端末２を構成するハードウェアの（現在の）動作状態を示す端末ログ情報（後述）の取得タイミングを、ユーザの指示などに基づいて設定する。取得タイミング設定部１０は、コンピュータプログラムの所定の範囲を設定してもよい。例えば、取得タイミングの具体例として、端末ログ情報の取得を開始するコンピュータプログラムの行（開始ポイント）及び端末ログ情報の取得を終了するコンピュータプログラムの行（終了ポイント）、端末ログ情報の取得を行うコンピュータプログラムの関数、端末ログ情報の取得を行う画面（コンピュータプログラムによって実現される画面）などが挙げられる。また、取得タイミング設定部１０は、取得タイミングとして、端末ログ情報を定期的（例えば１秒おき）に取得するなどの取得頻度も設定してよい。なお、取得タイミングは、電力（電流）測定対象範囲でもある。
【００３１】
デバッグ処理部１１は、一般的なデバッグアプリケーションが備えるデバッグ処理を行う。例えば、デバッグ処理部１１は、デバッグ対象のコンピュータプログラムを、携帯端末２に転送（同期）する。また、デバッグ処理部１１は、ユーザからのデバッグ実行の指示を携帯端末２に送信し、携帯端末２においてデバッグ実行を行う。また、デバッグ処理部１１は、ユーザからのその他のデバッグ処理に関する指示を携帯端末２に送信し、携帯端末２からその応答を受信して特定の処理を行う。また、デバッグ処理部１１は、携帯端末２からデバッグ処理に関する指示を受信して特定の処理を行う。
【００３２】
端末ログ情報取得部１２は、デバッグ実行時に、携帯端末２から端末ログ情報を取得する。端末ログ情報取得部１２は、取得タイミング設定部１０によって設定された取得タイミングに基づいて端末ログ情報を取得してもよい。端末ログ情報取得部１２は、取得タイミング設定部１０によって設定されたコンピュータプログラムの所定の範囲がデバッグ実行される際に、端末ログ情報を取得してもよい。端末ログ情報取得部１２は、携帯端末２を構成する各ハードウェア毎の端末ログ情報を取得してもよい。
【００３３】
図５は、端末ログ情報のテーブル例を示す図である。図５に示す通り、端末ログ情報は、携帯端末２を構成する各ハードウェアの名前、動作状態を示す名前、及び動作状態の現在（端末ログ情報の取得時）の値が対応付いている。例えば、図５に示す端末ログ情報では、現在のＣＰＵの動作周波数は０．５ＧＨｚ、稼働率は１０％であることを示す。
【００３４】
消費電流算出部１３は、端末ログ情報取得部１２によって取得された端末ログ情報と、予め格納されている、ハードウェアの動作状態から一意の消費電流又は消費電流量を算出するための算出情報とに基づいて、デバッグ実行時の携帯端末２の消費電流又は消費電流量を算出する。消費電流算出部１３は、端末ログ情報取得部１２によって取得された各ハードウェア毎の端末ログ情報と、予め格納されている、当該ハードウェアの動作状態から一意の消費電流又は消費電流量を算出するための算出情報とに基づいて、デバッグ実行時の携帯端末２を構成する各ハードウェア毎の消費電流又は消費電流量を算出してもよい。なお、算出情報はデバッグ装置１のメモリ等に予め格納されている。
【００３５】
算出情報の具体例として、消費電流演算テーブルが挙げられる。図６〜８は、消費電流演算テーブルのテーブル例を示す図である。図６〜８に示す通り、消費電流演算テーブルは、携帯端末２を構成する各ハードウェアの名前、動作状態、及び消費電流が対応付いている。例えば、図６に示す消費電流演算テーブルでは、携帯端末２のＣＰＵの動作周波数が０．５ＧＨｚで稼働率が３％の場合、消費電流は１６ｍＡとなることを示す。例えば、消費電流算出部１３は、端末ログ情報取得部１２によって取得された端末ログ情報が、前述の「ＣＰＵの動作周波数は０．５ＧＨｚ、稼働率は３％」であった場合、図６に示す消費電流演算テーブルの上述の内容「ＣＰＵの動作周波数が０．５ＧＨｚで稼働率が３％の場合、消費電流は１６ｍＡ」から、消費電流を１６ｍＡと算出し、その算出された値に基づいて、デバッグ実行時の携帯端末２のＣＰＵの消費電流を算出する。
【００３６】
なお、図６に示す消費電流演算テーブルでは、１％毎の稼働率に消費電流が対応付いているが、１％に限らずその他の単位毎に対応付いていてもよい。また、稼働率０％はオフセットを考慮したものである。以上の点は、図７及び８の内容についてもあてはまる。
【００３７】
算出情報の別の具体例として、以下に例示する数式が挙げられる。
［一次式の例］
Ｐ＝ａｘ＋ｂ  （Ｐ：消費電流、ａ：ハードウェア毎に定まる係数、ｘ：ハードウェア毎の変数、ｂ：オフセット）
［二次式の例］
Ｐ＝ａｘ^２＋ｂｘ＋ｃ  （Ｐ：消費電流、ａ、ｂ：ハードウェア毎に定まる係数、ｘ：ハードウェア毎の変数、ｃ：オフセット）
［非線形関数の例］
Ｐ＝ｆａ（ｘ）  （Ｐ：消費電流、ｆａ（ｘ）：ハードウェアを変数とした非線形関数、ｘ：ハードウェア毎の変数）
消費電流算出部１３は、端末ログ情報取得部１２によって取得された端末ログ情報と上記に例示するような数式とに基づいて、デバッグ実行時の携帯端末２の消費電流を算出する。
【００３８】
なお、消費電流算出部１３によるハードウェア毎の消費電流の演算の方法は、取得された端末ログ情報毎に消費電流を演算し、電力（電流）測定対象範囲内において消費電流を順次積算する方法である。また、別の方法としては、取得された端末ログ情報毎に消費電流を演算し、電力（電流）測定対象範囲の終了ポイントに達した際に、開始ポイントから終了ポイントまでの消費電流を積算してもよい。また、別の方法としては、取得された端末ログ情報を保持しておき、電力（電流）測定対象範囲の終了ポイントに達した際に、開始ポイントから終了ポイントまでの端末ログ情報を収集し、収集した端末ログ情報の結果から消費電流を演算してもよい。なお、以上の具体例では消費電流について説明したが、消費電流量についても同様である。つまり、以上の具体例において「消費電流」を「消費電流量」に読み替えてもよい。
【００３９】
消費電流出力部１４は、消費電流算出部１３によって算出された各ハードウェアの消費電流又は消費電流量の合計値を出力する。例えば、消費電流出力部１４は、消費電流又は消費電流量をデバッグ装置１の画面（図２の領域Ｄ）に表示したり、他の装置にネットワークを介して送信したりする。また、消費電流出力部１４は、算出された消費電流又は消費電流量をハードウェア毎（ＣＰＵ、ＧＰＵ、ＧＰＳ等）に出力してもよい。
【００４０】
続いて、図３に示す携帯端末２の各機能ブロックについて説明する。
【００４１】
デバッグ処理部２０は、上述のデバッグ装置１のデバッグ処理部１１の処理と協調して、デバッグ処理を行う。例えば、デバッグ処理部２０は、デバッグ処理部１１から転送されたデバッグ対象のコンピュータプログラムを携帯端末２に設定し、デバッグ実行を行える状態にする。また、デバッグ処理部２０は、デバッグ処理部１１から送信されたユーザからのデバッグ実行の指示を受信し、携帯端末２においてデバッグ実行を行う。また、デバッグ処理部２０は、デバッグ処理部１１から送信されたユーザからのその他のデバッグ処理に関する指示を受信し、携帯端末２において対応するデバッグ処理を行い、その応答をデバッグ処理部１１に返信する。また、デバッグ処理部２０は、デバッグ処理部１１に対してデバッグ処理に関する指示を送信する。
【００４２】
端末ログ情報処理部２１は、デバッグ処理部２０からの指示に基づき、携帯端末２の端末ログ情報を取得し、デバッグ装置１の端末ログ情報取得部１２に送信する。
【００４３】
続いて、図９に示すフローチャート図を用いて、デバッグ装置１を含むデバッグシステム３におけるデバッグ方法の具体的な処理例について説明する。
【００４４】
まず、デバッグ装置１の取得タイミング設定部１０により、開始ポイント及び終了ポイントが設定される（ステップＳ１）。次に、デバッグ装置１のデバッグ処理部１１により、デバッグ対象のコンピュータプログラムが携帯端末２に転送され（ステップＳ２）、携帯端末２のデバッグ処理部２０により、転送されたコンピュータプログラムが携帯端末２において設定される（ステップＳ３）。次に、デバッグ装置１のデバッグ処理部１１により、デバッグ実行が携帯端末２に対して指示され（ステップＳ４）、携帯端末２のデバッグ処理部１１により、当該指示に基づいてコンピュータプログラムのデバッグ実行が開始される（ステップＳ５）。
【００４５】
携帯端末２においてデバッグ実行が開始された後に、設定された開始ポイントにデバッグが到達すると、携帯端末２のデバッグ処理部２０により、その旨がデバッグ装置１に通知される（ステップＳ６）。次に、当該通知がデバッグ装置１のデバッグ処理部１１により受信され、端末ログ情報の要求が携帯端末２に対して送信される（ステップＳ７）。次に、当該要求が携帯端末２のデバッグ処理部２０により受信され、携帯端末２の端末ログ情報が取得され、デバッグ装置１に送信される（ステップＳ８）。次に、送信された端末ログ情報がデバッグ装置１の端末ログ情報取得部１２により取得され、デバッグ装置１のメモリなどに格納される（ステップＳ９、取得ステップ）。
【００４６】
そして、携帯端末２においてデバッグ実行が開始された後に、設定された終了ポイントにデバッグ実行が到達すると、携帯端末２のデバッグ処理部２０により、その旨がデバッグ装置１に通知される（ステップＳ１０）。当該通知がデバッグ装置１のデバッグ処理部１１により受信され、デバッグ処理部１１の指示に基づき、消費電流算出部１３により、Ｓ９にて格納した端末ログ情報に基づいて消費電流又は消費電流量が算出される（ステップＳ１１、算出ステップ）。次に、デバッグ装置１の消費電流出力部１４により、算出された消費電流又は消費電流量が出力される（ステップＳ１２）。
【００４７】
ここで、デバッグ装置１のデバッグ処理部１１の機能として、コンピュータプログラム上の所定のポイントの命令を、コンピュータプログラムがデバッグ装置１のデバッグ処理部１１に通知する命令に書き換えておき、実際の命令の実行は、端末ログ情報の取得が開始された直後に実行するようにする。または、端末上のＶＭ（Virtual  Machine）が上記の例と同様に備えているデバッグ用の機能を用いてもよい。
【００４８】
次に、本実施形態のように構成されたデバッグ装置１の作用効果について説明する。
【００４９】
本実施形態のデバッグ装置１によれば、デバッグ実行時に携帯端末２を構成するハードウェアの動作状態を示す端末ログ情報が携帯端末２から直接取得され、取得された端末ログ情報に基づいてデバッグ実行時の携帯端末２の各ハードウェアの消費電流又は消費電流量や、すべてのハードウェアの消費電流又は消費電流量の合計値が算出される。かかる構成を採れば、コンピュータプログラムが実行されている際の実際のハードウェアの動作状態を反映した消費電流又は消費電流量、機種毎に合った消費電流又は消費電流量を算出することができるため、より正確な消費電流又は消費電流量を算出することができる。
【００５０】
また、本実施形態のデバッグ装置１によれば、設定したタイミング、例えば消費電流又は消費電流量の算出が必要なタイミングでのみ端末ログ情報を取得し、当該タイミングの消費電流又は消費電流量を算出することができるため、ユーザ（コンピュータプログラム開発者）の利便性が向上する。
【００５１】
また、本実施形態のデバッグ装置１によれば、設定したコンピュータプログラムの範囲、例えば消費電流又は消費電流量の算出が必要な範囲でのみ端末ログ情報を取得し、当該範囲の消費電流又は消費電流量を算出することができるため、ユーザの利便性が向上する。
【００５２】
また、本実施形態のデバッグ装置１によれば、コンピュータプログラムが実行されている際の実際の各ハードウェア毎の動作状態を反映した、各ハードウェア毎の消費電流又は消費電流量が算出することができるため、各ハードウェア毎のより正確な消費電流又は消費電流量を算出することができる。
【００５３】
［第２実施形態］
続いて、本発明の第２実施形態に係るデバッグ装置１ａについて説明する。なお、以下では第１実施形態に係るデバッグ装置１との差分についてのみ説明し、その他の部分についてはデバッグ装置１と同様である。
【００５４】
図１０は、本発明の第２実施形態に係るデバッグ装置１ａ及び携帯端末２の機能ブロック図である。図１０に示す通り、デバッグ装置１は、デバッグ処理部１１、端末ログ情報取得部１２（取得手段）、消費電流算出部１３（算出手段）、閾値設定部１５（閾値設定手段）及び実行部１６（実行手段）を含んで構成される。なお、携帯端末２は、第１実施形態の機能ブロック図と同様である。
【００５５】
図１０に示されるデバッグ装置１ａは、デバッグ装置１と同様に、物理的には、図４に示すように、ＣＰＵ１００、ＧＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、入出力装置１０４、通信モジュール１０５、ＧＰＳ１０６、センサ１０７及び補助記憶装置１０８などを含むコンピュータシステムとして構成されている。
【００５６】
図１０に示すデバッグ装置１ａの各機能ブロックの機能は、図４に示すＣＰＵ１００、ＧＰＵ１０１、ＲＡＭ１０２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１００及びＧＰＵ１０１の制御のもとで入出力装置１０４、通信モジュール１０５、ＧＰＳ１０６、センサ１０７及び補助記憶装置１０８を動作させるとともに、ＲＡＭ１０２におけるデータの読み出し及び書き込みを行うことで実現される。
【００５７】
続いて、図１０に示すデバッグ装置１ａの各機能ブロックについて、デバッグ装置１との差分について説明する。
【００５８】
閾値設定部１５は、ユーザなどに指定された消費電流又は消費電流量の閾値を設定する。閾値設定部１５は、携帯端末２を構成する各ハードウェア毎の消費電流又は消費電流量の閾値を設定しても良い。つまり、消費電流又は消費電流量の閾値は、各ハードウェアに対して設定しても良いし、すべてのハードウェアの消費電流又は消費電流量の合計値に対して設定しても良い。例えば、閾値設定部１５は、ＣＰＵの消費電流の閾値を１００ｍＡに設定し、動作周波数０．５ＧＨｚのＧＰＵの消費電流の閾値を５０ｍＡに設定し、ＬＴＥの消費電流の閾値を３００ｍＡに設定するなど、一つ以上のハードウェアそれぞれに対して消費電流の閾値を設定しても良い。閾値設定部１５は、消費電流量の閾値についても同様に設定しても良い。
【００５９】
実行部１６は、消費電流算出部１３によって算出された消費電流又は消費電流量が閾値設定部１５によって設定された閾値を超えるか否かを判定し、超えると判定した場合に特定の処理を実行する。また、実行部１６は、消費電流算出部１３によって算出された各ハードウェア毎の消費電流又は消費電流量が閾値設定部１５によって設定された当該ハードウェアの閾値を超えるか否かを判定し、超えると判定した場合に特定の処理を実行してもよい。
【００６０】
具体的に、実行部１６は、消費電流算出部１３によって算出された各ハードウェア毎の消費電流又は消費電流量が閾値設定部１５によって設定された当該ハードウェアの閾値を超えると判定した場合に、当該ハードウェアの情報を表示してもよい。その場合、実行部１６は、ハードウェアの情報として、例えば、ハードウェアの名前、そのときの動作状態、及び消費電流又は消費電流量を表示する。また、実行部１６は、閾値を超えると判定した場合に、閾値を超えたコンピュータプログラムの箇所を出力してもよい。また、実行部１６は、閾値を超えたコンピュータプログラムの箇所を出力する際に、当該コンピュータプログラムの箇所について、消費電流算出部１３によって算出された消費電流又は消費電流量に基づいたコンピュータプログラムの修正候補も出力してもよい。例えば、消費電流又は消費電流量の閾値を越えたハードウェアがＧＰＳである場合は、実行部１６は、通信の頻度を「１分に１回」から「５分に１回」に削減するコンピュータプログラムの修正候補を出力する。
【００６１】
続いて、図１１に示すフローチャート図を用いて、デバッグ装置１ａを含むデバッグシステム３におけるデバッグ方法の具体的な処理例について説明する。
【００６２】
まず、デバッグ装置１ａの閾値設定部１５により、閾値が設定される（ステップＳ２０）。次に、デバッグ装置１ａのデバッグ処理部１１により、デバッグ対象のコンピュータプログラムが携帯端末２に転送され（ステップＳ２１）、携帯端末２のデバッグ処理部２０により、転送されたコンピュータプログラムが携帯端末２において設定される（ステップＳ２２）。次に、デバッグ装置１ａのデバッグ処理部１１により、デバッグ実行が携帯端末２に対して指示され（ステップＳ２３）、携帯端末２のデバッグ処理部１１により、当該指示に基づいてコンピュータプログラムのデバッグ実行が開始される（ステップＳ２４）。
【００６３】
携帯端末２においてデバッグ実行が開始された後に、携帯端末２のデバッグ処理部２０により、端末ログ情報が取得され、デバッグ装置１ａに送信され（ステップＳ２５）、デバッグ装置１ａの端末ログ情報取得部１２により取得され、デバッグ装置１ａのメモリなどに格納される（ステップＳ２６、取得ステップ）。
【００６４】
次に、デバッグ装置１ａの消費電流算出部１３により、Ｓ２６にて格納した端末ログ情報に基づいて消費電流又は消費電流量が算出される（ステップＳ２７、算出ステップ）。次に、デバッグ装置１ａの実行部１６により、Ｓ２７にて算出された消費電流又は消費電流量がＳ２０にて設定された閾値を超えるか否かが判定され（ステップＳ２８）、超えると判定された場合に、デバッグ装置１ａの実行部１６により、デバッグ実行の停止が携帯端末２に対して指示され（ステップＳ２９）、携帯端末２のデバッグ処理部１１により、当該指示に基づいてコンピュータプログラムのデバッグ実行が停止される（ステップＳ３０）。次に、閾値を超えたコンピュータプログラムの範囲がユーザに通知される（ステップＳ３１）。
【００６５】
次に、本実施形態のように構成されたデバッグ装置１ａの作用効果について説明する。
【００６６】
本実施形態のデバッグ装置１ａによれば、設定した閾値を超えた場合に特定の処理を実行することができ、例えば、設定した閾値を超えた場合にデバッグ実行を停止することができるなど、ユーザの利便性が向上する。
【００６７】
本実施形態のデバッグ装置１ａによれば、設定した各ハードウェア毎の消費電流又は消費電流量の閾値を超えた場合に特定の処理を実行することができ、例えば、設定した各ハードウェア毎の消費電流又は消費電流量の閾値を超えた場合にデバッグ実行を停止することができるなど、ユーザの利便性が向上する。
【００６８】
本実施形態のデバッグ装置１ａによれば、設定した各ハードウェア毎の消費電流又は消費電流量の閾値を超えた場合に当該ハードウェアの情報を表示することができ、例えば、ユーザにとって省電力化が可能なソフトウェアを開発する上で当該情報は有効な参考情報となるなど、ユーザの利便性が向上する。
【００６９】
また、本実施形態のデバッグ装置１ａによれば、例えば、ユーザは出力された箇所のコンピュータプログラムを見直し、より消費電流又は消費電流量の低いコンピュータプログラムに書き換えることができるなど、ユーザの利便性が向上する。
【００７０】
また、本実施形態のデバッグ装置１ａによれば、自動でコンピュータプログラムの修正候補が出力されるため、ユーザの手間が減り、利便性が向上する。
【００７１】
［デバッグプログラム］
引き続いて、上述した一連のデバッグ装置１による処理をコンピュータに実行させるためのデバッグプログラム６０を説明する。図１２に示すように、デバッグプログラム６０は、コンピュータに挿入されてアクセスされる、あるいはコンピュータが備える記録媒体５０に形成されたプログラム格納領域５１内に格納される。より具体的には、デバッグプログラム６０は、デバッグ装置１が備える記録媒体５０に形成されたプログラム格納領域５１内に格納される。
【００７２】
デバッグプログラム６０は、取得モジュール６１と算出モジュール６２とを備えて構成される。取得モジュール６１と算出モジュール６２とを実行させることにより実現される機能は、上述したデバッグ装置１の端末ログ情報取得部１２と消費電流算出部１３との機能とそれぞれ同様である。
【００７３】
なお、デバッグプログラム６０は、その一部若しくは全部が、通信回線等の伝送媒体を介して伝送され、他の機器により受信されて記録（インストールを含む）される構成としてもよい。また、デバッグプログラム６０の各モジュールは、１つのコンピュータでなく、複数のコンピュータのいずれかにインストールされてもよい。その場合、当該複数のコンピュータによるコンピュータシステムよって上述した一連のデバッグプログラム６０の処理が行われる。
【００７４】
以上の通り、本実施形態に係るデバッグ装置１又はデバッグ装置１ａによれば、コンピュータプログラムの各画面、又は関数、又は行が消費する消費電流又は消費電流量を特定し、デバッグを実施できるため、携帯端末において消費電流又は消費電流量を削減したアプリケーション開発を行うことができ、結果的に携帯端末を長時間利用することが可能となる。
【００７５】
なお、デバッグ装置１は、備える一部機能を削除し、デバッグ装置１ａが備える一部の機能を備えてもよい。同様に、デバッグ装置１ａは、備える一部機能を削除し、デバッグ装置１が備える一部の機能を備えてもよい。
【符号の説明】
【００７６】
１・１ａ…デバッグ装置、２…携帯端末、３…デバッグシステム、１０…取得タイミング設定部、１１…デバッグ処理部、１２…端末ログ情報取得部、１３…消費電流算出部、１４…消費電流出力部、１５…閾値設定部、１６…実行部１６、２０…デバッグ処理部、２１…端末ログ情報処理部、５０…記憶媒体、５１…プログラム格納領域、６０…デバッグプログラム、６１…取得モジュール、６２…算出モジュール。
【図１】
0005934160.tif 000002
【図２】
0005934160.tif 000003
【図３】
0005934160.tif 000004
【図４】
0005934160.tif 000005
【図５】
0005934160.tif 000006
【図６】
0005934160.tif 000007
【図７】
0005934160.tif 000008
【図８】
0005934160.tif 000009
【図９】
0005934160.tif 000010
【図１０】
0005934160.tif 000011
【図１１】
0005934160.tif 000012
【図１２】
0005934160.tif 000013