JP4681491B2 - プロファイリングプログラムおよびプロファイリング方法 - Google Patents
プロファイリングプログラムおよびプロファイリング方法 Download PDFInfo
- Publication number
- JP4681491B2 JP4681491B2 JP2006099350A JP2006099350A JP4681491B2 JP 4681491 B2 JP4681491 B2 JP 4681491B2 JP 2006099350 A JP2006099350 A JP 2006099350A JP 2006099350 A JP2006099350 A JP 2006099350A JP 4681491 B2 JP4681491 B2 JP 4681491B2
- Authority
- JP
- Japan
- Prior art keywords
- target range
- target
- information
- address
- transition
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
前記割込みハンドラによって情報収集を行う対象範囲を指定する対象範囲指定手順と、
前記対象範囲指定手順により指定された対象範囲で前記割込みが発生した際に割込みハンドラによって収集される情報を設定する情報設定手順と、
をコンピュータに実行させることを特徴とするプロファイリングプログラム。
前記情報設定手順は、前記関数置換手順により記録された実行の遷移に関する情報の一部を前記収集される情報として設定することを特徴とする付記1または2に記載のプロファイリングプログラム。
前記情報設定手順は、前記関数置換手順により記録された遷移識別子を前記収集される情報として設定することを特徴とする付記3に記載のプロファイリングプログラム。
前記割込みハンドラによって情報収集を行う対象範囲を指定する対象範囲指定工程と、
前記対象範囲指定工程により指定された対象範囲で前記割込みが発生した際に割込みハンドラによって収集される情報を設定する情報設定工程と、
を含んだことを特徴とするプロファイリング方法。
前記情報設定工程は、前記関数置換工程により記録された実行の遷移に関する情報の一部を前記収集される情報として設定することを特徴とする付記11または12に記載のプロファイリング方法。
前記情報設定工程は、前記関数置換工程により記録された遷移識別子を前記収集される情報として設定することを特徴とする付記13に記載のプロファイリング方法。
20 オペレーティングシステム
30,40 アプリケーションプログラム
100,200 プロファイリングプログラム
110 初期処理ルーチン
120 ターゲット範囲指定インタフェース
130,230 フラグ設定インタフェース
140 割込みハンドラ
150 フラグ管理テーブル
160 割込みハンドラ記録テーブル
270 命令書換ルーチン
280 遷移管理テーブル
300 コンピュータ
310 RAM
311 アプリケーションプログラム
312 割込みハンドラ
320 CPU
321 アプリケーションプロセス
330 HDD
340 LANインタフェース
350 入出力インタフェース
360 DVDドライブ
Claims (3)
- 所定の条件が満たされた際に発生する割込みにより起動される割込みハンドラを含み、当該割込みハンドラによって情報収集対象プログラムの実行状況に関する情報を収集するプロファイリングプログラムであって、
前記割込みハンドラによって前記実行状況に関する情報の収集を行う対象範囲である、該対象範囲を識別する番号であるターゲット番号と、該対象範囲の開始アドレスと、該対象範囲の終了アドレスと、該対象範囲内で発生した関数の呼び出し経路を特定するフラグ値とを、前記情報収集対象プログラムによって呼び出されたインタフェースを介して受け付ける対象範囲指定手順と、
前記対象範囲ごとに、該対象範囲を識別する番号であるターゲット番号と、該対象範囲の開始アドレスと、該対象範囲の終了アドレスと、該対象範囲内で発生した関数の呼び出し経路を特定するフラグ値とを対応づけて記憶するフラグ管理テーブルに、前記対象範囲指定手順により指定されたターゲット番号、開始アドレス及び終了アドレスを登録する対象範囲登録手順と、
前記対象範囲内で発生した関数の呼び出し経路を特定するためのフラグ値を、前記情報収集対象プログラムによって呼び出されたインタフェースを介して受け付ける情報設定手順と、
前記対象範囲指定手順により指定されたターゲット番号に対応付けて前記情報設定手順により設定されたフラグ値を前記フラグ管理テーブルに登録する情報登録手順と、
前記対象範囲で割込みが発生した際に、該割込みが発生した時点での前記情報収集対象プログラムの実行アドレスである割込み時実行アドレスと、前記割込みハンドラによって収集された前記フラグ値とを対応付けて割込みハンドラ記録テーブルに記録する記録手順と、
をコンピュータに実行させることを特徴とするプロファイリングプログラム。 - 前記対象範囲に遷移してくる関数の呼出しを行う呼出し元の関数を情報収集対象プログラムから検出し、該検出した呼出し元の関数の関数呼出しを前記情報設定手順の呼出しに置き換えるとともに、該関数呼出しによる実行の遷移に関する情報として、各遷移のそれぞれ識別する遷移識別子、該対象範囲に遷移する関数呼出しの命令アドレスである遷移元アドレス、該対象範囲に遷移する関数呼出しの先頭命令アドレスである遷移先アドレス、および該対象範囲のターゲット番号を遷移管理テーブルに設定する関数置換手順をさらにコンピュータに実行させ、
前記情報設定手順は、前記置き換えによる呼出しに応じて、前記遷移元アドレスに対応するターゲット番号を前記遷移管理テーブルから取得し、該取得した遷移識別子を該ターゲット番号に対応付けて前記フラグ値として前記フラグ管理テーブルに設定した後、前記遷移管理テーブルから前記遷移先アドレスを取得し、実行アドレスを該遷移先アドレスに移すことを特徴とする請求項1に記載のプロファイリングプログラム。 - 所定の条件が満たされた際に発生する割込みにより起動される割込みハンドラを含み、当該割込みハンドラによって情報収集対象プログラムの実行状況に関する情報を収集する処理をコンピュータが実行するプロファイリング方法であって、
前記コンピュータが、
前記割込みハンドラによって前記実行状況に関する情報の収集を行う対象範囲である、該対象範囲を識別する番号であるターゲット番号と、該対象範囲の開始アドレスと、該対象範囲の終了アドレスと、該対象範囲内で発生した関数の呼び出し経路を特定するフラグ値とを、前記情報収集対象プログラムによって呼び出されたインタフェースを介して受け付ける対象範囲指定工程と、
前記対象範囲ごとに、該対象範囲を識別する番号であるターゲット番号と、該対象範囲の開始アドレスと、該対象範囲の終了アドレスと、該対象範囲内で発生した関数の呼び出し経路を特定するフラグ値とを対応づけて記憶するフラグ管理テーブルに、前記対象範囲指定工程により指定されたターゲット番号、開始アドレス及び終了アドレスを登録する対象範囲登録工程と、
前記対象範囲内で発生した関数の呼び出し経路を特定するためのフラグ値を、前記情報収集対象プログラムによって呼び出されたインタフェースを介して受け付ける情報設定工程と、
前記対象範囲指定工程により指定されたターゲット番号に対応付けて前記情報設定工程により設定されたフラグ値を前記フラグ管理テーブルに登録する情報登録工程と、
前記対象範囲で割込みが発生した際に、該割込みが発生した時点での前記情報収集対象プログラムの実行アドレスである割込み時実行アドレスと、前記割込みハンドラによって収集された前記フラグ値とを対応付けて割込みハンドラ記録テーブルに記録する記録工程と、
を実行することを特徴とするプロファイリング方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006099350A JP4681491B2 (ja) | 2006-03-31 | 2006-03-31 | プロファイリングプログラムおよびプロファイリング方法 |
US11/493,564 US8032869B2 (en) | 2006-03-31 | 2006-07-27 | Profiling method and computer product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006099350A JP4681491B2 (ja) | 2006-03-31 | 2006-03-31 | プロファイリングプログラムおよびプロファイリング方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007272692A JP2007272692A (ja) | 2007-10-18 |
JP4681491B2 true JP4681491B2 (ja) | 2011-05-11 |
Family
ID=38561034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006099350A Expired - Fee Related JP4681491B2 (ja) | 2006-03-31 | 2006-03-31 | プロファイリングプログラムおよびプロファイリング方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8032869B2 (ja) |
JP (1) | JP4681491B2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429613B2 (en) | 2006-10-31 | 2013-04-23 | Microsoft Corporation | Stepping and application state viewing between points |
JP5029245B2 (ja) * | 2007-09-20 | 2012-09-19 | 富士通セミコンダクター株式会社 | プロファイリング方法及びプログラム |
US20090113400A1 (en) * | 2007-10-24 | 2009-04-30 | Dan Pelleg | Device, System and method of Profiling Computer Programs |
US8990792B2 (en) * | 2008-05-26 | 2015-03-24 | Samsung Electronics Co., Ltd. | Method for constructing dynamic call graph of application |
US7917677B2 (en) * | 2008-09-15 | 2011-03-29 | International Business Machines Corporation | Smart profiler |
JP5386905B2 (ja) * | 2008-09-25 | 2014-01-15 | 富士通セミコンダクター株式会社 | プロファイリング方法およびプロファイリングプログラム |
JP5326708B2 (ja) | 2009-03-18 | 2013-10-30 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
JP5423232B2 (ja) * | 2009-08-17 | 2014-02-19 | 富士通株式会社 | プロセス状態検知プログラム、情報処理装置、プロセス状態検知方法 |
JP5045787B2 (ja) * | 2010-06-07 | 2012-10-10 | コニカミノルタビジネステクノロジーズ株式会社 | 情報処理装置、情報処理方法およびプログラム |
US8601194B2 (en) * | 2011-02-08 | 2013-12-03 | Red Hat Israel, Ltd. | On-demand interrupt vector allocation based on activity detection |
US9213641B2 (en) * | 2012-06-14 | 2015-12-15 | International Business Machines Corporation | Cache line history tracking using an instruction address register file |
JP6693308B2 (ja) * | 2016-07-05 | 2020-05-13 | 富士通株式会社 | 負荷推定プログラム、負荷推定方法及び負荷推定装置 |
US12235964B2 (en) * | 2020-09-25 | 2025-02-25 | Ati Technologies Ulc | Secure collection and communication of computing device working data |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01270153A (ja) * | 1988-04-21 | 1989-10-27 | Nec Corp | プログラム割込情報収集方式 |
JPH0358144A (ja) * | 1989-07-26 | 1991-03-13 | Nec Corp | プログラム走行覆歴情報収集方式 |
JPH11212837A (ja) * | 1998-01-26 | 1999-08-06 | Nec Corp | 言語処理方法及び言語処理装置並びに言語処理プログラムを記録した記憶媒体 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003140928A (ja) | 2001-11-02 | 2003-05-16 | Fujitsu Ltd | 仮想マシン内部情報自動取得システム |
US7159144B2 (en) * | 2003-06-20 | 2007-01-02 | Broadcom Corporation | Firmware code profiling |
US7721268B2 (en) * | 2004-10-01 | 2010-05-18 | Microsoft Corporation | Method and system for a call stack capture |
JP4899511B2 (ja) * | 2006-02-08 | 2012-03-21 | 富士通株式会社 | システム分析プログラム、システム分析装置、およびシステム分析方法 |
JP4957017B2 (ja) * | 2006-03-02 | 2012-06-20 | 富士通セミコンダクター株式会社 | 性能チューニング方法及び装置、プログラム及び記憶媒体 |
JP5386905B2 (ja) * | 2008-09-25 | 2014-01-15 | 富士通セミコンダクター株式会社 | プロファイリング方法およびプロファイリングプログラム |
-
2006
- 2006-03-31 JP JP2006099350A patent/JP4681491B2/ja not_active Expired - Fee Related
- 2006-07-27 US US11/493,564 patent/US8032869B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01270153A (ja) * | 1988-04-21 | 1989-10-27 | Nec Corp | プログラム割込情報収集方式 |
JPH0358144A (ja) * | 1989-07-26 | 1991-03-13 | Nec Corp | プログラム走行覆歴情報収集方式 |
JPH11212837A (ja) * | 1998-01-26 | 1999-08-06 | Nec Corp | 言語処理方法及び言語処理装置並びに言語処理プログラムを記録した記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
US8032869B2 (en) | 2011-10-04 |
JP2007272692A (ja) | 2007-10-18 |
US20070234298A1 (en) | 2007-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4681491B2 (ja) | プロファイリングプログラムおよびプロファイリング方法 | |
JP5520371B2 (ja) | 多重仮想マシンのためのサポートを有する、トレース・データの時間ベース・コンテキスト・サンプリング | |
JP4003830B2 (ja) | マルチプロセッシング環境における透過動的最適化のための方法およびシステム | |
US11748072B2 (en) | Apparatus and method for source code optimisation | |
CN100407147C (zh) | 为记录事件提供前置与后置处理程序的方法 | |
CN101957773B (zh) | 用于多轮次动态概要分析的方法及其系统 | |
US7620938B2 (en) | Compressed program recording | |
JP3731887B2 (ja) | 繰返し命令の追跡許可 | |
US20030135720A1 (en) | Method and system using hardware assistance for instruction tracing with secondary set of interruption resources | |
JP2005018760A (ja) | アプリケーションのプロファイリングを容易にするシステムおよび方法 | |
US20040117760A1 (en) | Reality-based optimization | |
JP5029245B2 (ja) | プロファイリング方法及びプログラム | |
JP2015516601A (ja) | 被管理ランタイムのためのハードウェア・ベース・ランタイム計装機構 | |
JP2013533553A (ja) | システムテスト方法 | |
CN103034577B (zh) | 一种定位关机慢的方法及装置 | |
JP4940996B2 (ja) | プロファイリング装置およびプロファイリングプログラム | |
US8065665B1 (en) | Method and apparatus for correlating profile data | |
JP2018097817A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6544054B2 (ja) | 情報処理装置、実行情報記録プログラムおよび実行情報記録方法 | |
US20040193395A1 (en) | Program analyzer for a cycle accurate simulator | |
US7827543B1 (en) | Method and apparatus for profiling data addresses | |
JP2009064125A (ja) | サーバ装置、そのプログラム | |
CN114780409A (zh) | 基于程序运行进程的断点设置方法、电子设备和存储介质 | |
JP2011118596A (ja) | 情報処理装置およびプロファイリング方法 | |
JP2023525025A (ja) | 装置の状態情報を収集する技術 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080818 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100726 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100803 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101001 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101102 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101228 |
|
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: 20110201 |
|
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: 20110204 |
|
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: 20140210 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |