JP4894362B2 - Operation status monitoring program - Google Patents
Operation status monitoring program Download PDFInfo
- Publication number
- JP4894362B2 JP4894362B2 JP2006161291A JP2006161291A JP4894362B2 JP 4894362 B2 JP4894362 B2 JP 4894362B2 JP 2006161291 A JP2006161291 A JP 2006161291A JP 2006161291 A JP2006161291 A JP 2006161291A JP 4894362 B2 JP4894362 B2 JP 4894362B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- machine language
- execution
- operation status
- address
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3644—Debugging of software by instrumenting at runtime
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
本発明は、コンピュータ上で実行されるプログラムの稼働情報を監視するための機能をコンピュータに付与する稼働状況監視プログラムに関する。 The present invention relates to an operation status monitoring program that gives a computer a function for monitoring operation information of a program executed on the computer.
コンピュータを業務に使用している多くの私企業/自治体などでは、業務や組織の変化に応じて新しいプログラムが追加され、かつ、既存のプログラムを削除するにはリスクが伴うため、時間の経過と共にプログラムの本数が増加する傾向がある。ただし、プログラム本数が増加しても、実際に業務で稼働しているプログラムはその一部でしかない場合がある。このような場合には、実際に使用しないプログラムに対して保守費用を支払ったり、ストレージ装置の容量を無駄に消費するという問題がある。 In many private companies / local governments that use computers for business, new programs are added according to changes in business and organization, and deleting existing programs involves risks, so over time The number of programs tends to increase. However, even if the number of programs increases, there may be only a part of the programs that are actually running in business. In such a case, there is a problem that maintenance costs are paid for a program that is not actually used, and the capacity of the storage apparatus is wasted.
このため、従来から、システムに含まれるプログラムの稼働状況を監視し、稼働していないプログラムを削除対象としてリストアップする方法が提案されている。例えば、特許文献1には、オペレーティングシステムによって実行されるプロセスについての情報を、プログラム・インタフェースを利用して収集し、プロセスの実行状況を監視する監視手段と、監視手段が収集する情報に含まれるアプリケーション・ソフトウエアについてのプロセスの実行状況を集計して、アプリケーション・ソフトウエアの稼働実績を生成する生成手段とを含む稼働状況監視装置が開示されている。 For this reason, conventionally, there has been proposed a method of monitoring the operating status of programs included in the system and listing programs that are not operating as deletion targets. For example, Patent Literature 1 includes information on processes executed by an operating system by collecting information using a program interface and monitoring process execution status, and information collected by the monitoring means. An operation status monitoring device is disclosed that includes a generation unit that aggregates process execution statuses of application software and generates operation results of the application software.
しかしながら、特許文献1に開示されるような従来の装置は、稼働状況をプロセス単位、あるいは、プログラム単位でしか監視できず、実際に業務に使用される部分がプログラム中のほんの一部であり、他の大部分が使用されないようなプログラムもそのまま残すしかないという問題がある。ストレージ装置の有効利用やプログラムの実行速度の向上を図るためには、上記のようなプロセス単位、プログラム単位での稼働状況の監視では不十分であり、ソースプログラムのステップ単位での稼働状況の把握が求められている。 However, the conventional apparatus as disclosed in Patent Document 1 can monitor the operation status only in process units or program units, and the part actually used for business is only a part of the program. There is a problem that there is no choice but to leave programs that are mostly unused. Monitoring the operating status in units of processes and programs as described above is not sufficient for effective use of storage devices and improvement of program execution speed. Understanding the operating status in steps of source programs Is required.
なお、ソースプログラムのステップ単位の監視が必要な場合、従来はプログラマーが机上でソースプログラムを分析したり、運用しているシステムにトレース用のプログラムを埋めて実行される行を調査したり、あるいは、CPUエミュレータにより緻密な走行アドレスを調査していた。ただし、いずれの方法も、技術的には非常に困難な作業を伴い、コンピュータの高度な専門家ではない利用者側で実施するのは困難であった。 If it is necessary to monitor the source program step by step, the programmer has traditionally analyzed the source program on the desk, investigated the line executed by embedding the trace program in the operating system, or , I was investigating a precise running address by CPU emulator. However, both methods involve technically very difficult tasks, and it was difficult for a user who is not an advanced computer expert to implement.
本発明は、上記の従来技術の問題点に鑑みてなされたものであり、その課題は、コンピュータの高度な専門家ではない利用者側でも、プログラムの稼働状況をソースプログラムのステップ単位で容易に監視することができる装置としてコンピュータを機能させるプログラムを提供することにある。 The present invention has been made in view of the above-described problems of the prior art, and the problem is that even a user who is not an advanced computer expert can easily determine the operation status of a program in steps of a source program. An object of the present invention is to provide a program that causes a computer to function as an apparatus that can be monitored.
本発明にかかる稼働状況監視プログラムは、上記の課題を解決するため、コンピュータにより実行されるプログラムの稼働状況を監視するためのプログラムであって、コンピュータに、ソースプログラムを機械語に翻訳してメモリ空間にマッピングした実行モジュールに含まれる機械語命令の実行を検知する検知機能と、ソースプログラムの各ステップと実行モジュールの機械語命令との対応情報を記憶した定義リストを参照し、検知された機械語命令に相当するステップを特定するステップ位置特定機能と、ソースプログラムの各ステップとステップ単位の実行回数との対応を定義した稼働状況マップ用データテーブルの、ステップ位置特定機能により特定されたステップの実行回数を加算し、稼働状況マップ用データテーブルを更新する更新機能と、各ステップに一対一で対応する単位図形を並べて表示すると共に、稼働状況マップ用データテーブルに記憶された内容に基づいて各単位図形の表示パターンを対応するステップの実行回数に応じて変化させることにより、各ステップ毎の実行頻度を視認できるようにした稼働状況マップを出力する出力機能と、を実現させることを特徴とする。 An operation status monitoring program according to the present invention is a program for monitoring the operation status of a program executed by a computer in order to solve the above-described problem, and translates a source program into a machine language and stores the program in a computer. Detected machine with reference to a detection function that detects the execution of machine language instructions included in execution modules mapped in space, and a definition list that stores correspondence information between each step of the source program and machine language instructions of the execution module Of the step specified by the step position specifying function in the data table for the operation status map that defines the correspondence between each step of the source program and the number of executions in units of steps. Update the operating status map data table by adding the number of executions According to the number of executions of the step corresponding to the display pattern of each unit graphic based on the new function and the unit graphic corresponding to each step in a one-to-one correspondence side by side and stored in the data table for operation status map It is characterized by realizing an output function for outputting an operation status map in which the execution frequency for each step can be visually recognized by changing.
上記の定義リストは、ソースプログラムのステップと実行モジュールの機械語命令との対応を直接関連付けるものであってもよいが、ソースプログラムの各ステップと当該ソースプログラムを機械語に翻訳して得られるロードモジュールの機械語命令の相対アドレスとの対応を定義したリンケージリストと、実行モジュールがマッピングされたメモリ空間内の絶対アドレスを定義したマッピングリストとの2つのリストから構成する方が汎用性が高くなる。後者の場合、ステップ位置特定機能は、実行された機械語命令の絶対アドレスに基づいてマッピングリストを参照し、当該機械語命令が含まれるプログラムを特定し、当該絶対アドレスから実行モジュールの先頭の絶対アドレスを引いて得られた相対アドレスに基づいてリンケージリストを参照し、当該機械語命令に該当するステップを特定することができる。 Although the above definition list may directly associate the correspondence between the steps of the source program and the machine language instructions of the execution module, the load obtained by translating each step of the source program and the source program into the machine language It is more versatile if it is composed of two lists: a linkage list that defines the correspondence with the relative addresses of the module machine language instructions, and a mapping list that defines the absolute addresses in the memory space where the execution modules are mapped. . In the latter case, the step position specifying function refers to the mapping list based on the absolute address of the executed machine language instruction, specifies the program including the machine language instruction, and determines the absolute address at the beginning of the execution module from the absolute address. A step corresponding to the machine language instruction can be specified by referring to the linkage list based on the relative address obtained by subtracting the address.
さらに、実行モジュールがマッピングされるメモリ空間内の絶対アドレスが動的に定義される動的配置プログラムの場合、上記の定義リストとして、動的なマッピングを保持する動的マッピングリストと、ソースプログラムの各ステップと当該ソースプログラムを機械語に翻訳して得られるロードモジュールの機械語命令の相対アドレスとの対応を定義したリンケージリストとを用意すれば、ステップ位置特定機能は、実行された機械語命令の絶対アドレスに基づいて動的マッピングリストを参照し、当該機械語命令が含まれるプログラムを特定し、当該絶対アドレスから実行モジュールの動的に配置された先頭の絶対アドレスを引いて得られた相対アドレスに基づいてリンケージリストを参照し、当該機械語命令に該当するステップを特定することができる。 Furthermore, in the case of a dynamic allocation program in which the absolute address in the memory space to which the execution module is mapped is dynamically defined, as the above definition list, a dynamic mapping list holding dynamic mapping, a source program If a linkage list that defines the correspondence between each step and the relative address of the machine language instruction of the load module obtained by translating the source program into machine language is prepared, the step location specifying function can execute the executed machine language instruction. Relative obtained by referring to the dynamic mapping list based on the absolute address of the program, identifying the program containing the machine language instruction, and subtracting the absolute address of the execution module dynamically allocated from the absolute address Refers to the linkage list based on the address and identifies the step corresponding to the machine language instruction. Rukoto can.
また、本発明の稼働状況監視プログラムは、コンピュータに、稼働状況マップデータから実行回数が所定の規定値以下のステップを抽出する抽出機能と、抽出されたステップを特定する情報、及び当該ステップを含むプログラムを特定する情報とを一覧にして出力する一覧出力機能と、をさらに実現させることが望ましい。 The operating status monitoring program of the present invention includes an extraction function for extracting a step whose number of executions is less than or equal to a predetermined value from the operating status map data, information for specifying the extracted step, and the step. It is desirable to further realize a list output function for outputting a list of information for specifying programs.
上記の出力機能は、コンピュータに接続されたディスプレイ上に稼働状況マップを表示させ、単位図形の輝度又は色を実行回数に合わせて変化させることが望ましい。稼働状況マップは、紙にプリントアウトしてもよい。 In the output function, it is desirable to display an operation status map on a display connected to a computer and change the luminance or color of the unit graphic according to the number of executions. The operating status map may be printed out on paper.
さらに、本発明の稼働状況監視プログラムは、任意のステップが指定された際に、当該ステップを含むプログラムの全ステップに対応する単位図形を他の実行モジュールのステップに対応する単位図形に対して区別できるように表示させる識別表示機能を含むことが望ましい。 Furthermore, the operation status monitoring program of the present invention distinguishes unit graphics corresponding to all steps of a program including the step from unit graphics corresponding to steps of other execution modules when an arbitrary step is designated. It is desirable to include an identification display function for displaying as possible.
以上のように構成された本発明のプログラムによれば、コンピュータの実際の運用時に、ソースプログラムのステップ単位で実行回数をカウントし、これを目に見える形で出力できるため、コンピュータの高度な専門家ではない利用者側でも、プログラムの稼働状況をソースプログラムのステップ単位で容易に監視することができる。したがって、ステップ単位でプログラムの修正や削除をする際の判断資料を提供することができる。また、日々の稼働状況をリアルタイムで監視することができるため、任意の時点で、不要プログラムや未使用ステップを削除することができる。 According to the program of the present invention configured as described above, the number of executions can be counted in step units of the source program during the actual operation of the computer, and this can be output in a visible form. Even the user who is not at home can easily monitor the operation status of the program in steps of the source program. Therefore, it is possible to provide a judgment material for correcting or deleting a program in units of steps. In addition, since the daily operating status can be monitored in real time, unnecessary programs and unused steps can be deleted at any time.
また、定義リストをマッピングリストとリンケージリストとに分けた場合には、マッピングリストは当該コンピュータに特有の構成となるが、リンケージリストは当該プログラムについて共通となり、他のコンピュータ上で実行される場合にも利用することができる。このようなリンケージリストは、ソースプログラムを機械語に翻訳(コンパイル、及びリンク)した際に翻訳プログラムから出力されるものを利用することができる。 In addition, when the definition list is divided into a mapping list and a linkage list, the mapping list has a configuration specific to the computer, but the linkage list is common to the program and is executed on another computer. Can also be used. As such a linkage list, the one output from the translation program when the source program is translated (compiled and linked) into the machine language can be used.
抽出機能及び一覧表示機能を持たせた場合には、実行頻度の少ないステップを自動的に抽出し、利用者に提示することができる。利用者は、一覧に基づいて不要なステップを削除したり、プログラムのロジックを再検討したりすることができる。 When the extraction function and the list display function are provided, steps with a low execution frequency can be automatically extracted and presented to the user. The user can delete unnecessary steps based on the list or review the logic of the program.
さらに、識別表示機能を持たせた場合には、稼働状況マップから、特定のステップがどのプログラムに含まれるステップであるかを容易に判断することできる。したがって、アクセスがない、あるいは、少ないステップが集中している箇所を稼働状況マップ上で発見した時に、これらのステップがどのプログラムのステップであるのか、容易に判別することができ、プログラム単位の稼働状況を把握して削除判断の基準に供することができる。 Furthermore, when an identification display function is provided, it is possible to easily determine in which program a specific step is included in the program from the operation status map. Therefore, when a place where there is no access or where a small number of steps are concentrated is found on the operation status map, it is possible to easily determine which program these steps are, and the operation of each program unit. The situation can be grasped and used as a criterion for deletion judgment.
以下、本発明にかかる稼働状況監視プログラム及びこれを適用した稼働状況監視装置の実施形態を図面に基づいて説明する。最初に、図1に基づいて本実施形態の稼働状況監視プログラムが適用されるコンピュータシステムの概要を説明する。図1に示されるように、このコンピュータシステムは、ネットワーク、あるいはパラレル、シリアル通信を介して互いに接続された被監視コンピュータ10と、この被監視コンピュータの稼働状況を監視する稼働状況監視装置(コンピュータ)20とから構成される。 DESCRIPTION OF EMBODIMENTS Hereinafter, an embodiment of an operation status monitoring program according to the present invention and an operation status monitoring apparatus to which the program is applied will be described with reference to the drawings. First, an outline of a computer system to which the operation status monitoring program of this embodiment is applied will be described based on FIG. As shown in FIG. 1, this computer system includes a monitored computer 10 connected to each other via a network or parallel or serial communication, and an operating status monitoring device (computer) for monitoring the operating status of the monitored computer. 20.
被監視コンピュータ10は、CPU11、並びにこのCPU11に接続されたハードディスク(HD)12、メモリ(RAM)13及び通信アダプタ14を備えている。HD12には、オペレーティングシステム12aと、CPU11が実行している機械語命令の論理アドレスをカウントするプログラムカウンタ11aの値を逐次読み取るプログラムカウンタ読み出し処理ユニット15と、動的配置プログラム情報テーブル12bと、複数のアプリケーションプログラム12cとがインストールされている。被監視コンピュータ10が起動すると、CPU11はHD12からオペレーティングシステム12aをRAM13上に読み出して実行し、プログラムカウンタ読み出し処理ユニット15と、このオペレーティングシステム上で必要なアプリケーションプログラム12cとを起動する。 The monitored computer 10 includes a CPU 11, a hard disk (HD) 12, a memory (RAM) 13, and a communication adapter 14 connected to the CPU 11. The HD 12 includes an operating system 12a, a program counter read processing unit 15 that sequentially reads the value of the program counter 11a that counts the logical address of the machine language instruction executed by the CPU 11, a dynamic arrangement program information table 12b, Application program 12c is installed. When the monitored computer 10 is activated, the CPU 11 reads the operating system 12a from the HD 12 onto the RAM 13 and executes it, and activates the program counter read processing unit 15 and the application program 12c necessary on this operating system.
オペレーティングシステム12aは、HD12の所定の領域を利用することにより、RAM13の限られた物理メモリ領域を拡張した論理メモリ空間を管理している。物理アドレスと論理アドレスとの変換はオペレーティングシステム12aにより自動的に実行される。実行物理アドレスは、以下の計算により実行論理アドレスに変換される。
実行論理アドレス=実行物理アドレス−プログラム展開先先頭物理アドレス
+プログラム先頭論理アドレス
The operating system 12 a manages a logical memory space obtained by expanding a limited physical memory area of the RAM 13 by using a predetermined area of the HD 12. The conversion between the physical address and the logical address is automatically executed by the operating system 12a. The execution physical address is converted into an execution logical address by the following calculation.
Execution logical address = execution physical address-start physical address of program expansion destination
+ Program start logical address
また、オペレーティングシステム12aは、RAM13の限られた物理メモリ領域を拡張した論理メモリ空間に動的配置プログラムを配置して実行するために、例えば、以下の表1に示されるように、動的配置するプログラム名と配置アドレスを動的配置プログラム情報テーブル12bに管理している。当該プログラム名と配置先頭論理アドレスの記録はオペレーティングシステム12aにより自動的に実行される。 The operating system 12a arranges and executes a dynamic allocation program in a logical memory space obtained by expanding a limited physical memory area of the RAM 13, for example, as shown in Table 1 below. The program name and allocation address to be managed are managed in the dynamic allocation program information table 12b. The recording of the program name and the arrangement head logical address is automatically executed by the operating system 12a.
アプリケーションプログラム側では論理アドレスのみを考慮すれば足りるため、以下、論理メモリ空間を基準にして、論理アドレスに基づいて説明する。プログラムカウンタ11aは、CPU11が実行している機械語命令の実行論理アドレスを示すカウンタであり、CPU11に接続されたプログラムカウンタ読み出し処理ユニット15は、この実行論理アドレスを読み出して稼働状況監視装置20に送信する。
同様にプログラムカウンタ読み出し処理ユニット15は、動的配置プログラム情報テーブル12bの動的配置プログラム名及び配置先論理アドレスを読み出して稼働状況監視装置20に送信する。
Since only the logical address needs to be considered on the application program side, the following description is based on the logical address with reference to the logical memory space. The program counter 11a is a counter indicating an execution logical address of a machine language instruction executed by the CPU 11. The program counter read processing unit 15 connected to the CPU 11 reads the execution logical address and sends it to the operation status monitoring device 20. Send.
Similarly, the program counter read processing unit 15 reads the dynamic placement program name and the placement destination logical address in the dynamic placement program information table 12b and transmits them to the operation status monitoring device 20.
また、本明細書では、COBOLやC言語等の高級言語で書かれたコードをソースプログラム、これを機械語に翻訳(コンパイル及びリンク)して得られるモジュールをロードモジュール、このロードモジュールが被監視コンピュータ10の論理メモリ空間にロードされたものを実行モジュールとして区別する。ソースプログラムでは、各ステップ位置は当該ソースプログラム先頭を起点とした相対ステップ位置で表され、ロードモジュールでは、各機械語命令位置はモジュール先頭を起点とした相対アドレスで表され、実行モジュールでは、各機械語命令位置は論理メモリ空間の先頭を起点とした絶対アドレスで表される。なお、「実行論理アドレス」、「先頭論理アドレス」等の「論理アドレス」の文字を含むアドレスは、いずれも論理メモリ空間の絶対アドレスを示し、ロードモジュール内のアドレスを示す相対アドレスとは区別される。 Also, in this specification, code written in a high-level language such as COBOL or C language is a source program, a module obtained by translating (compiling and linking) this into machine language is a load module, and this load module is monitored. Those loaded in the logical memory space of the computer 10 are distinguished as execution modules. In the source program, each step position is represented by a relative step position starting from the head of the source program. In the load module, each machine language instruction position is represented by a relative address starting from the module head. The machine language instruction position is represented by an absolute address starting from the beginning of the logical memory space. Note that addresses that contain the characters “logical address” such as “execution logical address” and “start logical address” indicate absolute addresses in the logical memory space, and are distinguished from relative addresses that indicate addresses in the load module. The
稼働状況監視装置20は、CPU21、並びにこのCPU21に接続されたHD22、RAM23及び通信アダプタ24、ディスプレイ25を備えている。HD22には、オペレーティングシステム22aと、被監視装置10のプログラム稼働状況を監視する稼働状況監視プログラム22bとがインストールされると共に、この稼働状況監視プログラムに利用されるマッピングリスト22c及びマッピングリスト22f、リンケージリスト22d、そして、稼働状況監視プログラム22bの出力を記録する稼働状況マップ用データテーブル22eが保存されている。 The operating status monitoring device 20 includes a CPU 21, an HD 22 connected to the CPU 21, a RAM 23, a communication adapter 24, and a display 25. An operating system 22a and an operation status monitoring program 22b for monitoring the program operation status of the monitored device 10 are installed in the HD 22, and a mapping list 22c and a mapping list 22f used for the operation status monitoring program are provided. An operating status map data table 22e for recording the list 22d and the output of the operating status monitoring program 22b is stored.
マッピングリスト22c及びリンケージリスト22dは、ソースプログラムの各ステップと実行モジュールの機械語命令との対応を定義した定義リストに相当する。マッピングリスト22cは、実行モジュールがマッピングされたメモリ空間内の絶対論理アドレスを定義したものであり、例えば、以下の表2に示されるように、被監視コンピュータ10により実行されている各実行モジュールの論理メモリ空間への展開先の先頭論理アドレスと終了論理アドレスとを定義している。 The mapping list 22c and the linkage list 22d correspond to a definition list that defines the correspondence between each step of the source program and the machine language instruction of the execution module. The mapping list 22c defines an absolute logical address in the memory space to which the execution module is mapped. For example, as shown in Table 2 below, each execution module executed by the monitored computer 10 has a mapping list 22c. It defines the start logical address and end logical address of the expansion destination in the logical memory space.
一方、リンケージリスト22dは、ソースプログラムの各ステップと当該ソースプログラムを機械語に翻訳して得られるロードモジュールの機械語命令の相対アドレスとの対応を定義したものであり、表2に示された各プログラム毎に定義されている。例えば、上記の表2のプログラムAAAAについて、以下の表3に示されるようなリンケージリスト22dが用意される。リストには、各ステップに相当する機械語命令の先頭相対アドレスと終了相対アドレス、先頭ステップを0とした相対ステップ位置、そして、総ステップ数が含まれている。ソースプログラムの1ステップに対しては、通常複数行の機械語命令が対応するため、以下のように先頭、終了相対アドレスを定義することにより、各ステップに相当する機械語命令の範囲を示している。 On the other hand, the linkage list 22d defines the correspondence between each step of the source program and the relative address of the machine language instruction of the load module obtained by translating the source program into the machine language. It is defined for each program. For example, a linkage list 22d as shown in Table 3 below is prepared for the program AAAA in Table 2 above. The list includes the start relative address and end relative address of the machine language instruction corresponding to each step, the relative step position where the start step is 0, and the total number of steps. Since one step of a source program usually corresponds to multiple lines of machine language instructions, the start and end relative addresses are defined as shown below to indicate the range of machine language instructions corresponding to each step. Yes.
稼働状況監視プログラム22bは、上記のマッピングリスト22c及びリンケージリスト22dを用いることにより、被監視コンピュータ10のプログラムカウンタ読み出し処理ユニット15から出力される実行論理アドレスに基づいて、実行されているのがどのソースプログラムのどのステップなのかを特定する。すなわち、実行論理アドレスに基づいてマッピングリスト22cを参照することにより、当該実行論理アドレスに割り当てられた機械語命令が含まれるプログラムを特定できる。そして、この実行論理アドレスから実行モジュールの先頭論理アドレスを引いて得られた相対アドレスに基づいてリンケージリスト22dを参照することにより、当該機械語命令に該当するステップを特定することができる。 The operating status monitoring program 22b uses the mapping list 22c and linkage list 22d described above to determine which of the operating status monitoring programs 22b is executed based on the execution logical address output from the program counter read processing unit 15 of the monitored computer 10. Identify which step in the source program. That is, by referring to the mapping list 22c based on the execution logical address, it is possible to specify a program including the machine language instruction assigned to the execution logical address. The step corresponding to the machine language instruction can be specified by referring to the linkage list 22d based on the relative address obtained by subtracting the top logical address of the execution module from the execution logical address.
稼働状況監視プログラム22bは、実行時に動的にロードモジュールがメモリ空間に配置されるプログラムの場合、メモリ空間における配置先のアドレスなどを管理するために、以下の表4に示されるような動的マッピングリスト22fが用意される。被監視コンピュータ10のプログラムカウンタ読み出し処理ユニット15から出力される実行論理アドレスに基づいて、動的マッピングリスト22fをあらかじめ更新しておき、後にプログラムカウンタ読み出し処理ユニット15から出力される実行論理アドレスに基づいて動的マッピングリスト22fを参照することにより、当該実行論理アドレスに割り当てられた機械語命令が含まれるプログラムを特定できる。そして、この実行論理アドレスから実行モジュールの配置先頭論理アドレスを引いて得られた相対アドレスに基づいてリンケージリスト22dを参照することにより、当該機械語命令に該当するステップを特定することができる。 In the case of a program in which a load module is dynamically allocated in the memory space at the time of execution, the operation status monitoring program 22b is dynamically updated as shown in Table 4 below in order to manage the address of the allocation destination in the memory space. A mapping list 22f is prepared. Based on the execution logical address output from the program counter read processing unit 15 of the monitored computer 10, the dynamic mapping list 22 f is updated in advance, and later based on the execution logical address output from the program counter read processing unit 15. By referring to the dynamic mapping list 22f, the program including the machine language instruction assigned to the execution logical address can be specified. Then, the step corresponding to the machine language instruction can be specified by referring to the linkage list 22d based on the relative address obtained by subtracting the execution module arrangement head logical address from the execution logical address.
稼働状況監視プログラム22bは、特定されたステップについて実行回数をカウントし、その結果を稼働状況マップ用データテーブル22eに保存すると共に、このテーブルのデータに基づいてディスプレイ25上に図1に示すような稼働状況マップMを表示させる。稼働状況マップ用データテーブル22eは、マッピングリスト22c及び動的マッピングリスト22fに定義されている全ての実行モジュールについて、ソースプログラムのステップ毎に実行回数を保存しており、例えば、以下の表5に示されるように、動的配置プログラムも含めて全ソースプログラムを通してユニークな通番としてつけられた絶対ステップ位置と、個々のソースプログラム毎につけられた相対ステップ位置と、ステップ毎の実行回数とを対応づけて記録している。表5では、表2のプログラムAAAAに含まれるステップが二重線で囲まれている。 The operating status monitoring program 22b counts the number of executions for the specified step, saves the result in the operating status map data table 22e, and displays the result on the display 25 as shown in FIG. The operating status map M is displayed. The operation status map data table 22e stores the number of executions for each step of the source program for all execution modules defined in the mapping list 22c and the dynamic mapping list 22f. As shown, the absolute step position assigned as a unique serial number throughout all source programs including dynamic allocation programs, the relative step position assigned to each source program, and the number of executions per step are associated with each other. Is recorded. In Table 5, the steps included in the program AAAA in Table 2 are surrounded by double lines.
稼働状況マップMは、各ステップに一対一で対応する正方形の単位図形を格子状に並べて表示すると共に、稼働状況マップ用データテーブル22eの内容に基づいて各単位図形の表示パターンを対応するステップの実行回数に応じて変化させることにより、各ステップ毎の実行頻度を視認できるようにしている。この例では、図2に示すように、実行回数に応じて各単位図形の輝度(図面では濃淡で示されている)を変化させるようにしている。なお、表示パターンの変化としては、グレースケールの輝度のみでなく、色を変化させてもよし、点滅の周波数を変化させてもよい。また、ディスプレイ25に表示させるのみでなく、図示せぬプリンタから用紙にプリントアウトしてもよい。 The operation status map M displays square unit graphics one-to-one corresponding to each step in a grid and displays the display pattern of each unit graphic based on the contents of the operation status map data table 22e. By changing according to the number of executions, the execution frequency for each step can be visually recognized. In this example, as shown in FIG. 2, the brightness of each unit graphic (shown by shading in the drawing) is changed according to the number of executions. In addition, as a change of the display pattern, not only the brightness of the gray scale but also the color may be changed or the blinking frequency may be changed. In addition to being displayed on the display 25, it may be printed out on paper from a printer (not shown).
稼働状況マップMの単位図形は、表5に示す絶対ステップ位置に対応しており、図中の上から下、左から右、に向けて絶対ステップ位置が増加するよう配置されている。すなわち、図3に示すように、左上端の単位図形が絶対ステップ位置0のステップに相当し、中央上端の単位図形が絶対ステップ位置30000のステップに相当している。利用者は、ディスプレイ25に表示された稼働状況マップMを見ることにより、ステップ単位で実行頻度を確認することができる。 The unit graphic of the operation status map M corresponds to the absolute step position shown in Table 5, and is arranged so that the absolute step position increases from top to bottom and from left to right in the figure. That is, as shown in FIG. 3, the unit graphic at the upper left corner corresponds to the step at the absolute step position 0, and the unit graphic at the upper center edge corresponds to the step at the absolute step position 30000. The user can check the execution frequency in units of steps by looking at the operation status map M displayed on the display 25.
また、利用者が稼働状況マップM上で特定のステップ、例えば実行頻度が少ないステップを指定すると、稼働状況監視プログラム22bは、図3に示すように、指定された単位図形に対応するステップを含む実行モジュールの全ステップを他の実行モジュールのステップに対して区別できるように枠Fで囲んで表示し、そのプログラム名をラベルLとしてマップ中に表示させる。これにより、利用者は、指定したステップがどのプログラムに含まれるものであるか、容易に判断でき、プログラム単位の稼働状況を把握して削除判断の基準に供することができる。なお、ステップの指定は、マウス等のポインティングデバイスを用いて画面上で指定できるようにしてもよいし、絶対ステップ位置を数値で指定してもよい。 When the user designates a specific step on the operation status map M, for example, a step with a low execution frequency, the operation status monitoring program 22b includes a step corresponding to the specified unit graphic as shown in FIG. All steps of the execution module are displayed in a frame F so that they can be distinguished from the steps of other execution modules, and the program name is displayed as a label L in the map. Thus, the user can easily determine in which program the specified step is included, and can grasp the operating status of each program unit and use it as a criterion for determination of deletion. The step may be designated on the screen using a pointing device such as a mouse, or the absolute step position may be designated by a numerical value.
続いて、図4〜図14に示すフローチャートに基づいて、実施形態の被監視コンピュータ10と稼働状況監視装置20とで実行される処理の流れについて説明する。図4、図5は、被監視コンピュータ10の処理を示し、図6〜図14は、稼働状況監視装置20上で実行される稼働状況監視プログラム22bの処理内容を示す。また、図6〜図11は、稼働状況監視装置20側で稼働状況マップを表示する処理を示し、図12及び図13は、稼働状況監視装置20側で稼働状況マップデータから実行回数が所定の規定値以下のステップを抽出する抽出してプログラムを特定する情報を出力する一覧出力機能に関する処理を示し、図14は、指定されたステップを含む実行モジュールを区別できるように表示させる識別表示機能に関する処理を示す。 Next, the flow of processing executed by the monitored computer 10 and the operation status monitoring device 20 according to the embodiment will be described based on the flowcharts shown in FIGS. 4 and 5 show the processing of the monitored computer 10, and FIGS. 6 to 14 show the processing contents of the operating status monitoring program 22b executed on the operating status monitoring device 20. FIG. 6 to 11 show processing for displaying an operation status map on the operation status monitoring device 20 side, and FIGS. 12 and 13 show a predetermined number of executions from the operation status map data on the operation status monitoring device 20 side. FIG. 14 shows a process related to a list output function that extracts information for specifying a program by extracting a step below a specified value, and FIG. 14 relates to an identification display function for displaying an execution module including a specified step so as to be distinguished. Indicates processing.
被監視コンピュータ10のプログラムカウンタ読み出し処理ユニット15は、プログラムカウンタ11aの実行論理アドレスを読み出して稼働状況監視装置20に送信する。すなわち、プログラムカウンタ読み出し処理ユニット15は、図4に示すように、プログラムカウンタ11aにアドレスの書き込みがあるのを待ち(S001)、書き込みがあった場合にはプログラムカウンタ11aの実行論理アドレスを読み込み(S002)、稼働状況監視装置20に送信する(S003)。
また、プログラムカウンタ読み出し処理ユニット15は、図5に示すように、動的配置プログラム情報テーブル12bに動的配置プログラム名及び配置先論理アドレスの書き込みがあるのを待ち(S011)、書き込みがあった場合には動的配置プログラム情報テーブル12bの動的配置プログラム名及び配置先論理アドレスを読み込み(S012)、稼働状況監視装置20に送信する(S013)。
The program counter read processing unit 15 of the monitored computer 10 reads the execution logical address of the program counter 11 a and transmits it to the operating status monitoring device 20. That is, as shown in FIG. 4, the program counter read processing unit 15 waits for an address to be written to the program counter 11a (S001), and if it has been written, reads the execution logical address of the program counter 11a ( S002), and transmits to the operation status monitoring device 20 (S003).
Further, as shown in FIG. 5, the program counter read processing unit 15 waits for the dynamic placement program name and the placement destination logical address to be written in the dynamic placement program information table 12b (S011), and there is a writing. In this case, the dynamic placement program name and the placement destination logical address in the dynamic placement program information table 12b are read (S012) and transmitted to the operation status monitoring apparatus 20 (S013).
稼働状況監視装置20の稼働状況監視プログラム22bは、図6に示すように、監視コンピュータ10から発せられた実行論理アドレスを受信するのを待ち(S101)、受信するとこれを読み込む(S102)。続いて、図9に示すステップ位置特定処理(S103)、図10に示す稼働状況マップデータ更新処理(S104)、図11に示す該当ステップ位置表示処理(S105)のサブルーチンを順に実行する。S101の処理は機械語命令の実行を検知する検知機能に該当する。また、図9の処理は、検知された機械語命令に相当するステップを特定するステップ位置特定機能、図10の処理は、特定されたステップの実行回数を加算する更新機能、図11の処理は、稼働状況マップを出力する出力機能にそれぞれ該当する。 As shown in FIG. 6, the operating status monitoring program 22b of the operating status monitoring device 20 waits to receive an execution logical address issued from the monitoring computer 10 (S101), and reads it when received (S102). Subsequently, the subroutine of the step position specifying process (S103) shown in FIG. 9, the operation status map data updating process (S104) shown in FIG. 10, and the corresponding step position display process (S105) shown in FIG. The process of S101 corresponds to a detection function that detects the execution of a machine language instruction. 9 is a step position specifying function for specifying a step corresponding to the detected machine language instruction, the process of FIG. 10 is an update function for adding the number of times of execution of the specified step, and the process of FIG. This corresponds to the output function for outputting the operation status map.
以上に加えて稼働状況監視プログラム22bは、動的配置プログラムの起動時には、図7に示すように、監視コンピュータ10から発せられた動的配置プログラム名及び配置先論理アドレスを受信するのを待ち(S111)、受信するとこれを読み込む(S112)。続いて、図8に示す動的マッピングリスト更新処理(S113)のサブルーチンを実行する。 In addition to the above, the operation status monitoring program 22b waits to receive the dynamic allocation program name and the allocation destination logical address issued from the monitoring computer 10 as shown in FIG. When it is received, it is read (S112). Subsequently, the subroutine of the dynamic mapping list update process (S113) shown in FIG. 8 is executed.
図8に示す動的マッピングリスト更新処理は、S121で読み込まれた配置先論理アドレスが動的マッピングリスト22fに記憶済か否かを、表4に示されたプログラムの先頭から配置先頭論理アドレスと終了論理アドレスとの間の範囲に含まれるか否かを判断し(S122, S123)また記憶済の場合は当該論理アドレスが別の動的配置プログラムに割当てられていたか否かを判断(S124)して、動的マッピングリスト22fに記憶される情報を更新するための処理である。当該情報を更新する場合はまず、動的配置プログラムに対応したリンケージリストにより終了相対アドレスを読み出す(S125)。読み出した終了相対アドレスを配置先論理アドレスに加算したアドレスW_addを算出し(S126)、動的マッピングリスト22fに動的配置プログラム名および配置先論理アドレス、アドレスW_addをセットする(S127)。同一プログラムが複数アドレスに配置されることもあるため、配置先頭論理アドレスが異なれば作用するという以上の方式であれば漏れなく情報を追加出来る。 The dynamic mapping list update process shown in FIG. 8 determines whether or not the placement destination logical address read in S121 is already stored in the dynamic mapping list 22f from the head of the program shown in Table 4 to the placement head logical address. Determine whether it is included in the range between the end logical address (S122, S123), and if stored, determine whether the logical address has been assigned to another dynamic allocation program (S124) Thus, the information stored in the dynamic mapping list 22f is updated. When updating the information, first, the end relative address is read from the linkage list corresponding to the dynamic allocation program (S125). An address W_add obtained by adding the read end relative address to the placement destination logical address is calculated (S126), and the dynamic placement program name, placement destination logical address, and address W_add are set in the dynamic mapping list 22f (S127). Since the same program may be arranged at a plurality of addresses, information can be added without omission if it is the above-described system that works if the arrangement start logical address is different.
図9に示すステップ位置特定処理は、S102で読み込まれた実行論理アドレスに相当するソースプログラム上のステップを特定するための処理である。まず、計算に使う変数「検索済プログラムステップ数総和S」を0にリセットし(S201)、読み出した実行論理アドレスX_addを用いてマッピングリスト22cを検索する(S202)。ここでは、表2に示されたプログラムの先頭から、実行論理アドレスX_addが当該プログラムの先頭論理アドレスと終了論理アドレスとの間の範囲に含まれるか否かを判断し(S203)、含まれない場合には検索済プログラムステップ数総和Sに当該プログラムの総ステップ数を加算し(S204)、マッピングリスト22cにあるすべてのプログラムを検索(S210)し、範囲に当てはまるプログラムが見つかるまでS202〜S204の処理を繰り返す。 The step position specifying process shown in FIG. 9 is a process for specifying a step on the source program corresponding to the execution logical address read in S102. First, the variable “total number of searched program steps S” used for calculation is reset to 0 (S201), and the mapping list 22c is searched using the read execution logical address X_add (S202). Here, it is determined whether or not the execution logical address X_add is included in the range between the start logical address and the end logical address of the program from the top of the program shown in Table 2 (S203). In this case, the total number of steps of the program is added to the total number S of searched program steps (S204), all the programs in the mapping list 22c are searched (S210), and the processes of S202 to S204 are performed until a program matching the range is found. Repeat the process.
実行論理アドレスが該当するプログラムが見つかると、稼働状況監視プログラム22bは、表2に示すマッピングリスト22cからプログラム名を抽出し(S205)、この実行論理アドレスが当該プログラムのどのステップに該当するかを判断するため、実行論理アドレスX_addからこのプログラム(実行モジュール)の先頭論理アドレスを減算し、相対アドレスY_addを求める(S206)。このとき図10の処理で動的配置ではない固定配置のプログラムの処理をするために動的配置プログラム表示をOFFに設定する(S216)。そして、求められた相対アドレスY_addを用いてリンケージリスト22dをステップ順に検索し(S207)、この相対アドレスY_addがリンケージリスト22dの先頭相対アドレスと終了相対アドレスとの間の範囲内となるか否か判断する(S208)。S208の条件を満たすまでS207,S208の処理を繰り返し、相対ステップ位置が範囲内となるステップが見つかると、リンケージリスト22dからそのステップの相対ステップ位置を抽出し(S209)、図5の処理に戻る。 When a program corresponding to the execution logical address is found, the operation status monitoring program 22b extracts the program name from the mapping list 22c shown in Table 2 (S205), and to which step of the program the execution logical address corresponds. In order to determine, the head logical address of this program (execution module) is subtracted from the execution logical address X_add to obtain a relative address Y_add (S206). At this time, the dynamic arrangement program display is set to OFF in order to process a fixed arrangement program that is not dynamic arrangement in the process of FIG. 10 (S216). Then, the linkage list 22d is searched in the order of steps using the obtained relative address Y_add (S207), and whether or not the relative address Y_add falls within the range between the start relative address and the end relative address of the linkage list 22d. Judgment is made (S208). The processes of S207 and S208 are repeated until the condition of S208 is satisfied. When a step having a relative step position within the range is found, the relative step position of that step is extracted from the linkage list 22d (S209), and the process returns to the process of FIG. .
S210の条件でマッピングリスト22cに当該プログラムがない場合、動的配置プログラムとして読み出した実行論理アドレスX_addを用いて動的マッピングリスト22fを検索する(S211)。ここでは、表4に示されたプログラムの先頭から、実行論理アドレスX_addが当該プログラムの配置先頭論理アドレスと配置終了論理アドレスとの間の範囲に含まれるか否かを判断し(S212)、S212の条件を満たすまでS211,S212の処理を繰り返し、実行論理アドレスX_addが範囲内となるプログラムが見つかると、動的マッピングリスト22fからそのプログラム名を抽出し(S213)、実行論理アドレスX_addからこのプログラム(実行モジュール)の配置先頭論理アドレスを減算し、相対アドレスY_addを求める(S214)。このとき図10の処理で動的配置プログラムの処理をするために動的配置プログラム表示をONに設定し(S215)、S207から処理を行う。 If there is no program in the mapping list 22c under the condition of S210, the dynamic mapping list 22f is searched using the execution logical address X_add read as the dynamic allocation program (S211). Here, it is determined whether or not the execution logical address X_add is included in the range between the placement start logical address and the placement end logical address of the program from the head of the program shown in Table 4 (S212). The processes of S211, S212 are repeated until the condition is satisfied, and when a program whose execution logical address X_add is within the range is found, the program name is extracted from the dynamic mapping list 22f (S213), and this program is executed from the execution logical address X_add. The placement start logical address of (execution module) is subtracted to obtain the relative address Y_add (S214). At this time, in order to process the dynamic placement program in the processing of FIG. 10, the dynamic placement program display is set to ON (S215), and the processing is performed from S207.
図10に示す稼働状況マップデータ更新処理は、ステップ位置特定処理により特定されたステップについて、表5に示される稼働状況マップ用データテーブル22eの実行回数を更新するための処理である。S215 またはS216でONまたはOFFにセットされた動的配置プログラム表示を判定(S305)し、OFF(Yes)の場合はステップ位置特定処理により特定された相対ステップ位置を絶対ステップ位置に変換するため、検索済ステップ数総和Sを読み出し(S301)、相対ステップ位置を読み出す(S302)。S305の条件判定でON(No)であった場合、稼働状況マップ用データテーブル22eからこの動的配置プログラムとプログラム名が一致する絶対ステップ位置の先頭位置を求めて検索済ステップ数総和Sに設定する(S306)。総和Sは、実行されたステップが含まれるソースプログラムの先頭の絶対ステップ位置を示すため、これに相対ステップ位置を加算することにより、当該ステップの絶対ステップ位置が特定される(S303)。そして、特定されたステップの実行回数に1を加える(S304)。これにより、稼働状況マップ用データテーブルが更新される。 The operating status map data update process shown in FIG. 10 is a process for updating the number of executions of the operating status map data table 22e shown in Table 5 for the step specified by the step position specifying process. The dynamic placement program display set to ON or OFF in S215 or S216 is determined (S305), and in the case of OFF (Yes), the relative step position specified by the step position specifying process is converted to an absolute step position. The total number of searched steps S is read (S301), and the relative step position is read (S302). If it is ON (No) in the condition determination of S305, the head position of the absolute step position where the program name matches the dynamic placement program is obtained from the operation status map data table 22e and set to the total number S of searched steps. (S306). Since the sum S indicates the absolute step position at the beginning of the source program including the executed step, the absolute step position of the step is specified by adding the relative step position to this (S303). Then, 1 is added to the number of executions of the identified step (S304). Thereby, the operation status map data table is updated.
続いて、図11に示す該当ステップ位置表示処理では、検索済ステップ数総和Sに相対ステップ位置を加算して絶対ステップ位置を求め(S401)、稼働状況マップ用データから当該ステップのアクセス回数Xを読み出し(S402)、図2に示す輝度チャートに基づいて実行回数Xに該当する輝度を決定し(S403)、稼働状況マップMの該当ステップの単位図形を決定された輝度に設定する(S404)。 Subsequently, in the corresponding step position display processing shown in FIG. 11, the absolute step position is obtained by adding the relative step position to the total number S of searched steps (S401), and the access count X of the step is obtained from the operation status map data. Reading (S402), the luminance corresponding to the execution number X is determined based on the luminance chart shown in FIG. 2 (S403), and the unit graphic of the corresponding step of the operation status map M is set to the determined luminance (S404).
以上の図5〜図11の処理を繰り返すことにより、プログラムのステップが実行される毎に、稼働状況マップ用データテーブル22e内の実行回数が更新されると共に、ディスプレイ25に表示された稼働状況マップMの単位図形の輝度が変化する。利用者は、予め定めた一定時間上記の処理を実行させることにより、被監視コンピュータ10にインストールされたプログラムの稼働状況をステップ単位で把握することができる。 By repeating the processes shown in FIGS. 5 to 11, the number of executions in the operation status map data table 22e is updated each time a program step is executed, and the operation status map displayed on the display 25 is displayed. The brightness of the unit graphic of M changes. The user can grasp the operation status of the program installed in the monitored computer 10 in units of steps by executing the above processing for a predetermined time.
次に、ディスプレイ25に表示された稼働状況マップMを利用して実行回数が所定の回数以下のステップを抽出する処理について、図12及び図13に基づいて説明する。まず、利用者が抽出の閾値となる実行回数Yを設定する(S501)。稼働状況監視プログラム20bは、この実行回数Yに基づいて稼働状況マップ用データテーブル22eを1ステップずつ配置順に検索する(S502)。 Next, a process for extracting a step whose number of executions is equal to or less than a predetermined number using the operation status map M displayed on the display 25 will be described with reference to FIGS. First, the user sets the number of executions Y that is the extraction threshold (S501). The operating status monitoring program 20b searches the operating status map data table 22e step by step in the arrangement order based on the number of executions Y (S502).
すなわち、対象となるステップの実行回数を稼働状況マップ用データテーブル22eから読み出し、これが閾値Y以下であるか否かを判断する(S503)。閾値以下である場合には、稼働状況マップ用データテーブル22eから絶対ステップ位置を抽出し(S504)、図13に示すプログラム名特定処理を実行する(S505)。この処理については後述する。プログラム名が特定されると、このプログラム名と該当ステップの実行回数とを保持し(S506)、稼働状況マップ用データテーブル22eから該当ステップの相対ステップ位置を抽出して保持する(S507)。実行回数が閾値Yより大きい場合(S503, No)には、S504〜S507のステップ特定のための処理はスキップされる。これらS502〜S507の処理が、稼働状況マップ用データテーブル22eに登録された全てのステップについて実行され、実行回数が閾値Y以下であるステップが全て抽出される。 That is, the number of executions of the target step is read from the operation status map data table 22e, and it is determined whether or not this is less than or equal to the threshold value Y (S503). If it is equal to or smaller than the threshold value, the absolute step position is extracted from the operation status map data table 22e (S504), and the program name specifying process shown in FIG. 13 is executed (S505). This process will be described later. When the program name is specified, the program name and the number of execution times of the corresponding step are held (S506), and the relative step position of the corresponding step is extracted from the operation status map data table 22e and held (S507). When the number of executions is larger than the threshold Y (S503, No), the processing for specifying the steps in S504 to S507 is skipped. The processes of S502 to S507 are executed for all the steps registered in the operation status map data table 22e, and all the steps whose number of executions is equal to or less than the threshold Y are extracted.
稼働状況マップ用データテーブル22eに登録された全てのステップについて実行回数のチェックが終了すると(S508, Yes)、保持されたプログラム名、相対ステップ位置、実行回数を全て読み出す(S509, S510, S511)。そして、読み出したプログラム名、相対ステップ位置、実行回数の一覧を出力する(S512)。一覧はディスプレイ25上に表示してもよいし、用紙にプリントアウトしてもよい。利用者は、この一覧を参考にして実行回数が少ないステップについてこのステップを含むロジックを見直したり、あるいは、実行回数が0のステップを削除するなど、一覧を個々のソースプログラム内部の冗長部分を解消するための資料として利用することができる。 When the execution count check is completed for all the steps registered in the operation status map data table 22e (S508, Yes), the stored program name, relative step position, and execution count are all read (S509, S510, S511). . Then, a list of the read program name, relative step position, and number of executions is output (S512). The list may be displayed on the display 25 or printed out on paper. The user can eliminate the redundant part in the individual source program by reviewing the logic including this step for the step with few execution times referring to this list, or deleting the step with zero execution number. It can be used as a document to do.
S505で実行されるプログラム名特定処理では、図13に示されるように、S504で抽出された絶対ステップ位置が、いずれのプログラムに含まれるステップであるかを特定する処理である。まず、検索済プログラムステップ数総和Sを0にリセットし(S601)、絶対ステップ位置を読み出す(S602)。次に、マッピングリスト22cを配置順に検索し、リンケージリスト22dから各プログラムの総ステップ数を1プログラム分ずつ順に抽出する(S603)。 In the program name specifying process executed in S505, as shown in FIG. 13, it is a process for specifying in which program the absolute step position extracted in S504 is a step. First, the searched program step total number S is reset to 0 (S601), and the absolute step position is read (S602). Next, the mapping list 22c is searched in the arrangement order, and the total number of steps of each program is sequentially extracted from the linkage list 22d by one program (S603).
そして、抽出された1つのプログラムの総ステップ数を検索済プログラムステップ数総和Sに加算し(S604)、絶対ステップ位置がこの総和Sより小さいか否かを判断する(S605)。絶対ステップ位置は、このステップが含まれるプログラムより前に配置されたプログラムのステップ数の総和より大きく、このステップが含まれるプログラムの総ステップ数を更に加えたステップ数より小さくなる。このため、上記のようにプログラム単位で総ステップ数を加算しながら絶対ステップ位置が総和Sより小さくなったか否かを判断すれば、小さくなった時点で、最後に加算されたプログラムに当該絶対ステップ位置で示されるステップが含まれることが判明する。そこで、このプログラムのプログラム名をマッピングリスト22cから抽出し(S606)、図12の処理に戻る。 Then, the total number of steps of one extracted program is added to the searched program step number sum S (S604), and it is determined whether or not the absolute step position is smaller than the sum S (S605). The absolute step position is larger than the total number of steps of the program arranged before the program including this step, and smaller than the total number of steps of the program including this step. Therefore, if it is determined whether or not the absolute step position is smaller than the total sum S while adding the total number of steps in units of programs as described above, the absolute step is added to the last added program when it becomes smaller. It turns out that the step indicated by the position is included. Therefore, the program name of this program is extracted from the mapping list 22c (S606), and the processing returns to FIG.
次に、図14に示すプログラム位置表示処理について説明する。この処理は、図5に示した監視側表示処理を実行してディスプレイ25上に稼働状況マップMが表示された状態で、特定のステップに相当する単位図形を指定することにより、このステップを含むプログラムのマップ上での範囲と、プログラム名とを表示するための処理である。 Next, the program position display process shown in FIG. 14 will be described. This process includes this step by executing the monitoring side display process shown in FIG. 5 and specifying a unit graphic corresponding to a specific step in a state where the operation status map M is displayed on the display 25. This is a process for displaying the range of the program on the map and the program name.
絶対ステップ位置に基づいてプログラム名を特定するS701〜S707の処理は、図13に示すプログラム名特定処理と同一である。ただし、図14の処理では、当該プログラムの先頭を示す絶対ステップ位置を特定するため、当該プログラムの総ステップ数を加算する前の検索済プログラムステップ数総和Sの値をワークWに保存するS704の処理が加えられている。 The processing of S701 to S707 for specifying the program name based on the absolute step position is the same as the program name specifying processing shown in FIG. However, in the process of FIG. 14, in order to specify the absolute step position indicating the head of the program, the value of the searched program step total S before adding the total number of steps of the program is stored in the work W. Processing has been added.
S707でプログラム名が抽出されると、先のワークWに保存した絶対アドレス位置を当該プログラムの先頭の絶対アドレス位置とし、当該プログラムの総ステップ数を加えた総和Sで表される絶対アドレス位置を当該プログラムの最終の絶対アドレス位置として設定する(S708)。そして、稼働状況マップM上で先頭の絶対アドレス位置に相当する単位図形から、最終の絶対アドレス位置に相当する単位図形までを図3に示すような枠Fで囲い(S709)、プログラム名をラベルLとして枠に付記する(710)。これにより、利用者は、絶対ステップ位置で表されるステップを含むプログラムの範囲とプログラム名とをディスプレイ25上に表示された稼働状況マップMにより確認することができ、プログラム単位の稼働状況を把握して削除判断の基準に供することができる。 When the program name is extracted in S707, the absolute address position saved in the previous work W is taken as the absolute address position at the beginning of the program, and the absolute address position represented by the sum S including the total number of steps of the program is The final absolute address position of the program is set (S708). Then, the unit graphic corresponding to the first absolute address position on the operation status map M to the unit graphic corresponding to the final absolute address position is enclosed in a frame F as shown in FIG. 3 (S709), and the program name is labeled. L is added to the frame (710). As a result, the user can confirm the program range including the step represented by the absolute step position and the program name by the operation status map M displayed on the display 25, and grasp the operation status of each program. Thus, it can be used as a criterion for deletion determination.
(付記1)
コンピュータにより実行されるプログラムの稼働状況を監視するための稼働状況監視プログラムであって、
コンピュータに、
ソースプログラムを機械語に翻訳してメモリ空間にマッピングした実行モジュールに含まれる機械語命令の実行を検知する検知機能と、
ソースプログラムの各ステップと前記実行モジュールの機械語命令との対応情報を記憶した定義リストを参照し、検知された機械語命令に相当するステップを特定するステップ位置特定機能と、
ソースプログラムの各ステップとステップ単位の実行回数との対応情報を記憶する稼働状況マップ用データテーブルの、前記ステップ位置特定機能により特定されたステップの実行回数を加算し、該稼働状況マップ用データテーブルを更新する更新機能と、
各ステップに一対一で対応する単位図形を並べて表示すると共に、前記稼働状況マップ用データテーブルに記憶された内容に基づいて各単位図形の表示パターンを、対応するステップの実行回数に応じて変化させることにより、各ステップ毎の実行頻度を視認できるようにした稼働状況マップを出力する出力機能と、
を実現させることを特徴とする稼働状況監視プログラム。(1)
(Appendix 1)
An operating status monitoring program for monitoring the operating status of a program executed by a computer,
On the computer,
A detection function for detecting execution of machine language instructions included in an execution module obtained by translating a source program into a machine language and mapping it into a memory space;
A step position specifying function for specifying a step corresponding to the detected machine language instruction with reference to a definition list storing correspondence information between each step of the source program and the machine language instruction of the execution module;
The operation status map data table storing the correspondence information between each step of the source program and the number of executions in units of steps is added with the number of executions of the step specified by the step position specifying function, and the operation status map data table Update function to update
Unit graphics corresponding to each step are displayed side by side, and the display pattern of each unit graphic is changed according to the number of executions of the corresponding step based on the contents stored in the operation status map data table. Output function to output an operation status map that enables visual recognition of the execution frequency for each step,
An operational status monitoring program characterized by realizing the above. (1)
(付記2)
前記ステップ位置特定機能は、実行された機械語命令の絶対アドレスに基づいて前記定義リストに含まれる、前記実行モジュールがマッピングされた前記メモリ空間内の絶対アドレスを定義したマッピングリストおよび動的マッピングリストを参照し、当該機械語命令が含まれるプログラムを特定し、当該絶対アドレスから実行モジュールの先頭の絶対アドレスを引いて得られた相対アドレスに基づいて、前記定義リストに含まれる、ソースプログラムの各ステップと当該ソースプログラムを機械語に翻訳して得られるロードモジュールの機械語命令の相対アドレスとの対応を定義したリンケージリストを参照し、当該機械語命令に該当するステップを特定する
ことを特徴とする付記1に記載の稼働状況監視プログラム。(2)
(Appendix 2)
The step position specifying function includes a mapping list and a dynamic mapping list that define an absolute address in the memory space to which the execution module is mapped, which is included in the definition list based on an absolute address of an executed machine language instruction. Each of the source programs included in the definition list based on the relative address obtained by subtracting the absolute address of the execution module from the absolute address. A step that corresponds to the machine language instruction is identified by referring to a linkage list that defines the correspondence between the step and the relative address of the machine language instruction of the load module obtained by translating the source program into machine language. The operating status monitoring program according to appendix 1. (2)
(付記3)
前記検知機能は、前記実行モジュールが前記メモリ空間内の固定した絶対アドレスにマッピングされないような動的配置プログラムである時には、オペレーティングシステムが設定する、プログラム名と動的配置アドレスの対応情報に基づき、該実行モジュールに含まれる機械語命令の実行を検知する
ことを特徴とする付記1に記載の稼働状況監視プログラム。(3)
(Appendix 3)
When the detection function is a dynamic allocation program in which the execution module is not mapped to a fixed absolute address in the memory space, based on correspondence information between the program name and the dynamic allocation address set by the operating system, The operating status monitoring program according to appendix 1, wherein execution of a machine language instruction included in the execution module is detected. (3)
(付記4)
コンピュータに、
前記稼働状況マップデータから実行回数が所定の規定値以下のステップを抽出する抽出機能と、
抽出されたステップを特定する情報、及び当該ステップを含むプログラムを特定する情報とを一覧にして出力する一覧出力機能と、
を更に実現させることを特徴とする付記1から3のいずれかに記載の稼働状況監視プログラム。(4)
(Appendix 4)
On the computer,
An extraction function for extracting a step whose number of executions is equal to or less than a predetermined specified value from the operation status map data;
A list output function for outputting a list of information for specifying the extracted steps and information for specifying a program including the steps;
The operating status monitoring program according to any one of appendices 1 to 3, further realizing the above. (4)
(付記5)
前記出力機能は、コンピュータに接続されたディスプレイ上に前記稼働状況マップを表示させ、前記単位図形の輝度又は色を実行回数に合わせて変化させる
ことを特徴とする付記1または2に記載の稼働状況監視プログラム。
(Appendix 5)
The operating status according to appendix 1 or 2, wherein the output function displays the operating status map on a display connected to a computer, and changes the brightness or color of the unit graphic according to the number of executions. Monitoring program.
(付記6)
コンピュータに、
任意のステップが指定された際に、当該ステップを含むプログラムの全ステップに対応する単位図形を他の実行モジュールのステップに対応する単位図形に対して区別できるように表示させる識別表示機能
を更に実現させることを特徴とする付記5に記載の稼働状況監視プログラム。
(Appendix 6)
On the computer,
When an arbitrary step is specified, an identification display function that displays unit graphics corresponding to all steps of the program including that step so that it can be distinguished from unit graphics corresponding to the steps of other execution modules is further realized. The operating status monitoring program according to appendix 5, characterized in that:
(付記7)
コンピュータにより実行されるプログラムの稼働状況を監視するための稼働状況監視装置であって、
ソースプログラムを機械語に翻訳してメモリ空間にマッピングした実行モジュールに含まれる機械語命令の実行を検知する検知手段と、
ソースプログラムの各ステップと前記実行モジュールの機械語命令との対応情報を記憶した定義リストを参照し、検知された機械語命令に相当するステップを特定するステップ位置特定手段と、
ソースプログラムの各ステップとステップ単位の実行回数との対応情報を記憶する稼働状況マップ用データテーブルの、前記ステップ位置特定機能により特定されたステップの実行回数を加算し、該稼働状況マップ用データテーブルを更新する更新手段と、
各ステップに一対一で対応する単位図形を並べて表示すると共に、前記稼働状況マップ用データテーブルに記憶された内容に基づいて各単位図形の表示パターンを対応するステップの実行回数に応じて変化させることにより、各ステップ毎の実行頻度を視認できるようにした稼働状況マップを出力する出力手段と、
を実現させることを特徴とする稼働状況監視プログラム。(5)
(Appendix 7)
An operating status monitoring device for monitoring the operating status of a program executed by a computer,
Detecting means for detecting execution of a machine language instruction included in an execution module obtained by translating a source program into a machine language and mapping it into a memory space;
A step position specifying means for specifying a step corresponding to the detected machine language instruction with reference to a definition list storing correspondence information between each step of the source program and the machine language instruction of the execution module;
The operation status map data table storing the correspondence information between each step of the source program and the number of executions in units of steps is added with the number of executions of the step specified by the step position specifying function, and the operation status map data table Updating means for updating
Unit graphics corresponding to each step are displayed side by side, and the display pattern of each unit graphic is changed according to the number of executions of the corresponding step based on the contents stored in the operation status map data table. An output means for outputting an operation status map that enables visual recognition of the execution frequency for each step;
An operational status monitoring program characterized by realizing the above. (5)
(付記8)
前記ステップ位置特定手段は、実行された機械語命令の絶対アドレスに基づいて前記定義リストに含まれる、前記実行モジュールがマッピングされた前記メモリ空間内の絶対アドレスを定義したマッピングリストおよび動的マッピングリストを参照し、当該機械語命令が含まれるプログラムを特定し、当該絶対アドレスから実行モジュールの先頭の絶対アドレスを引いて得られた相対アドレスに基づいて、前記定義リストに含まれる、ソースプログラムの各ステップと当該ソースプログラムを機械語に翻訳して得られるロードモジュールの機械語命令の相対アドレスとの対応を定義したリンケージリストを参照し、当該機械語命令に該当するステップを特定する
ことを特徴とする付記7に記載の稼働状況監視装置。
(Appendix 8)
The step position specifying means includes a mapping list and a dynamic mapping list defining absolute addresses in the memory space to which the execution module is mapped, which are included in the definition list based on an absolute address of an executed machine language instruction Each of the source programs included in the definition list based on the relative address obtained by subtracting the absolute address of the execution module from the absolute address. A step that corresponds to the machine language instruction is identified by referring to a linkage list that defines the correspondence between the step and the relative address of the machine language instruction of the load module obtained by translating the source program into machine language. The operating status monitoring device according to appendix 7.
(付記9)
前記検知手段は、前記実行モジュールが前記メモリ空間内の固定した絶対アドレスにマッピングされないような動的配置プログラムである時には、オペレーティングシステムが設定する、プログラム名と動的配置アドレスの対応情報に基づき、該実行モジュールに含まれる機械語命令の実行を検知する
ことを特徴とする付記7に記載の稼働状況監視装置。
(Appendix 9)
When the detection module is a dynamic allocation program in which the execution module is not mapped to a fixed absolute address in the memory space, based on correspondence information between the program name and the dynamic allocation address set by the operating system, The operation status monitoring apparatus according to appendix 7, wherein execution of a machine language instruction included in the execution module is detected.
(付記10)
前記稼働状況マップデータから実行回数が所定の規定値以下のステップを抽出する抽出手段と、
抽出されたステップを特定する情報、及び当該ステップを含むプログラムを特定する情報とを一覧にして出力する一覧出力手段と、
を更に備えることを特徴とする付記7から9のいずれかに記載の稼働状況監視装置。
(Appendix 10)
Extraction means for extracting a step whose number of executions is equal to or less than a predetermined specified value from the operation status map data;
A list output means for outputting a list of information for specifying the extracted steps and information for specifying a program including the steps;
The operation status monitoring device according to any one of appendices 7 to 9, further comprising:
(付記11)
前記出力手段は、コンピュータに接続されたディスプレイ上に前記稼働状況マップを表示させ、前記単位図形の輝度又は色を実行回数に合わせて変化させる
ことを特徴とする付記7または8に記載の稼働状況監視装置。
(Appendix 11)
The operating status according to appendix 7 or 8, wherein the output means displays the operating status map on a display connected to a computer, and changes the brightness or color of the unit graphic according to the number of executions. Monitoring device.
(付記12)
任意のステップが指定された際に、当該ステップを含むプログラムの全ステップに対応する単位図形を他の実行モジュールのステップに対応する単位図形に対して区別できるように表示させる識別表示手段
を更に備えることを特徴とする付記11に記載の稼働状況監視装置。
(Appendix 12)
When an arbitrary step is designated, an identification display means is further provided for displaying the unit graphic corresponding to all the steps of the program including the step so as to be distinguishable from the unit graphic corresponding to the step of the other execution module. The operating status monitoring device according to appendix 11, characterized in that.
(付記13)
コンピュータにより実行されるプログラムの稼働状況を監視するための稼働状況監視装置が、
ソースプログラムを機械語に翻訳してメモリ空間にマッピングした実行モジュールに含まれる機械語命令の実行を検知する検知ステップと、
ソースプログラムの各ステップと前記実行モジュールの機械語命令との対応情報を記憶した定義リストを参照し、検知された機械語命令に相当するステップを特定するステップ位置特定ステップと、
ソースプログラムの各ステップとステップ単位の実行回数との対応情報を記憶する稼働状況マップ用データテーブルの、前記ステップ位置特定機能により特定されたステップの実行回数を加算し、該稼働状況マップ用データテーブルを更新する更新ステップと、
各ステップに一対一で対応する単位図形を並べて表示すると共に、前記稼働状況マップ用データテーブルに記憶された内容に基づいて各単位図形の表示パターンを対応するステップの実行回数に応じて変化させることにより、各ステップ毎の実行頻度を視認できるようにした稼働状況マップを出力する出力ステップと、
を実行することを特徴とする稼働状況監視方法。
(Appendix 13)
An operating status monitoring device for monitoring the operating status of a program executed by a computer is provided.
A detection step for detecting execution of a machine language instruction included in an execution module obtained by translating a source program into a machine language and mapping it into a memory space;
A step position specifying step for specifying a step corresponding to the detected machine language instruction with reference to a definition list storing correspondence information between each step of the source program and the machine language instruction of the execution module;
The operation status map data table storing the correspondence information between each step of the source program and the number of executions in units of steps is added with the number of executions of the step specified by the step position specifying function, and the operation status map data table An update step to update
Unit graphics corresponding to each step are displayed side by side, and the display pattern of each unit graphic is changed according to the number of executions of the corresponding step based on the contents stored in the operation status map data table. An output step for outputting an operation status map so that the execution frequency for each step can be visually recognized;
An operation status monitoring method characterized by executing
(付記14)
前記ステップ位置特定ステップは、実行された機械語命令の絶対アドレスに基づいて前記定義リストに含まれる、前記実行モジュールがマッピングされた前記メモリ空間内の絶対アドレスを定義したマッピングリストおよび動的マッピングリストを参照し、当該機械語命令が含まれるプログラムを特定し、当該絶対アドレスから実行モジュールの先頭の絶対アドレスを引いて得られた相対アドレスに基づいて、前記定義リストに含まれる、ソースプログラムの各ステップと当該ソースプログラムを機械語に翻訳して得られるロードモジュールの機械語命令の相対アドレスとの対応を定義したリンケージリストを参照し、当該機械語命令に該当するステップを特定する
ことを特徴とする付記13に記載の稼働状況監視方法。
(Appendix 14)
The step locating step includes a mapping list and a dynamic mapping list defining an absolute address in the memory space to which the execution module is mapped, which is included in the definition list based on an absolute address of an executed machine language instruction Each of the source programs included in the definition list based on the relative address obtained by subtracting the absolute address of the execution module from the absolute address. A step that corresponds to the machine language instruction is identified by referring to a linkage list that defines the correspondence between the step and the relative address of the machine language instruction of the load module obtained by translating the source program into machine language. The operation status monitoring method according to appendix 13.
(付記15)
前記検知ステップは、前記実行モジュールが前記メモリ空間内の固定した絶対アドレスにマッピングされないような動的配置プログラムである時には、オペレーティングシステムが設定する、プログラム名と動的配置アドレスの対応情報に基づき、該実行モジュールに含まれる機械語命令の実行を検知する
ことを特徴とする付記13に記載の稼働状況監視方法。
(Appendix 15)
The detection step is based on correspondence information between a program name and a dynamic allocation address set by an operating system when the execution module is a dynamic allocation program that does not map to a fixed absolute address in the memory space. 14. The operation status monitoring method according to appendix 13, wherein execution of a machine language instruction included in the execution module is detected.
(付記16)
前記稼働状況マップデータから実行回数が所定の規定値以下のステップを抽出する抽出ステップと、
抽出されたステップを特定する情報、及び当該ステップを含むプログラムを特定する情報とを一覧にして出力する一覧出力ステップと、
を更に実行することを特徴とする付記13から15のいずれかに記載の稼働状況監視方法。
(Appendix 16)
An extraction step for extracting a step in which the number of executions is a predetermined specified value or less from the operating status map data;
A list output step for outputting a list of information for specifying the extracted steps and information for specifying a program including the steps;
The operation status monitoring method according to any one of appendices 13 to 15, further comprising:
(付記17)
前記出力ステップは、コンピュータに接続されたディスプレイ上に前記稼働状況マップを表示させ、前記単位図形の輝度又は色を実行回数に合わせて変化させる
ことを特徴とする付記13または14に記載の稼働状況監視方法。
(Appendix 17)
15. The operation status according to appendix 13 or 14, wherein the output step displays the operation status map on a display connected to a computer, and changes the luminance or color of the unit graphic in accordance with the number of executions. Monitoring method.
(付記18)
任意のステップが指定された際に、当該ステップを含むプログラムの全ステップに対応する単位図形を他の実行モジュールのステップに対応する単位図形に対して区別できるように表示させる識別表示ステップ
を更に実行することを特徴とする付記17に記載の稼働状況監視方法。
(Appendix 18)
When an arbitrary step is specified, an identification display step is further executed to display unit graphics corresponding to all the steps of the program including the step so as to be distinguishable from unit graphics corresponding to the steps of other execution modules. The operation status monitoring method according to appendix 17, wherein:
10 被監視コンピュータ
11 CPU
11a プログラムカウンタ
12 HD
12a オペレーティングシステム
12b 動的配置プログラム情報テーブル
12c アプリケーションプログラム
13 ram
14 通信アダプタ
15 プログラムカウンタ読み出し処理ユニット
20 稼働状況監視装置
21 CPU
22 HD
22a オペレーティングシステム
22b 稼働状況監視プログラム
22c マッピングリスト
22d リンケージリスト
22e 稼働状況マップ用データテーブル
22f 動的マッピングリスト
23 RAM
24 通信アダプタ
25 ディスプレイ
10 monitored computer 11 CPU
11a Program counter 12 HD
12a Operating system 12b Dynamic allocation program information table 12c Application program 13 ram
14 Communication adapter 15 Program counter read processing unit 20 Operation status monitoring device 21 CPU
22 HD
22a Operating system 22b Operating status monitoring program 22c Mapping list 22d Linkage list 22e Operating status map data table 22f Dynamic mapping list 23 RAM
24 Communication adapter 25 Display
Claims (3)
コンピュータに、
ソースプログラムを機械語に翻訳してメモリ空間にマッピングした実行モジュールに含まれる機械語命令の実行を検知する検知機能であって、前記実行モジュールが前記メモリ空間内の固定した絶対アドレスにマッピングされるプログラムであるときの当該実行モジュールに含まれる機械語命令の実行を検知する一方で、前記実行モジュールが前記メモリ空間内の固定した絶対アドレスにマッピングされないような動的配置プログラムである時には、オペレーティングシステムが設定する、動的配置プログラム名と動的配置アドレスの対応情報に基づき、前記動的配置プログラムである実行モジュールに含まれる機械語命令の実行を検知する検知機能と、
前記実行モジュールが前記動的配置プログラムである時に受信される動的配置プログラム名及び動的配置アドレスに基づいて、動的配置プログラム名と前記動的配置プログラムである実行モジュールがマッピングされた前記メモリ空間内の絶対アドレスとの対応を定義した動的マッピングリストを更新する動的マッピングリスト更新処理機能と、
前記検知機能により検知された機械語命令の絶対アドレスに基づいて、前記プログラムの実行モジュールがマッピングされた前記メモリ空間内の絶対アドレスを定義したマッピングリストおよび前記動的マッピングリストを参照し、前記機械語命令が含まれる前記プログラム及び前記動的配置プログラムの一方を特定し、前記検知された機械語命令の絶対アドレスから前記実行モジュールの先頭の絶対アドレスを引いて得られた相対アドレスに基づいて、ソースプログラムの各ステップと前記ソースプログラムを機械語に翻訳して得られるロードモジュールの機械語命令の相対アドレスとの対応を定義したリンケージリストを参照し、前記機械語命令に該当するステップを特定するステップ位置特定機能と、
ソースプログラムの各ステップとステップ単位の実行回数との対応を定義した稼働状況マップ用データテーブルの、前記ステップ位置特定機能により特定されたステップの実行回数を加算し、前記稼働状況マップ用データテーブルを更新する更新機能と、
各ステップに一対一で対応する単位図形を並べて表示すると共に、前記稼働状況マップ用データテーブルに記憶された内容に基づいて各単位図形の表示パターンを対応するステップの実行回数に応じて変化させることにより、ステップ毎の実行頻度を視認できるよう
にした稼働状況マップを出力する出力機能と、
を実現させることを特徴とする稼働状況監視プログラム。 An operating status monitoring program for monitoring the operating status of a program executed by a computer,
On the computer,
A detection function for detecting execution of a machine language instruction included in an execution module obtained by translating a source program into a machine language and mapping it into a memory space, wherein the execution module is mapped to a fixed absolute address in the memory space An operating system that detects the execution of a machine language instruction included in the execution module when the program is a program, while the execution module is a dynamic allocation program that does not map to a fixed absolute address in the memory space. A detection function for detecting execution of a machine language instruction included in an execution module that is the dynamic allocation program, based on correspondence information between a dynamic allocation program name and a dynamic allocation address set by
The memory in which the dynamic allocation program name and the dynamic allocation program are mapped based on the dynamic allocation program name and the dynamic allocation address received when the execution module is the dynamic allocation program A dynamic mapping list update processing function for updating a dynamic mapping list that defines a correspondence with an absolute address in the space;
Based on the absolute address of the machine language instruction detected by the detection function, the mapping list defining the absolute address in the memory space to which the execution module of the program is mapped and the dynamic mapping list are referred to, and the machine identifying one of said programs and said dynamic arrangement program include word instruction, based from the sensed absolute address of machine language instructions to the beginning of the relative address obtained by subtracting the absolute address of said execution modules, Refer to the linkage list that defines the correspondence between each step of the source program and the relative address of the machine language instruction of the load module obtained by translating the source program into machine language, and specify the step corresponding to the machine language instruction Step location function,
The operation status map data table that defines the correspondence between each step of the source program and the number of executions in units of steps is added with the number of executions of the step specified by the step position specifying function, and the operation status map data table is An update function to update,
Unit graphics corresponding to each step are displayed side by side, and the display pattern of each unit graphic is changed according to the number of executions of the corresponding step based on the contents stored in the operation status map data table. An output function that outputs an operation status map that enables visual recognition of the execution frequency for each step,
An operational status monitoring program characterized by realizing the above.
前記稼働状況マップデータから実行回数が所定の規定値以下のステップを抽出する抽出機能と、
抽出されたステップを特定する情報及び当該ステップを含むプログラムを特定する情報を一覧にして出力する一覧出力機能と、
を更に実現させることを特徴とする請求項1に記載の稼働状況監視プログラム。 On the computer,
An extraction function for extracting a step whose number of executions is equal to or less than a predetermined specified value from the operation status map data;
A list output function for outputting a list of information for specifying the extracted steps and information for specifying a program including the steps;
The operation status monitoring program according to claim 1, further comprising:
ソースプログラムを機械語に翻訳してメモリ空間にマッピングした実行モジュールに含まれる機械語命令の実行を検知する検知手段であって、前記実行モジュールが前記メモリ空間内の固定した絶対アドレスにマッピングされるプログラムであるときの当該実行モジュールに含まれる機械語命令の実行を検知する一方で、前記実行モジュールが前記メモリ空間内の固定した絶対アドレスにマッピングされないような動的配置プログラムである時には、オペレーティングシステムが設定する、動的配置プログラム名と動的配置アドレスの対応情報に基づき、前記動的配置プログラムである実行モジュールに含まれる機械語命令の実行を検知する検知手段と、
前記実行モジュールが前記動的配置プログラムである時に受信される動的配置プログラム名及び動的配置アドレスに基づいて、動的配置プログラム名と前記動的配置プログラムである実行モジュールがマッピングされた前記メモリ空間内の絶対アドレスとの対応を定義した動的マッピングリストを更新する動的マッピングリスト更新処理手段と、
前記検知機能により検知された機械語命令の絶対アドレスに基づいて、前記プログラムの実行モジュールがマッピングされた前記メモリ空間内の絶対アドレスを定義したマッピングリストおよび前記動的マッピングリストを参照し、前記機械語命令が含まれる前記プログラム及び前記動的配置プログラムの一方を特定し、前記検知された機械語命令の絶対アドレスから前記実行モジュールの先頭の絶対アドレスを引いて得られた相対アドレスに基づいて、ソースプログラムの各ステップと前記ソースプログラムを機械語に翻訳して得られるロードモジュールの機械語命令の相対アドレスとの対応を定義したリンケージリストを参照し、前記機械語命令に該当するステップを特定するステップ位置特定手段と、
ソースプログラムの各ステップとステップ単位の実行回数との対応を定義した稼働状況マップ用データテーブルにおいて、前記ステップ位置特定機能により特定されたステップの実行回数を加算し、前記稼働状況マップ用データテーブルを更新する更新手段と、
各ステップに一対一で対応する単位図形を並べて表示すると共に、前記稼働状況マップ用データテーブルに記憶された内容に基づいて各単位図形の表示パターンを対応するステップの実行回数に応じて変化させることにより、ステップ毎の実行頻度を視認できるようにした稼働状況マップを出力する出力手段と、
を備えることを特徴とする稼働状況監視装置。 An operating status monitoring device for monitoring the operating status of a program executed by a computer,
Detection means for detecting execution of a machine language instruction included in an execution module obtained by translating a source program into a machine language and mapping it into a memory space, wherein the execution module is mapped to a fixed absolute address in the memory space An operating system that detects the execution of a machine language instruction included in the execution module when the program is a program, while the execution module is a dynamic allocation program that does not map to a fixed absolute address in the memory space. Detecting means for detecting execution of a machine language instruction included in an execution module that is the dynamic allocation program, based on correspondence information between a dynamic allocation program name and a dynamic allocation address set by
The memory in which the dynamic allocation program name and the dynamic allocation program are mapped based on the dynamic allocation program name and the dynamic allocation address received when the execution module is the dynamic allocation program A dynamic mapping list update processing means for updating a dynamic mapping list defining a correspondence with an absolute address in the space;
Based on the absolute address of the machine language instruction detected by the detection function, the mapping list defining the absolute address in the memory space to which the execution module of the program is mapped and the dynamic mapping list are referred to, and the machine identifying one of said programs and said dynamic arrangement program include word instruction, based from the sensed absolute address of machine language instructions to the beginning of the relative address obtained by subtracting the absolute address of said execution modules, Refer to the linkage list that defines the correspondence between each step of the source program and the relative address of the machine language instruction of the load module obtained by translating the source program into machine language, and specify the step corresponding to the machine language instruction Step position specifying means;
In the operation status map data table that defines the correspondence between each step of the source program and the number of executions in units of steps, the number of executions of the steps specified by the step position specifying function is added, and the operation status map data table is Update means for updating;
Unit graphics corresponding to each step are displayed side by side, and the display pattern of each unit graphic is changed according to the number of executions of the corresponding step based on the contents stored in the operation status map data table. Output means for outputting an operation status map that enables visual recognition of the execution frequency for each step,
An operating condition monitoring apparatus comprising:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006161291A JP4894362B2 (en) | 2006-06-09 | 2006-06-09 | Operation status monitoring program |
US11/709,268 US8122435B2 (en) | 2006-06-09 | 2007-02-22 | Operating status monitoring program, method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006161291A JP4894362B2 (en) | 2006-06-09 | 2006-06-09 | Operation status monitoring program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007328722A JP2007328722A (en) | 2007-12-20 |
JP4894362B2 true JP4894362B2 (en) | 2012-03-14 |
Family
ID=38823340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006161291A Expired - Fee Related JP4894362B2 (en) | 2006-06-09 | 2006-06-09 | Operation status monitoring program |
Country Status (2)
Country | Link |
---|---|
US (1) | US8122435B2 (en) |
JP (1) | JP4894362B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5275089B2 (en) * | 2008-03-07 | 2013-08-28 | 新日鉄住金ソリューションズ株式会社 | Information processing apparatus, information processing method, and program |
US8074107B2 (en) | 2009-10-26 | 2011-12-06 | Amazon Technologies, Inc. | Failover and recovery for replicated data instances |
US8676753B2 (en) * | 2009-10-26 | 2014-03-18 | Amazon Technologies, Inc. | Monitoring of replicated data instances |
US20140176393A1 (en) * | 2012-12-25 | 2014-06-26 | Kabushiki Kaisha Toshiba | Information processing apparatus, user assistance method and storage medium |
JPWO2014141352A1 (en) * | 2013-03-11 | 2017-02-16 | 株式会社日立製作所 | System controller |
CN105117318B (en) * | 2015-08-18 | 2019-04-30 | 北京恒华伟业科技股份有限公司 | The monitoring method and device of equipment manufacturing schedule |
CN114443428B (en) * | 2022-01-19 | 2024-08-30 | 山东新一代信息产业技术研究院有限公司 | Method and device for monitoring running state of program inside based on IROS |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6421547A (en) * | 1987-07-16 | 1989-01-24 | Mitsubishi Electric Corp | Program bus measuring system |
EP0423989A3 (en) * | 1989-10-16 | 1992-09-23 | Hewlett-Packard Company | Software compiler and linker with improved line number table |
US5193180A (en) * | 1991-06-21 | 1993-03-09 | Pure Software Inc. | System for modifying relocatable object code files to monitor accesses to dynamically allocated memory |
JPH05241913A (en) * | 1992-03-03 | 1993-09-21 | Nec Corp | Automatic abort retrieval processing system |
US5371747A (en) * | 1992-06-05 | 1994-12-06 | Convex Computer Corporation | Debugger program which includes correlation of computer program source code with optimized object code |
US5446900A (en) * | 1992-07-24 | 1995-08-29 | Microtec Research, Inc. | Method and apparatus for statement level debugging of a computer program |
JPH06222913A (en) | 1993-01-25 | 1994-08-12 | Fujitsu Ltd | Program analyzer |
JPH06337777A (en) | 1993-05-31 | 1994-12-06 | Hitachi Ltd | Software resource rearrangement system |
US6126329A (en) * | 1993-06-08 | 2000-10-03 | Rational Software Coporation | Method and apparatus for accurate profiling of computer programs |
JPH07160531A (en) * | 1993-12-03 | 1995-06-23 | Fujitsu Ltd | Program execution route display device |
AU1994695A (en) * | 1994-03-14 | 1995-10-03 | Green Hills Software, Inc. | Optimizing time and testing of higher level language programs |
US5933640A (en) * | 1997-02-26 | 1999-08-03 | Digital Equipment Corporation | Method for analyzing and presenting test execution flows of programs |
JP3107151B2 (en) * | 1997-04-14 | 2000-11-06 | 日本電気株式会社 | Optimized code debugging method |
US6016556A (en) * | 1997-07-17 | 2000-01-18 | Tektronix, Inc. | System for identifying an acquisition sample corresponding to a source code statement |
US6895578B1 (en) * | 1999-01-06 | 2005-05-17 | Parasoft Corporation | Modularizing a computer program for testing and debugging |
US7213247B1 (en) * | 2000-01-10 | 2007-05-01 | Wind River Systems, Inc. | Protection domains for a computer operating system |
JP2002073371A (en) * | 2000-09-04 | 2002-03-12 | Nec Microsystems Ltd | Program debugging method |
US20020129336A1 (en) * | 2000-12-19 | 2002-09-12 | Bolding Joe D. | Automatic symbol table selection in a multi-cell environment |
JP2003050716A (en) * | 2001-08-06 | 2003-02-21 | Matsushita Electric Ind Co Ltd | Software debugger and software development support system |
US7080358B2 (en) * | 2002-04-10 | 2006-07-18 | Sun Microsystems, Inc. | Mechanism for generating an execution log and coverage data for a set of computer code |
US7213123B2 (en) * | 2002-10-24 | 2007-05-01 | International Business Machines Corporation | Method and apparatus for mapping debugging information when debugging integrated executables in a heterogeneous architecture |
US20050071816A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically count instruction execution for applications |
US7395527B2 (en) * | 2003-09-30 | 2008-07-01 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses |
US7421681B2 (en) * | 2003-10-09 | 2008-09-02 | International Business Machines Corporation | Method and system for autonomic monitoring of semaphore operation in an application |
US7653899B1 (en) * | 2004-07-23 | 2010-01-26 | Green Hills Software, Inc. | Post-execution software debugger with performance display |
US8161461B2 (en) * | 2005-03-24 | 2012-04-17 | Hewlett-Packard Development Company, L.P. | Systems and methods for evaluating code usage |
US20060230385A1 (en) * | 2005-04-12 | 2006-10-12 | I-Lang Chang | Method for displaying program profiling, software development program with profiling display and physical storage medium with software development program |
US7587612B2 (en) * | 2005-06-30 | 2009-09-08 | Intel Corporation | Generating and communicating information on locations of program sections in memory |
-
2006
- 2006-06-09 JP JP2006161291A patent/JP4894362B2/en not_active Expired - Fee Related
-
2007
- 2007-02-22 US US11/709,268 patent/US8122435B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8122435B2 (en) | 2012-02-21 |
US20070288799A1 (en) | 2007-12-13 |
JP2007328722A (en) | 2007-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4894362B2 (en) | Operation status monitoring program | |
US9740186B2 (en) | Monitoring control system and control device | |
CN113282795B (en) | Data structure diagram generation and updating method and device, electronic equipment and storage medium | |
EP4209879A1 (en) | Task group positioning method and apparatus | |
CN101802765A (en) | Method, apparatus and program for facilitating object selection on display screen | |
JP2000507731A (en) | System for converting visual display object files and method of operation thereof | |
CN110249312A (en) | Data integration operation changing | |
US8655928B2 (en) | Device and method for storing file | |
CN114981743B (en) | Design support device, design support method, and computer-readable storage medium | |
JP7229888B2 (en) | System and method for supporting optimization of resource utilization efficiency | |
JP5156713B2 (en) | Design support device | |
JP4971226B2 (en) | Design support device | |
JP4677442B2 (en) | Multi-source, multi-destination data transfer | |
JP4780308B2 (en) | Control program development support apparatus and computer program | |
KR20170107752A (en) | Apparatus and method for data visualization | |
US11694112B2 (en) | Machine learning data management system and data management method | |
CN112069189A (en) | Method and system for updating multi-level mapping table, terminal device and storage medium | |
CN109725973A (en) | A kind of data processing method and data processing equipment | |
KR101918430B1 (en) | System design assistance tool | |
CN113326004A (en) | Efficient log centralization method and device in cloud computing environment | |
JP5202472B2 (en) | Instruction placement program, instruction placement apparatus, and instruction placement method | |
CN101546348A (en) | Model base icon display method based on physical modeling language | |
JP2005099976A (en) | Configuration / performance information acquisition method | |
JP4841246B2 (en) | Data management apparatus, data management method, and data management program | |
JP7330425B1 (en) | Program, Monitoring Screen Creation Support Device, Monitoring Screen Creation Support System, and Monitoring Screen Creation Support Method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20071116 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071210 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090309 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110315 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110512 |
|
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: 20111129 |
|
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: 20111212 |
|
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: 20150106 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |