[go: up one dir, main page]

WO2018158906A1 - Process data recording device and process data recording program - Google Patents

Process data recording device and process data recording program Download PDF

Info

Publication number
WO2018158906A1
WO2018158906A1 PCT/JP2017/008253 JP2017008253W WO2018158906A1 WO 2018158906 A1 WO2018158906 A1 WO 2018158906A1 JP 2017008253 W JP2017008253 W JP 2017008253W WO 2018158906 A1 WO2018158906 A1 WO 2018158906A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
dump
data
fork
data recording
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.)
Ceased
Application number
PCT/JP2017/008253
Other languages
French (fr)
Japanese (ja)
Inventor
研吾 井邊
寛隆 茂田井
大樹 増田
晃 御田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to PCT/JP2017/008253 priority Critical patent/WO2018158906A1/en
Publication of WO2018158906A1 publication Critical patent/WO2018158906A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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

Definitions

  • This invention relates to a technique for acquiring and storing process data.
  • Non-Patent Document 1 In response to an event such as occurrence of an abnormality, there has been a data collection technique in which an operating system stops process operation and collects process data that is data used by a running process.
  • an operating system stops process operation and collects process data that is data used by a running process.
  • a UNIX (registered trademark) operating system has a function of outputting memory information called a core dump when an abnormality occurs (see Non-Patent Document 1).
  • Patent Document 1 describes that execution information such as a time and a function name of a dynamic library function is acquired when a dynamic library is called. Thereby, in patent document 1, the information of the process in process is collected, without stopping a process.
  • the process data is acquired at a specific timing after the process is stopped at a specific timing so that the process data in the memory is not updated.
  • the scenes in which the process data can be acquired are limited during the operation of the system.
  • a process cannot be operated due to an abnormality
  • the process is stopped and the process data is acquired before the process is terminated.
  • only process data immediately before the occurrence of an abnormality can be acquired.
  • the cause of the abnormality is not always related to the previous operation. For this reason, this usage may not be able to identify the cause of the occurrence of an abnormality.
  • An object of the present invention is to make it possible to acquire process data at a specific timing while executing a process.
  • the process data recording apparatus is: A process management unit that creates a fork process by copying a target process for obtaining process data, and operates the fork process separately from the target process; A dump acquisition unit that reads out process data for the fork process generated by the process management unit as process data for the target process and stores the process data as dump data;
  • a fork process that is a fork of a process for which process data is acquired is generated, and process data about the fork process is acquired. Therefore, process data can be acquired without stopping the target process.
  • FIG. 1 is a configuration diagram of a process data recording apparatus 10 according to a first embodiment.
  • 3 is a flowchart of the operation of the process data recording apparatus 10 according to the first embodiment.
  • FIG. 3 is a configuration diagram of a process data recording apparatus 10 according to a second embodiment.
  • FIG. 6 is a configuration diagram of a process data recording apparatus 10 according to a third embodiment. 10 is a flowchart of an operation when an acquisition condition is set in the acquisition condition information 43 according to the third embodiment.
  • FIG. 10 is a flowchart of operations when referring to acquisition condition information 43 according to Embodiment 3.
  • FIG. FIG. 6 is a configuration diagram of a process data recording apparatus 10 according to a fourth embodiment. 10 is a flowchart of the operation of the process data recording apparatus 10 according to the fourth embodiment.
  • FIG. 6 is a configuration diagram of a process data recording apparatus 10 according to a fifth embodiment. 10 is a flowchart of the operation of the process data recording apparatus 10 according to the fifth embodiment.
  • Embodiment 1 FIG. *** Explanation of configuration *** With reference to FIG. 1, the configuration of a process data recording apparatus 10 according to the first embodiment will be described.
  • the process data recording device 10 is a computer.
  • the process data recording apparatus 10 includes hardware including a processor 11, a memory 12, and a storage 13.
  • the processor 11 is connected to other hardware via a signal line, and controls these other hardware.
  • the processor 11 is an IC (Integrated Circuit) that performs processing, and is a device that controls the entire process data recording apparatus 10. Specific examples of the processor 11 are a CPU (Central Processing Unit), a DSP (Digital Signal Processor), and a GPU (Graphics Processing Unit).
  • the memory 12 is a storage device that temporarily stores data.
  • the memory 12 is an SRAM (Static Random Access Memory) or a DRAM (Dynamic Random Access Memory).
  • the storage 13 is a storage device that stores data.
  • the storage 13 is an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the storage 13 is a portable storage such as an SD (registered trademark, Secure Digital) memory card, CF (CompactFlash), NAND flash, flexible disk, optical disk, compact disk, Blu-ray (registered trademark) disk, DVD (Digital Versatile Disk). It may be a medium.
  • the storage 13 stores a program for the operating system 20. This program is read into the memory 12 by the processor 11 and executed by the processor 11. Thereby, the function of the operating system 20 is implement
  • the operating system 20 includes a dump acquisition unit 21, a memory management unit 22, a process management unit 23, and an acquisition management unit 24 as functional components.
  • the dump acquisition unit 21 has a function of acquiring process data of the application process 31 as dump data 42.
  • the memory management unit 22 has a function of performing allocation and release of a memory area requested by the process 31 and the fork process 32 and access control of the memory 12.
  • the process management unit 23 is a function that performs control such as generation, execution, and stop of a plurality of processes 31.
  • the acquisition management unit 24 is a function for managing the acquisition timing of the dump data 42 and the acquired dump data 42.
  • the process management unit 23 includes a list management unit 231 and a process fork unit 232.
  • the acquisition management unit 24 includes a condition determination unit 241, a fork request unit 242, an adjustment unit 243, and an acquisition instruction unit 244.
  • On the operating system 20, a fork process 32 in which the process 31 from which process data is acquired is forked may operate.
  • the process data recording apparatus 10 may include a plurality of processors that replace the processor 11.
  • the plurality of processors share execution of functional components included in the operating system 20.
  • Each processor is an IC that performs processing in the same manner as the processor 11.
  • the operation of the process data recording apparatus 10 according to the first embodiment will be described with reference to FIG.
  • the operation of the process data recording apparatus 10 according to the first embodiment corresponds to the process data recording method according to the first embodiment.
  • the operation of the process data recording apparatus 10 according to the first embodiment corresponds to the process of the process data recording program according to the first embodiment.
  • Step ST101 Determination unit activation process
  • the condition determination unit 241 of the acquisition management unit 24 is activated.
  • the condition determining unit 241 refers to the acquisition condition information 43 to determine whether it is time to acquire the dump data 42.
  • the acquisition condition information 43 is information indicating an acquisition condition for acquiring the dump data 42.
  • the acquisition condition is determined by a cycle, access to a specific memory area, access to a memory area where access is prohibited, start or end of another process, and change in memory usage. It is done.
  • the acquisition condition information 43 is preset in the operating system 20.
  • the condition determination unit 241 determines whether or not it is time to acquire the dump data 42 by determining whether or not the acquisition condition indicated by the acquisition condition information 43 is satisfied.
  • the condition determination unit 241 determines whether or not the specific memory area has been accessed. Then, the condition determination unit 241 determines that it is time to acquire the dump data 42 when a specific memory area is accessed. If the condition determination unit 241 determines that it is not time to acquire the dump data 42, the process proceeds to step ST103. On the other hand, if the condition determination unit 241 determines that it is time to acquire the dump data 42, the process proceeds to step ST104.
  • Step ST103 Standby process
  • the condition determination unit 241 returns to step ST102 after waiting for a predetermined time.
  • Step ST104 State determination process
  • the condition determination unit 241 determines whether or not the process 31 is in an execution state. If the process 31 is in the execution state, the condition determination unit 241 advances the process to step ST105. On the other hand, if the process 31 is not in the execution state, the condition determination unit 241 advances the process to step ST106.
  • the case where the process 31 is not in the execution state is a case where the process 31 is not operating, such as a case where the process 31 is in an executable state or a case where the process 31 is waiting for input / output or an event.
  • Step ST105 State change process
  • the condition determination unit 241 changes the process 31 to an executable state so that the process 31 does not operate.
  • the executable state is a state in which the processor 11 enters the execution state when the processor 11 becomes empty.
  • Step ST106 Fork request processing
  • the fork request unit 242 transmits the fork request for the process 31 to the process fork unit 232 of the process management unit 23.
  • Fork is to create a fork process 32 that is a copy of the process 31 and start it separately from the process 31 (by Daniel P. Bovet, Marco Cesati, supervised by Hirokazu Takahashi, Yumiko Sugita, Masaaki Shimizu, Masaaki Takasugi Translated by Masahiro Hiramatsu and Takahiro Yasui, “Detailed Description Linux (Registered Trademark) Kernel 3rd Edition” O'Reilly Japan, February 17, 2009, first edition 3rd edition, p.123).
  • Step ST107 ID issuing process
  • the process fork unit 232 issues a process ID for identifying the fork process 32 to be generated.
  • Step ST108 ID addition process
  • the list management unit 231 adds the process ID issued in step ST107 to the process list 41. At this time, the list management unit 231 adds the process ID issued in step ST107 as a child of the process ID of the fork source process 31.
  • the process list 41 is a list of process IDs of the activated process 31 and fork process 32.
  • the process list 41 is a list for managing the parent-child relationship and the state of the process 31 and the fork process 32.
  • Step ST109 Fork processing
  • the process fork unit 232 generates a fork process 32 that is a copy of the process 31.
  • the operating system 20 such as Unix (registered trademark)
  • the process fork unit 232 creates a fork process 32 by copying the process 31 by copy-on-write.
  • Copy-on-write is a method of writing to another memory space when the copy source process 31 and the copy destination fork process 32 share the memory space of the memory 12 and update data in the memory 12 (Daniel). P.
  • step ST106 * to step ST109 * is the same as the processing from step ST106 to step ST109.
  • Step ST110 State restoration process
  • the fork request unit 242 returns the process 31 changed to the executable state in step ST105 to the execution state.
  • Step ST111 Fork source ID acquisition process
  • the fork request unit 242 transmits to the adjustment unit 243 an acquisition request for the process ID of the copy source process 31 of the fork process 32 generated in step ST109.
  • the adjustment unit 243 acquires the process ID of the copy source process 31 that has received the acquisition request, and transmits the process ID to the fork request unit 242.
  • Step ST112 Fork destination ID acquisition process
  • the fork request unit 242 transmits the process ID acquisition request for the fork process 32 generated in step ST109 to the adjustment unit 243.
  • the adjustment unit 243 acquires the process ID of the fork process 32 that has received the acquisition request, and transmits the process ID to the fork request unit 242.
  • Step ST113 Process data acquisition process
  • the acquisition instruction unit 244 transmits the process data acquisition instruction of the fork process 32 generated in step ST109 to the dump acquisition unit 21. At this time, the acquisition instruction unit 244 transmits the process ID of the copy source process 31 acquired in step ST111 and the process ID of the fork process 32 acquired in step ST112 to the dump acquisition unit 21 together with the acquisition instruction. .
  • the dump acquisition unit 21 acquires the process data in the memory space of the memory 12 used by the fork process 32 as the dump data 42 of the copy source process 31 and writes it in the memory 12. At this time, the dump acquisition unit 21 writes the process ID of the copy source process 31 acquired in step ST111 and the process ID of the fork process 32 acquired in step ST112 in association with the dump data 42.
  • the dump acquisition unit 21 may write only the process ID of the copy source process 31 acquired in step ST111 in association with the dump data 42.
  • the dump acquisition unit 21 acquires the process data after stopping the fork process 32 at the timing of acquiring the process data so that the data is not updated. Even if the fork process 32 is stopped, the copy source process 31 can continue its operation.
  • Step ST114 Fork process deletion processing
  • the process fork unit 232 deletes the fork process 32 generated in step ST109.
  • the process data recording apparatus 10 generates the fork process 32 that forks the process 31 when acquiring the dump data 42. Then, the process data recording device 10 acquires the process data of the fork process 32 as the dump data 42 of the process 31. As a result, the dump data 42 of the process 31 can be acquired only by stopping the process 31 for a short time such as a task switch. Therefore, it becomes possible to acquire the dump data 42 of the process 31 during the operation of the system.
  • the process data recording apparatus 10 stores the process ID of the process 31 in association with the dump data 42. Therefore, it can be specified that the dump data 42 is the process data of the process 31.
  • the dump data 42 is shown in the operating system 20. This means that the dump data 42 is stored in a memory space used by the operating system 20. However, the dump data 42 may be stored in the user space instead of the memory space used by the operating system 20.
  • FIG. The second embodiment is different from the first embodiment in that the dump data 42 is replaced when the dump data 42 is periodically generated. In the second embodiment, this different point will be described, and the description of the same point will be omitted.
  • the configuration of the process data recording apparatus 10 according to the second embodiment will be described with reference to FIG.
  • the process data recording apparatus 10 is different from the process data recording apparatus 10 shown in FIG. 1 in that the operating system 20 includes a dump management unit 25 as a functional component.
  • the dump data 42 is stored in the memory 12 by the method described in the first embodiment.
  • the dump management unit 25 replaces a plurality of dump data 42 stored in the memory 12 according to rotation conditions such as a certain timing and the total size and number of dump data 42. As a specific example, the dump management unit 25 deletes the dump data 42 after a predetermined time has elapsed.
  • the process data recording apparatus 10 according to the second embodiment replaces the dump data 42 according to the rotation condition. As a result, even when there is a limit to the area where the dump data 42 is stored, the acquisition of the dump data 42 can be continued.
  • Embodiment 3 FIG. The third embodiment is different from the first embodiment in that the acquisition condition information 43 can be set. In the third embodiment, this different point will be described, and the description of the same point will be omitted. Note that Embodiment 3 can be combined with Embodiment 2.
  • the configuration of the process data recording apparatus 10 according to the third embodiment will be described with reference to FIG.
  • the process data recording device 10 is shown in FIG. 1 in that the acquisition management unit 24 includes an instruction communication unit 245 and the condition specifying unit 33 operates on the operating system 20. And different.
  • the condition specifying unit 33 is a process that operates on the operating system 20.
  • Step ST201 Setting request processing
  • the condition designating unit 33 transmits a condition setting request for requesting a setting change of the acquisition condition information 43 to the command communication unit 245.
  • the condition specifying unit 33 transmits a condition setting request for requesting addition of a new acquisition condition.
  • the condition specifying unit 33 transmits a condition setting request for requesting deletion of the existing acquisition condition.
  • Step ST202 Condition editing process
  • the command communication unit 245 receives the condition setting request transmitted in step ST201, and edits the acquisition condition information 43 according to the condition setting request.
  • Step ST203 Completion notification process
  • the command communication unit 245 transmits a setting completion notification indicating that the editing of the acquisition condition information 43 has been completed in step ST202 to the condition specifying unit 33.
  • Step ST204 Completion Notification Reception Processing
  • the condition designating unit 33 receives the setting completion notification transmitted in step ST203.
  • Step ST301 Condition acquisition process
  • the condition designating unit 33 transmits a condition acquisition request for requesting acquisition of the acquisition condition information 43 to the command communication unit 245.
  • the condition specifying unit 33 transmits a condition acquisition request when receiving an input of a reference to an existing acquisition condition from the user of the process data recording apparatus 10.
  • Step ST302 Condition acquisition process
  • the command communication unit 245 receives the condition acquisition request transmitted in step ST301 and acquires a list of acquisition condition information 43.
  • Step ST303 Condition notification process
  • the command communication unit 245 transmits the list of acquisition condition information 43 acquired in step ST302 to the condition specifying unit 33.
  • Step ST304 Condition notification reception process
  • the condition designating unit 33 receives the list of acquisition condition information 43 transmitted in step ST303.
  • Embodiment 4 FIG. The fourth embodiment is different from the first embodiment in that the dump data 42 is analyzed. In the fourth embodiment, this different point will be described, and the description of the same point will be omitted. Note that Embodiment 4 can be combined with Embodiment 2 or Embodiment 3.
  • the process data recording apparatus 10 is different from the process data recording apparatus 10 shown in FIG. 1 in that the operating system 20 includes a failure prediction unit 26 as a functional component.
  • the failure prediction unit 26 includes an analysis unit 261 and a notification unit 262.
  • Step ST401 Generation notification process
  • the dump acquisition unit 21 writes the dump data 42 to the memory 12 in step ST113 of FIG. 2
  • the dump acquisition unit 21 transmits a generation completion notification indicating that the generation of the dump data 42 is completed to the failure prediction unit 26.
  • Step ST402 Generation Notification Process
  • the analysis unit 261 receives the generation completion notification transmitted in step ST401.
  • Step ST403 Update determination processing
  • the analysis unit 261 determines whether or not the dump data 42 has been newly generated. If it is determined that the dump data 42 is not newly generated, the analysis unit 261 advances the process to step ST404. On the other hand, when it is determined that the dump data 42 is newly generated, the analysis unit 261 advances the process to step ST405.
  • Step ST404 Standby process
  • the analysis unit 261 waits for a predetermined time and then returns the process to step ST403.
  • Step ST405 read processing
  • the analysis unit 261 reads the dump data 42 when the generation completion notification is received at step ST402 and when it is determined that the dump data 42 is newly generated at step ST403.
  • Step ST406 Analysis processing
  • the analysis unit 261 determines whether or not the dump data 42 read in step ST405 indicates a precursor state of occurrence of an abnormality.
  • the analysis unit 261 advances the process to step ST407.
  • the analysis part 261 returns a process to step ST404, when the dump data 42 does not show the precursor state of abnormality occurrence.
  • the analysis unit 261 uses the dump data 42 continuously acquired a plurality of times as input, and determines whether or not an abnormal state sign is indicated by the dump data analysis tool.
  • the dump data analysis tool is, for example, GDB (the GNU Project debugger).
  • the analysis unit 261 detects that there is a possibility that the area of the memory 12 may be exhausted. Further, the analysis unit 261 may cause a buffer overflow when the amount of use of the buffer used by the process 31 increases and when the value of a specific variable exceeds an assumed threshold value. Detect that there is.
  • Step ST407 Notification process
  • the notification unit 262 notifies at least one of the user and the application of the content of the abnormality that has been determined by the analysis unit 261 to indicate a precursor state in step ST406.
  • the notification unit 262 notifies by a method such as output to a screen, data communication, and a signal.
  • the process data recording apparatus 10 can analyze the acquisition condition information 43 in real time. Further, since the process data recording device 10 can continuously acquire the dump data 42 continuously, the process data recording device 10 can detect a change with time from the dump data 42. Thereby, it is possible to detect a precursor state of occurrence of an abnormality based on the dump data 42.
  • Embodiment 5 FIG. The fifth embodiment is different from the first embodiment in that the dump data 42 is acquired using a process debug tool. In the fifth embodiment, this different point will be described, and the description of the same point will be omitted. Note that Embodiment 5 can be combined with any of Embodiments 2 to 4.
  • the process data recording apparatus 10 includes a point that the operating system 20 does not include the dump acquisition unit 21 as a functional component but a debug support unit 27, and a point that the dump acquisition unit 34 operates on the operating system 20. 1 is different from the process data recording apparatus 10 shown in FIG.
  • the dump acquisition unit 34 is a process that operates on the operating system 20.
  • the dump acquisition unit 34 is a process debug tool.
  • the dump acquisition unit 34 is GDB.
  • Step ST501 Fork completion notification process
  • the acquisition instruction unit 244 transmits a fork completion notification indicating that the generation of the fork process 32 has been completed to the dump acquisition unit 34.
  • the acquisition instruction unit 244 transmits the process ID of the copy source process 31 acquired in step ST111 and the process ID of the fork process 32 acquired in step ST112 to the dump acquisition unit 34 together with a fork completion notification.
  • the dump acquisition unit 34 receives the fork completion notification, the process ID of the copy source process 31, and the process ID of the fork process 32.
  • Step ST502 attach request process
  • the dump acquisition unit 34 transmits the process ID of the fork process 32 received in step ST501 to the debug support unit 27 and requests attachment of the fork process 32.
  • Step ST503 attach process
  • the debugging support unit 27 receives the process ID of the fork process 32 transmitted in step ST502.
  • the debug support unit 27 transmits the received process ID to the memory management unit 22 and attaches the fork process 32.
  • Step ST504 reference information acquisition process
  • the memory management unit 22 identifies the memory area of the memory 12 used by the fork process 32 indicated by the process ID transmitted in step ST503, and transmits reference information indicating the identified memory area to the dump acquisition unit 34.
  • Step ST505 reference information output process
  • the dump acquisition unit 34 receives the reference information transmitted in step ST504.
  • the dump acquisition unit 34 outputs the received reference information to the user, for example, by outputting it on the screen.
  • Step ST506 Reference request processing
  • the dump acquisition unit 34 receives designation of reference content from the user.
  • the dump acquisition unit 34 transmits a reference request indicating the designated reference content to the debug support unit 27.
  • Step ST507 Address conversion process
  • the debugging support unit 27 receives the reference request transmitted in step ST506.
  • the debug support unit 27 converts the received reference request into the corresponding address of the memory 12. That is, when the reference request indicates a variable, the debug support unit 27 converts the reference request to the address of the memory 12 in which the variable indicated by the reference request is stored.
  • the debug support unit 27 transmits the converted address to the memory management unit 22 and requests acquisition of the process data stored in the memory area of the memory 12 indicated by the address.
  • Step ST508 Data reply process
  • the memory management unit 22 receives the address transmitted in step ST507.
  • the memory management unit 22 reads the process data stored at the received address from the memory 12.
  • the memory management unit 22 transmits the read process data to the debug support unit 27.
  • Step ST509 Value shaping process
  • the debug support unit 27 receives the process data transmitted in step ST508.
  • the debug support unit 27 converts the received process data into a format that can be received by the dump acquisition unit 34, and transmits the converted process data to the dump acquisition unit 34.
  • Step ST510 Data output processing
  • the dump acquisition unit 34 receives the process data having the format converted transmitted in step ST509.
  • the dump acquisition unit 34 outputs the received process data to the user, for example, by outputting it to the screen.
  • the process data recording apparatus 10 can acquire process data with the process debug tool. As a result, it is possible to confirm the state of a specific variable and to confirm whether an abnormality has occurred in the execution state without waiting for the output of the dump data 42 at the development stage or the like.

Landscapes

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

Abstract

A process management unit (23) of a process data recording device (10) generates a fork process (32) that is a fork of a process (31) from which process data is acquired. A dump acquisition unit (21) of the processor data recording device (10) reads process data pertaining to the fork process (32) generated by the process management unit (23) as process data pertaining to the process (31) from which process data is acquired and outputs same as dump data (42).

Description

プロセスデータ記録装置及びプロセスデータ記録プログラムProcess data recording apparatus and process data recording program

 この発明は、プロセスデータを取得して記憶しておく技術に関する。 This invention relates to a technique for acquiring and storing process data.

 異常発生といったイベントをきっかけに、オペレーティングシステムがプロセスの動作を停止させて実行中のプロセスが使用しているデータであるプロセスデータを収集するデータ収集技術があった。
 例えば、UNIX(登録商標)系のオペレーティングシステムは、異常発生時にコアダンプと呼ばれるメモリの情報を出力する機能を有している(非特許文献1参照)。
In response to an event such as occurrence of an abnormality, there has been a data collection technique in which an operating system stops process operation and collects process data that is data used by a running process.
For example, a UNIX (registered trademark) operating system has a function of outputting memory information called a core dump when an abnormality occurs (see Non-Patent Document 1).

 特許文献1には、動的ライブラリの呼び出し時に時刻や動的ライブラリ関数の関数名といった実行情報を取得することが記載されている。これにより、特許文献1では、プロセスを停止させずに動作中のプロセスの情報を収集している。 Patent Document 1 describes that execution information such as a time and a function name of a dynamic library function is acquired when a dynamic library is called. Thereby, in patent document 1, the information of the process in process is collected, without stopping a process.

特開平8-147199号公報JP-A-8-147199

Norman Matloff (著), Peter Salzman (著), 相川 愛三 (翻訳)、「実践 デバッグ技法 ―GDB、DDD、Eclipseによるデバッギング」オライリージャパン、2009年6月8日発行、p.124~127Norman Matloff (Author), Peter Salzman (Author), Aikawa Aizo (Translation), "Practical Debugging Techniques-Debugging with GDB, DDD, Eclipse" O'Reilly Japan, published on June 8, 2009, p. 124-127

 従来のデータ収集技術では、特定のタイミングでプロセスを停止させることにより、メモリのプロセスデータが更新されないようにした上で、特定のタイミングにおけるプロセスデータを取得していた。従来のデータ収集技術では、プロセスを実行させたまま、特定のタイミングにおけるプロセスデータを取得することができなかった。
 従来のデータ収集技術では、プロセスを停止させてからプロセスデータを取得する必要があるため、システムの稼働中は、プロセスデータを取得できる場面が限られていた。具体例としては、従来のデータ収集技術は、異常発生によりプロセスが動作できなくなった場合に、プロセスを終了させる前にプロセスを停止させて、プロセスデータを取得するといった利用法がされていた。しかし、この利用法では、異常発生の直前のプロセスデータだけしか取得できない。異常発生の原因が直前の動作に関係があるとは限らない。そのため、この利用法では、異常発生の原因を特定できないこともある。
In the conventional data collection technology, the process data is acquired at a specific timing after the process is stopped at a specific timing so that the process data in the memory is not updated. In the conventional data collection technology, it is not possible to acquire process data at a specific timing while the process is being executed.
In the conventional data collection technology, since it is necessary to acquire process data after stopping the process, the scenes in which the process data can be acquired are limited during the operation of the system. As a specific example, in the case of a conventional data collection technique, when a process cannot be operated due to an abnormality, the process is stopped and the process data is acquired before the process is terminated. However, with this method of use, only process data immediately before the occurrence of an abnormality can be acquired. The cause of the abnormality is not always related to the previous operation. For this reason, this usage may not be able to identify the cause of the occurrence of an abnormality.

 特許文献1に記載された方法では、プロセスを実行させたまま、ライブラリの呼び出し関係の情報を取得できる。しかし、特許文献1に記載された方法では、プロセスが使用している変数といったプロセス内部の情報を取得できない。そのため、異常発生の原因を特定できない場合もある。 In the method described in Patent Document 1, information on library calling can be acquired while the process is being executed. However, the method described in Patent Document 1 cannot acquire information inside the process such as variables used by the process. For this reason, the cause of the abnormality may not be identified.

 この発明は、プロセスを実行させたまま、特定のタイミングのプロセスデータを取得可能にすることを目的とする。 An object of the present invention is to make it possible to acquire process data at a specific timing while executing a process.

 この発明に係るプロセスデータ記録装置は、
 プロセスデータを取得する対象のプロセスをコピーしてフォークプロセスを生成し、前記対象のプロセスとは別に前記フォークプロセスを動作させるプロセス管理部と、
 前記プロセス管理部によって生成されたフォークプロセスについてのプロセスデータを前記対象のプロセスについてのプロセスデータとして読み出し、ダンプデータとして記憶するダンプ取得部と
を備える。
The process data recording apparatus according to the present invention is:
A process management unit that creates a fork process by copying a target process for obtaining process data, and operates the fork process separately from the target process;
A dump acquisition unit that reads out process data for the fork process generated by the process management unit as process data for the target process and stores the process data as dump data;

 この発明では、プロセスデータを取得する対象のプロセスのフォークであるフォークプロセスを生成し、フォークプロセスについてのプロセスデータを取得する。そのため、対象のプロセスを停止させることなく、プロセスデータを取得可能である。 In the present invention, a fork process that is a fork of a process for which process data is acquired is generated, and process data about the fork process is acquired. Therefore, process data can be acquired without stopping the target process.

実施の形態1に係るプロセスデータ記録装置10の構成図。1 is a configuration diagram of a process data recording apparatus 10 according to a first embodiment. 実施の形態1に係るプロセスデータ記録装置10の動作のフローチャート。3 is a flowchart of the operation of the process data recording apparatus 10 according to the first embodiment. 実施の形態2に係るプロセスデータ記録装置10の構成図。FIG. 3 is a configuration diagram of a process data recording apparatus 10 according to a second embodiment. 実施の形態3に係るプロセスデータ記録装置10の構成図。FIG. 6 is a configuration diagram of a process data recording apparatus 10 according to a third embodiment. 実施の形態3に係る取得条件情報43に取得条件を設定する場合の動作のフローチャート。10 is a flowchart of an operation when an acquisition condition is set in the acquisition condition information 43 according to the third embodiment. 実施の形態3に係る取得条件情報43を参照する場合の動作のフローチャート。FIG. 10 is a flowchart of operations when referring to acquisition condition information 43 according to Embodiment 3. FIG. 実施の形態4に係るプロセスデータ記録装置10の構成図。FIG. 6 is a configuration diagram of a process data recording apparatus 10 according to a fourth embodiment. 実施の形態4に係るプロセスデータ記録装置10の動作のフローチャート。10 is a flowchart of the operation of the process data recording apparatus 10 according to the fourth embodiment. 実施の形態5に係るプロセスデータ記録装置10の構成図。FIG. 6 is a configuration diagram of a process data recording apparatus 10 according to a fifth embodiment. 実施の形態5に係るプロセスデータ記録装置10の動作のフローチャート。10 is a flowchart of the operation of the process data recording apparatus 10 according to the fifth embodiment.

 実施の形態1.
 ***構成の説明***
 図1を参照して、実施の形態1に係るプロセスデータ記録装置10の構成を説明する。
 プロセスデータ記録装置10は、コンピュータである。
 プロセスデータ記録装置10は、プロセッサ11と、メモリ12と、ストレージ13とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
Embodiment 1 FIG.
*** Explanation of configuration ***
With reference to FIG. 1, the configuration of a process data recording apparatus 10 according to the first embodiment will be described.
The process data recording device 10 is a computer.
The process data recording apparatus 10 includes hardware including a processor 11, a memory 12, and a storage 13. The processor 11 is connected to other hardware via a signal line, and controls these other hardware.

 プロセッサ11は、プロセッシングを行うIC(Integrated Circuit)であり、プロセスデータ記録装置10全体の制御を行う装置である。プロセッサ11は、具体例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。 The processor 11 is an IC (Integrated Circuit) that performs processing, and is a device that controls the entire process data recording apparatus 10. Specific examples of the processor 11 are a CPU (Central Processing Unit), a DSP (Digital Signal Processor), and a GPU (Graphics Processing Unit).

 メモリ12は、データを一時的に記憶する記憶装置である。メモリ12は、具体例としては、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。 The memory 12 is a storage device that temporarily stores data. As a specific example, the memory 12 is an SRAM (Static Random Access Memory) or a DRAM (Dynamic Random Access Memory).

 ストレージ13は、データを保管する記憶装置である。ストレージ13は、具体例としては、HDD(Hard Disk Drive)、又は、SSD(Solid State Drive)である。また、ストレージ13は、SD(登録商標,Secure Digital)メモリカード、CF(CompactFlash)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記憶媒体であってもよい。 The storage 13 is a storage device that stores data. As a specific example, the storage 13 is an HDD (Hard Disk Drive) or an SSD (Solid State Drive). Further, the storage 13 is a portable storage such as an SD (registered trademark, Secure Digital) memory card, CF (CompactFlash), NAND flash, flexible disk, optical disk, compact disk, Blu-ray (registered trademark) disk, DVD (Digital Versatile Disk). It may be a medium.

 ストレージ13には、オペレーティングシステム20のプログラムが記憶されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、オペレーティングシステム20の機能が実現される。
 オペレーティングシステム20は、機能構成要素として、ダンプ取得部21と、メモリ管理部22と、プロセス管理部23と、取得管理部24とを備える。ダンプ取得部21は、アプリケーションのプロセス31のプロセスデータをダンプデータ42として取得する機能である。メモリ管理部22は、プロセス31及びフォークプロセス32から要求されたメモリ領域の割り当て及び解放と、メモリ12のアクセス制御を行う機能である。プロセス管理部23は、複数のプロセス31の生成と実行と停止といった制御を行う機能である。取得管理部24は、ダンプデータ42の取得タイミングと取得されたダンプデータ42との管理を行う機能である。
 プロセス管理部23は、リスト管理部231と、プロセスフォーク部232とを備える。取得管理部24は、条件判定部241と、フォーク依頼部242と、調整部243と、取得指示部244とを備える。
 オペレーティングシステム20上では、1つ以上のアプリケーションのプロセス31が動作している。また、オペレーティングシステム20上では、プロセスデータを取得する対象のプロセス31がフォークされたフォークプロセス32が動作する場合がある。
The storage 13 stores a program for the operating system 20. This program is read into the memory 12 by the processor 11 and executed by the processor 11. Thereby, the function of the operating system 20 is implement | achieved.
The operating system 20 includes a dump acquisition unit 21, a memory management unit 22, a process management unit 23, and an acquisition management unit 24 as functional components. The dump acquisition unit 21 has a function of acquiring process data of the application process 31 as dump data 42. The memory management unit 22 has a function of performing allocation and release of a memory area requested by the process 31 and the fork process 32 and access control of the memory 12. The process management unit 23 is a function that performs control such as generation, execution, and stop of a plurality of processes 31. The acquisition management unit 24 is a function for managing the acquisition timing of the dump data 42 and the acquired dump data 42.
The process management unit 23 includes a list management unit 231 and a process fork unit 232. The acquisition management unit 24 includes a condition determination unit 241, a fork request unit 242, an adjustment unit 243, and an acquisition instruction unit 244.
On the operating system 20, one or more application processes 31 are operating. On the operating system 20, a fork process 32 in which the process 31 from which process data is acquired is forked may operate.

 図1では、プロセッサ11は、1つだけ示されている。しかし、プロセスデータ記録装置10は、プロセッサ11を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、オペレーティングシステム20が備える機能構成要素の実行を分担する。それぞれのプロセッサは、プロセッサ11と同じように、プロセッシングを行うICである。 In FIG. 1, only one processor 11 is shown. However, the process data recording apparatus 10 may include a plurality of processors that replace the processor 11. The plurality of processors share execution of functional components included in the operating system 20. Each processor is an IC that performs processing in the same manner as the processor 11.

 図2を参照して、実施の形態1に係るプロセスデータ記録装置10の動作を説明する。
 実施の形態1に係るプロセスデータ記録装置10の動作は、実施の形態1に係るプロセスデータ記録方法に相当する。また、実施の形態1に係るプロセスデータ記録装置10の動作は、実施の形態1に係るプロセスデータ記録プログラムの処理に相当する。
The operation of the process data recording apparatus 10 according to the first embodiment will be described with reference to FIG.
The operation of the process data recording apparatus 10 according to the first embodiment corresponds to the process data recording method according to the first embodiment. The operation of the process data recording apparatus 10 according to the first embodiment corresponds to the process of the process data recording program according to the first embodiment.

 (ステップST101:判定部起動処理)
 アプリケーションのプロセス31が実行されているときに、取得管理部24の条件判定部241が起動する。
(Step ST101: Determination unit activation process)
When the application process 31 is being executed, the condition determination unit 241 of the acquisition management unit 24 is activated.

 (ステップST102:取得判定処理)
 条件判定部241は、取得条件情報43を参照して、ダンプデータ42を取得するタイミングか否かを判定する。
 取得条件情報43は、ダンプデータ42を取得する取得条件を示す情報である。取得条件は、具体例としては、周期と、特定のメモリ領域へのアクセスと、アクセスが禁止されたメモリ領域へのアクセスと、別プロセスの起動又は終了と、メモリの使用量の変化とにより定められる。実施の形態1では、取得条件情報43は、オペレーティングシステム20に予め設定されている。
 条件判定部241は、取得条件情報43が示す取得条件に該当するか否かを判定することにより、ダンプデータ42を取得するタイミングか否かを判定する。具体例としては、条件判定部241は、取得条件情報43が特定のメモリ領域へのアクセスを示す場合には、特定のメモリ領域へのアクセスがされたか否かを判定する。そして、条件判定部241は、特定のメモリ領域へのアクセスがされた場合には、ダンプデータ42を取得するタイミングであると判定する。
 条件判定部241は、ダンプデータ42を取得するタイミングでないと判定した場合、処理をステップST103に進める。一方、条件判定部241は、ダンプデータ42を取得するタイミングであると判定した場合、処理をステップST104に進める。
(Step ST102: Acquisition determination process)
The condition determining unit 241 refers to the acquisition condition information 43 to determine whether it is time to acquire the dump data 42.
The acquisition condition information 43 is information indicating an acquisition condition for acquiring the dump data 42. As specific examples, the acquisition condition is determined by a cycle, access to a specific memory area, access to a memory area where access is prohibited, start or end of another process, and change in memory usage. It is done. In the first embodiment, the acquisition condition information 43 is preset in the operating system 20.
The condition determination unit 241 determines whether or not it is time to acquire the dump data 42 by determining whether or not the acquisition condition indicated by the acquisition condition information 43 is satisfied. As a specific example, when the acquisition condition information 43 indicates access to a specific memory area, the condition determination unit 241 determines whether or not the specific memory area has been accessed. Then, the condition determination unit 241 determines that it is time to acquire the dump data 42 when a specific memory area is accessed.
If the condition determination unit 241 determines that it is not time to acquire the dump data 42, the process proceeds to step ST103. On the other hand, if the condition determination unit 241 determines that it is time to acquire the dump data 42, the process proceeds to step ST104.

 (ステップST103:待機処理)
 条件判定部241は、一定時間待機した上で、処理をステップST102に戻す。
(Step ST103: Standby process)
The condition determination unit 241 returns to step ST102 after waiting for a predetermined time.

 (ステップST104:状態判定処理)
 条件判定部241は、プロセス31が実行状態であるか否かを判定する。
 条件判定部241は、プロセス31が実行状態である場合には、処理をステップST105に進める。一方、条件判定部241は、プロセス31が実行状態でない場合には、処理をステップST106に進める。プロセス31が実行状態でない場合とは、実行可能状態である場合と、入出力又はイベントの待ち状態である場合といった、プロセス31が動作していない場合である。
(Step ST104: State determination process)
The condition determination unit 241 determines whether or not the process 31 is in an execution state.
If the process 31 is in the execution state, the condition determination unit 241 advances the process to step ST105. On the other hand, if the process 31 is not in the execution state, the condition determination unit 241 advances the process to step ST106. The case where the process 31 is not in the execution state is a case where the process 31 is not operating, such as a case where the process 31 is in an executable state or a case where the process 31 is waiting for input / output or an event.

 (ステップST105:状態変更処理)
 条件判定部241は、プロセス31を実行可能状態に変更して、プロセス31が動作しないようにする。実行可能状態とは、プロセッサ11に空きができた時点で実行状態に移る状態である。
(Step ST105: State change process)
The condition determination unit 241 changes the process 31 to an executable state so that the process 31 does not operate. The executable state is a state in which the processor 11 enters the execution state when the processor 11 becomes empty.

 (ステップST106:フォーク依頼処理)
 フォーク依頼部242は、プロセス31のフォーク依頼をプロセス管理部23のプロセスフォーク部232に送信する。
 フォークとは、プロセス31のコピーであるフォークプロセス32を生成して、プロセス31とは別に起動することである(Daniel P. Bovet, Marco Cesati 著、高橋 浩和 監訳、杉田 由美子、清水 正明、高杉 昌督、平松 雅巳、安井 隆宏 訳、「詳解 Linux(登録商標)カーネル 第3版」オライリージャパン、2009年2月17日初版第3印発行、p.123参照)。
(Step ST106: Fork request processing)
The fork request unit 242 transmits the fork request for the process 31 to the process fork unit 232 of the process management unit 23.
Fork is to create a fork process 32 that is a copy of the process 31 and start it separately from the process 31 (by Daniel P. Bovet, Marco Cesati, supervised by Hirokazu Takahashi, Yumiko Sugita, Masaaki Shimizu, Masaaki Takasugi Translated by Masahiro Hiramatsu and Takahiro Yasui, “Detailed Description Linux (Registered Trademark) Kernel 3rd Edition” O'Reilly Japan, February 17, 2009, first edition 3rd edition, p.123).

 (ステップST107:ID発行処理)
 プロセスフォーク部232は、ステップST106で送信されたフォーク依頼を受信すると、生成するフォークプロセス32を識別するためのプロセスIDを発行する。
(Step ST107: ID issuing process)
When receiving the fork request transmitted in step ST106, the process fork unit 232 issues a process ID for identifying the fork process 32 to be generated.

 (ステップST108:ID追加処理)
 リスト管理部231は、ステップST107で発行されたプロセスIDをプロセスリスト41に追加する。この際、リスト管理部231は、ステップST107で発行されたプロセスIDを、フォーク元のプロセス31のプロセスIDの子として追加する。
 プロセスリスト41は、起動しているプロセス31及びフォークプロセス32のプロセスIDのリストである。プロセスリスト41は、プロセス31及びフォークプロセス32の親子関係と状態とを管理するリストである。
(Step ST108: ID addition process)
The list management unit 231 adds the process ID issued in step ST107 to the process list 41. At this time, the list management unit 231 adds the process ID issued in step ST107 as a child of the process ID of the fork source process 31.
The process list 41 is a list of process IDs of the activated process 31 and fork process 32. The process list 41 is a list for managing the parent-child relationship and the state of the process 31 and the fork process 32.

 (ステップST109:フォーク処理)
 プロセスフォーク部232は、プロセス31をコピーしたフォークプロセス32を生成する。
 このとき、Unix(登録商標)等のオペレーティングシステム20では、プロセスの実行状態をコピーするために、コピー元のプロセス31が使用しているメモリ12のプロセスデータ全てをコピーすると、コピーの処理中プロセス31が動作できなくなる。そこで、プロセスフォーク部232は、プロセス31をコピーオンライトによってコピーして、フォークプロセス32を生成する。
 コピーオンライトは、コピー元のプロセス31とコピー先のフォークプロセス32とが、メモリ12のメモリ空間を共有し、メモリ12のデータを更新する場合に、別のメモリ空間に書き込む方法である(Daniel P. Bovet, Marco Cesati 著、高橋 浩和 監訳、杉田 由美子、清水 正明、高杉 昌督、平松 雅巳、安井 隆宏 訳、「詳解 Linux(登録商標)カーネル 第3版」オライリージャパン、2009年2月17日初版第3印発行、p.414~415参照)。
(Step ST109: Fork processing)
The process fork unit 232 generates a fork process 32 that is a copy of the process 31.
At this time, in the operating system 20 such as Unix (registered trademark), in order to copy the execution state of the process, if all the process data in the memory 12 used by the copy source process 31 is copied, 31 cannot operate. Therefore, the process fork unit 232 creates a fork process 32 by copying the process 31 by copy-on-write.
Copy-on-write is a method of writing to another memory space when the copy source process 31 and the copy destination fork process 32 share the memory space of the memory 12 and update data in the memory 12 (Daniel). P. Bovet, written by Marco Cesati, directed by Hirokazu Takahashi, Yumiko Sugita, Masaaki Shimizu, Masanori Takasugi, Masami Hiramatsu, translated by Takahiro Yasui. Issue No. 3, see pages 414 to 415).

 ステップST106からステップST109の処理は、ステップST106からステップST109の処理と同じである。 The processing from step ST106 * to step ST109 * is the same as the processing from step ST106 to step ST109.

 (ステップST110:状態復元処理)
 フォーク依頼部242は、ステップST105で実行可能状態に変更したプロセス31を、実行状態に戻す。
(Step ST110: State restoration process)
The fork request unit 242 returns the process 31 changed to the executable state in step ST105 to the execution state.

 (ステップST111:フォーク元ID取得処理)
 フォーク依頼部242は、ステップST109で生成されたフォークプロセス32のコピー元のプロセス31のプロセスIDの取得依頼を調整部243に送信する。調整部243は、取得依頼を受けたコピー元のプロセス31のプロセスIDを取得して、フォーク依頼部242に送信する。
(Step ST111: Fork source ID acquisition process)
The fork request unit 242 transmits to the adjustment unit 243 an acquisition request for the process ID of the copy source process 31 of the fork process 32 generated in step ST109. The adjustment unit 243 acquires the process ID of the copy source process 31 that has received the acquisition request, and transmits the process ID to the fork request unit 242.

 (ステップST112:フォーク先ID取得処理)
 フォーク依頼部242は、ステップST109で生成されたフォークプロセス32のプロセスIDの取得依頼を調整部243に送信する。調整部243は、取得依頼を受けたフォークプロセス32のプロセスIDを取得して、フォーク依頼部242に送信する。
(Step ST112: Fork destination ID acquisition process)
The fork request unit 242 transmits the process ID acquisition request for the fork process 32 generated in step ST109 to the adjustment unit 243. The adjustment unit 243 acquires the process ID of the fork process 32 that has received the acquisition request, and transmits the process ID to the fork request unit 242.

 (ステップST113:プロセスデータ取得処理)
 取得指示部244は、ステップST109で生成されたフォークプロセス32のプロセスデータの取得指示をダンプ取得部21に送信する。この際、取得指示部244は、ステップST111で取得されたコピー元のプロセス31のプロセスIDと、ステップST112で取得されたフォークプロセス32のプロセスIDとを取得指示とともに、ダンプ取得部21に送信する。
 ダンプ取得部21は、フォークプロセス32が使用しているメモリ12のメモリ空間のプロセスデータを、コピー元のプロセス31のダンプデータ42として取得し、メモリ12に書き込む。この際、ダンプ取得部21は、ステップST111で取得されたコピー元のプロセス31のプロセスIDと、ステップST112で取得されたフォークプロセス32のプロセスIDとを、ダンプデータ42に関連付けて書き込む。なお、ダンプ取得部21は、ステップST111で取得されたコピー元のプロセス31のプロセスIDだけを、ダンプデータ42に関連付けて書き込んでもよい。
 なお、ダンプ取得部21は、プロセスデータを取得するタイミングに、フォークプロセス32を停止させ、データの更新がされないようにした上で、プロセスデータを取得する。フォークプロセス32を停止させても、コピー元のプロセス31は動作を継続可能である。
(Step ST113: Process data acquisition process)
The acquisition instruction unit 244 transmits the process data acquisition instruction of the fork process 32 generated in step ST109 to the dump acquisition unit 21. At this time, the acquisition instruction unit 244 transmits the process ID of the copy source process 31 acquired in step ST111 and the process ID of the fork process 32 acquired in step ST112 to the dump acquisition unit 21 together with the acquisition instruction. .
The dump acquisition unit 21 acquires the process data in the memory space of the memory 12 used by the fork process 32 as the dump data 42 of the copy source process 31 and writes it in the memory 12. At this time, the dump acquisition unit 21 writes the process ID of the copy source process 31 acquired in step ST111 and the process ID of the fork process 32 acquired in step ST112 in association with the dump data 42. Note that the dump acquisition unit 21 may write only the process ID of the copy source process 31 acquired in step ST111 in association with the dump data 42.
The dump acquisition unit 21 acquires the process data after stopping the fork process 32 at the timing of acquiring the process data so that the data is not updated. Even if the fork process 32 is stopped, the copy source process 31 can continue its operation.

 (ステップST114:フォークプロセス削除処理)
 プロセスフォーク部232は、ステップST109で生成されたフォークプロセス32を削除する。
(Step ST114: Fork process deletion processing)
The process fork unit 232 deletes the fork process 32 generated in step ST109.

 ***実施の形態1の効果***
 以上のように、実施の形態1に係るプロセスデータ記録装置10は、ダンプデータ42を取得する際に、プロセス31をフォークしたフォークプロセス32を生成する。そして、プロセスデータ記録装置10は、フォークプロセス32のプロセスデータをプロセス31のダンプデータ42として取得する。
 これにより、プロセス31をタスクスイッチ程度の短い時間停止させるだけで、プロセス31のダンプデータ42を取得することが可能になる。そのため、システムの運用中にプロセス31のダンプデータ42を取得することが可能になる。
*** Effects of Embodiment 1 ***
As described above, the process data recording apparatus 10 according to the first embodiment generates the fork process 32 that forks the process 31 when acquiring the dump data 42. Then, the process data recording device 10 acquires the process data of the fork process 32 as the dump data 42 of the process 31.
As a result, the dump data 42 of the process 31 can be acquired only by stopping the process 31 for a short time such as a task switch. Therefore, it becomes possible to acquire the dump data 42 of the process 31 during the operation of the system.

 また、実施の形態1に係るプロセスデータ記録装置10は、ダンプデータ42にプロセス31のプロセスIDを関連付けて記憶する。そのため、ダンプデータ42がプロセス31のプロセスデータであることを特定可能である。 Further, the process data recording apparatus 10 according to the first embodiment stores the process ID of the process 31 in association with the dump data 42. Therefore, it can be specified that the dump data 42 is the process data of the process 31.

 なお、オペレーティングシステム20が上記の内容を実施するため、アプリケーションのプロセス31の修正も不要である。 Note that since the operating system 20 implements the above contents, it is not necessary to modify the process 31 of the application.

 ***他の構成***
 <変形例1>
 図1では、ダンプデータ42は、オペレーティングシステム20の中に示されている。これは、ダンプデータ42は、オペレーティングシステム20によって使用されるメモリ空間に記憶されることを意味する。しかし、ダンプデータ42は、オペレーティングシステム20によって使用されるメモリ空間ではなく、ユーザ空間に記憶されてもよい。
*** Other configurations ***
<Modification 1>
In FIG. 1, the dump data 42 is shown in the operating system 20. This means that the dump data 42 is stored in a memory space used by the operating system 20. However, the dump data 42 may be stored in the user space instead of the memory space used by the operating system 20.

 実施の形態2.
 実施の形態2は、周期的にダンプデータ42が生成されるような場合に、ダンプデータ42の入れ替えが行われる点が実施の形態1と異なる。実施の形態2では、この異なる点を説明し、同一の点については説明を省略する。
Embodiment 2. FIG.
The second embodiment is different from the first embodiment in that the dump data 42 is replaced when the dump data 42 is periodically generated. In the second embodiment, this different point will be described, and the description of the same point will be omitted.

 ***構成の説明***
 図3を参照して、実施の形態2に係るプロセスデータ記録装置10の構成を説明する。
 プロセスデータ記録装置10は、オペレーティングシステム20が機能構成要素としてダンプ管理部25を備える点が、図1に示されたプロセスデータ記録装置10と異なる。
*** Explanation of configuration ***
The configuration of the process data recording apparatus 10 according to the second embodiment will be described with reference to FIG.
The process data recording apparatus 10 is different from the process data recording apparatus 10 shown in FIG. 1 in that the operating system 20 includes a dump management unit 25 as a functional component.

 ***動作の説明***
 実施の形態2に係るプロセスデータ記録装置10の動作を説明する。
 実施の形態1で説明した方法により、ダンプデータ42がメモリ12に記憶される。
 ダンプ管理部25は、一定のタイミングとダンプデータ42の合計サイズ及び個数といったローテート条件によって、メモリ12に記憶された複数あるダンプデータ42を入れ替える。具体例としては、ダンプ管理部25は、一定時間経過したダンプデータ42を削除する。
*** Explanation of operation ***
The operation of the process data recording apparatus 10 according to the second embodiment will be described.
The dump data 42 is stored in the memory 12 by the method described in the first embodiment.
The dump management unit 25 replaces a plurality of dump data 42 stored in the memory 12 according to rotation conditions such as a certain timing and the total size and number of dump data 42. As a specific example, the dump management unit 25 deletes the dump data 42 after a predetermined time has elapsed.

 ***実施の形態2の効果***
 以上のように、実施の形態2に係るプロセスデータ記録装置10は、ローテート条件に従い、ダンプデータ42を入れ替える。これにより、ダンプデータ42を保存する領域に制限がある場合でも、ダンプデータ42の取得を継続することが可能になる。
*** Effects of Embodiment 2 ***
As described above, the process data recording apparatus 10 according to the second embodiment replaces the dump data 42 according to the rotation condition. As a result, even when there is a limit to the area where the dump data 42 is stored, the acquisition of the dump data 42 can be continued.

 実施の形態3.
 実施の形態3は、取得条件情報43の設定が可能な点が実施の形態1と異なる。実施の形態3では、この異なる点を説明し、同一の点については説明を省略する。
 なお、実施の形態3を実施の形態2と組み合わせることも可能である。
Embodiment 3 FIG.
The third embodiment is different from the first embodiment in that the acquisition condition information 43 can be set. In the third embodiment, this different point will be described, and the description of the same point will be omitted.
Note that Embodiment 3 can be combined with Embodiment 2.

 ***構成の説明***
 図4を参照して、実施の形態3に係るプロセスデータ記録装置10の構成を説明する。
 プロセスデータ記録装置10は、取得管理部24が命令通信部245を備える点と、オペレーティングシステム20上で、条件指定部33が動作している点とが図1に示されたプロセスデータ記録装置10と異なる。条件指定部33は、オペレーティングシステム20上で動作するプロセスである。
*** Explanation of configuration ***
The configuration of the process data recording apparatus 10 according to the third embodiment will be described with reference to FIG.
The process data recording device 10 is shown in FIG. 1 in that the acquisition management unit 24 includes an instruction communication unit 245 and the condition specifying unit 33 operates on the operating system 20. And different. The condition specifying unit 33 is a process that operates on the operating system 20.

 ***動作の説明***
 図5及び図6を参照して、実施の形態3に係るプロセスデータ記録装置10の動作を説明する。
 図5を参照して、取得条件情報43に取得条件を設定する場合の動作を説明する。
 (ステップST201:設定依頼処理)
 条件指定部33は、取得条件情報43の設定変更を依頼する条件設定依頼を命令通信部245に送信する。
 例えば、条件指定部33は、プロセスデータ記録装置10のユーザから新たな取得条件の入力を受け付けると、新たな取得条件の追加を依頼する条件設定依頼を送信する。また、条件指定部33は、プロセスデータ記録装置10のユーザから既存の取得条件の削除の入力を受け付けると、既存の取得条件の削除を依頼する条件設定依頼を送信する。
*** Explanation of operation ***
With reference to FIGS. 5 and 6, the operation of the process data recording apparatus 10 according to the third embodiment will be described.
With reference to FIG. 5, an operation when an acquisition condition is set in the acquisition condition information 43 will be described.
(Step ST201: Setting request processing)
The condition designating unit 33 transmits a condition setting request for requesting a setting change of the acquisition condition information 43 to the command communication unit 245.
For example, when receiving an input of a new acquisition condition from the user of the process data recording apparatus 10, the condition specifying unit 33 transmits a condition setting request for requesting addition of a new acquisition condition. In addition, upon receiving an input for deleting an existing acquisition condition from the user of the process data recording apparatus 10, the condition specifying unit 33 transmits a condition setting request for requesting deletion of the existing acquisition condition.

 (ステップST202:条件編集処理)
 命令通信部245は、ステップST201で送信された条件設定依頼を受信し、条件設定依頼に従い、取得条件情報43を編集する。
(Step ST202: Condition editing process)
The command communication unit 245 receives the condition setting request transmitted in step ST201, and edits the acquisition condition information 43 according to the condition setting request.

 (ステップST203:完了通知処理)
 命令通信部245は、ステップST202で取得条件情報43の編集が完了したことを示す設定完了通知を、条件指定部33に送信する。
(Step ST203: Completion notification process)
The command communication unit 245 transmits a setting completion notification indicating that the editing of the acquisition condition information 43 has been completed in step ST202 to the condition specifying unit 33.

 (ステップST204:完了通知受信処理)
 条件指定部33は、ステップST203で送信された設定完了通知を受信する。
(Step ST204: Completion Notification Reception Processing)
The condition designating unit 33 receives the setting completion notification transmitted in step ST203.

 図6を参照して、取得条件情報43を参照する場合の動作を説明する。
 (ステップST301:条件取得処理)
 条件指定部33は、取得条件情報43の取得を依頼する条件取得依頼を命令通信部245に送信する。
 例えば、条件指定部33は、プロセスデータ記録装置10のユーザから既存の取得条件の参照の入力を受け付けると、条件取得依頼を送信する。
With reference to FIG. 6, the operation when referring to the acquisition condition information 43 will be described.
(Step ST301: Condition acquisition process)
The condition designating unit 33 transmits a condition acquisition request for requesting acquisition of the acquisition condition information 43 to the command communication unit 245.
For example, the condition specifying unit 33 transmits a condition acquisition request when receiving an input of a reference to an existing acquisition condition from the user of the process data recording apparatus 10.

 (ステップST302:条件取得処理)
 命令通信部245は、ステップST301で送信された条件取得依頼を受信し、取得条件情報43の一覧を取得する。
(Step ST302: Condition acquisition process)
The command communication unit 245 receives the condition acquisition request transmitted in step ST301 and acquires a list of acquisition condition information 43.

 (ステップST303:条件通知処理)
 命令通信部245は、ステップST302で取得された取得条件情報43の一覧を条件指定部33に送信する。
(Step ST303: Condition notification process)
The command communication unit 245 transmits the list of acquisition condition information 43 acquired in step ST302 to the condition specifying unit 33.

 (ステップST304:条件通知受信処理)
 条件指定部33は、ステップST303で送信された取得条件情報43の一覧を受信する。
(Step ST304: Condition notification reception process)
The condition designating unit 33 receives the list of acquisition condition information 43 transmitted in step ST303.

 ***実施の形態3の効果***
 以上のように、実施の形態3に係るプロセスデータ記録装置10は、オペレーティングシステム20が命令通信部245を備えているため、オペレーティングシステム20上で動作する条件指定部33から取得条件情報43の設定及び参照が可能である。これにより、オペレーティングシステム20を再構築することなく、取得条件情報43の変更が可能になる。
*** Effects of Embodiment 3 ***
As described above, in the process data recording apparatus 10 according to the third embodiment, since the operating system 20 includes the command communication unit 245, the acquisition condition information 43 is set from the condition designating unit 33 operating on the operating system 20. And reference is possible. Thereby, the acquisition condition information 43 can be changed without rebuilding the operating system 20.

 実施の形態4.
 実施の形態4は、ダンプデータ42の解析を行う点が実施の形態1と異なる。実施の形態4では、この異なる点を説明し、同一の点については説明を省略する。
 なお、実施の形態4を実施の形態2又は実施の形態3と組み合わせることも可能である。
Embodiment 4 FIG.
The fourth embodiment is different from the first embodiment in that the dump data 42 is analyzed. In the fourth embodiment, this different point will be described, and the description of the same point will be omitted.
Note that Embodiment 4 can be combined with Embodiment 2 or Embodiment 3.

 ***構成の説明***
 図7を参照して、実施の形態4に係るプロセスデータ記録装置10の構成を説明する。
 プロセスデータ記録装置10は、オペレーティングシステム20が機能構成要素として障害予測部26を備える点が、図1に示されたプロセスデータ記録装置10と異なる。
 障害予測部26は、解析部261と、通知部262とを備える。
*** Explanation of configuration ***
With reference to FIG. 7, the configuration of the process data recording apparatus 10 according to the fourth embodiment will be described.
The process data recording apparatus 10 is different from the process data recording apparatus 10 shown in FIG. 1 in that the operating system 20 includes a failure prediction unit 26 as a functional component.
The failure prediction unit 26 includes an analysis unit 261 and a notification unit 262.

 ***動作の説明***
 図8を参照して、実施の形態4に係るプロセスデータ記録装置10の動作を説明する。
 (ステップST401:生成通知処理)
 ダンプ取得部21は、図2のステップST113でダンプデータ42をメモリ12に書き込むと、ダンプデータ42の生成が完了したことを示す生成完了通知を障害予測部26に送信する。
*** Explanation of operation ***
The operation of the process data recording apparatus 10 according to the fourth embodiment will be described with reference to FIG.
(Step ST401: Generation notification process)
When the dump acquisition unit 21 writes the dump data 42 to the memory 12 in step ST113 of FIG. 2, the dump acquisition unit 21 transmits a generation completion notification indicating that the generation of the dump data 42 is completed to the failure prediction unit 26.

 (ステップST402:生成通知処理)
 解析部261は、ステップST401で送信された生成完了通知を受信する。
(Step ST402: Generation Notification Process)
The analysis unit 261 receives the generation completion notification transmitted in step ST401.

 (ステップST403:更新判定処理)
 解析部261は、ダンプデータ42が新たに生成されたか否か判定する。
 解析部261は、新たにダンプデータ42が生成されていないと判定された場合、処理をステップST404に進める。一方、解析部261は、新たにダンプデータ42が生成されたと判定された場合、処理をステップST405に進める。
(Step ST403: Update determination processing)
The analysis unit 261 determines whether or not the dump data 42 has been newly generated.
If it is determined that the dump data 42 is not newly generated, the analysis unit 261 advances the process to step ST404. On the other hand, when it is determined that the dump data 42 is newly generated, the analysis unit 261 advances the process to step ST405.

 (ステップST404:待機処理)
 解析部261は、一定時間待機した上で、処理をステップST403に戻す。
(Step ST404: Standby process)
The analysis unit 261 waits for a predetermined time and then returns the process to step ST403.

 (ステップST405:読込処理)
 解析部261は、ステップST402で生成完了通知を受信した場合と、ステップST403で新たにダンプデータ42が生成されたと判定された場合とに、ダンプデータ42を読み込む。
(Step ST405: read processing)
The analysis unit 261 reads the dump data 42 when the generation completion notification is received at step ST402 and when it is determined that the dump data 42 is newly generated at step ST403.

 (ステップST406:解析処理)
 解析部261は、ステップST405で読み込まれたダンプデータ42が異常発生の前兆状態を示すか否かを判定する。
 解析部261は、ダンプデータ42が異常発生の前兆状態を示す場合、処理をステップST407に進める。一方、解析部261は、ダンプデータ42が異常発生の前兆状態を示さない場合、処理をステップST404に戻す。
 具体例としては、解析部261は、継続的に複数回取得しているダンプデータ42を入力として、ダンプデータ解析ツールにより、異常発生の前兆状態を示すか否かを判定する。ダンプデータ解析ツールは、例えば、GDB(the GNU Project debugger)である。
 例えば、解析部261は、プロセス31のヒープ領域の増加が続いている場合には、メモリ12の領域の枯渇を引き起こす可能性があることを検知する。また、解析部261は、プロセス31が使用しているバッファの使用量が増加している場合と、特定の変数の値が想定の閾値を超えてしまった場合とには、バッファオーバーフローする可能性があることを検知する。
(Step ST406: Analysis processing)
The analysis unit 261 determines whether or not the dump data 42 read in step ST405 indicates a precursor state of occurrence of an abnormality.
When the dump data 42 indicates a precursor state of occurrence of abnormality, the analysis unit 261 advances the process to step ST407. On the other hand, the analysis part 261 returns a process to step ST404, when the dump data 42 does not show the precursor state of abnormality occurrence.
As a specific example, the analysis unit 261 uses the dump data 42 continuously acquired a plurality of times as input, and determines whether or not an abnormal state sign is indicated by the dump data analysis tool. The dump data analysis tool is, for example, GDB (the GNU Project debugger).
For example, when the heap area of the process 31 continues to increase, the analysis unit 261 detects that there is a possibility that the area of the memory 12 may be exhausted. Further, the analysis unit 261 may cause a buffer overflow when the amount of use of the buffer used by the process 31 increases and when the value of a specific variable exceeds an assumed threshold value. Detect that there is.

 (ステップST407:通知処理)
 通知部262は、ステップST406で解析部261によって前兆状態を示すと判定された異常発生の内容を、ユーザとアプリケーションとの少なくともいずれかに通知する。具体例としては、通知部262は、画面への出力と、データ通信と、シグナルといった方法により通知する。
(Step ST407: Notification process)
The notification unit 262 notifies at least one of the user and the application of the content of the abnormality that has been determined by the analysis unit 261 to indicate a precursor state in step ST406. As a specific example, the notification unit 262 notifies by a method such as output to a screen, data communication, and a signal.

 ***実施の形態4の効果***
 以上のように、実施の形態4に係るプロセスデータ記録装置10は、オペレーティングシステム20が障害予測部26を備えるため、リアルタイムに取得条件情報43を解析することができる。また、プロセスデータ記録装置10は、継続してダンプデータ42を繰り返し取得することができるため、時間経過にともなう変化をダンプデータ42から検知できる。
 これにより、ダンプデータ42に基づき異常発生の前兆状態を検出することが可能になる。
*** Effects of Embodiment 4 ***
As described above, since the operating system 20 includes the failure prediction unit 26, the process data recording apparatus 10 according to the fourth embodiment can analyze the acquisition condition information 43 in real time. Further, since the process data recording device 10 can continuously acquire the dump data 42 continuously, the process data recording device 10 can detect a change with time from the dump data 42.
Thereby, it is possible to detect a precursor state of occurrence of an abnormality based on the dump data 42.

 実施の形態5.
 実施の形態5は、プロセスデバッグツールを用いてダンプデータ42を取得する点が実施の形態1と異なる。実施の形態5では、この異なる点を説明し、同一の点については説明を省略する。
 なお、実施の形態5を実施の形態2から実施の形態4のいずれかと組み合わせることも可能である。
Embodiment 5 FIG.
The fifth embodiment is different from the first embodiment in that the dump data 42 is acquired using a process debug tool. In the fifth embodiment, this different point will be described, and the description of the same point will be omitted.
Note that Embodiment 5 can be combined with any of Embodiments 2 to 4.

 ***構成の説明***
 図9を参照して、実施の形態5に係るプロセスデータ記録装置10の構成を説明する。
 プロセスデータ記録装置10は、オペレーティングシステム20が機能構成要素としてダンプ取得部21を備えず、デバッグ支援部27を備える点と、オペレーティングシステム20上でダンプ取得部34が動作している点とが図1に示されたプロセスデータ記録装置10と異なる。
 ダンプ取得部34は、オペレーティングシステム20上で動作するプロセスである。ダンプ取得部34は、プロセスデバッグツールである。具体例としては、ダンプ取得部34は、GDBである。
*** Explanation of configuration ***
With reference to FIG. 9, the structure of the process data recording apparatus 10 which concerns on Embodiment 5 is demonstrated.
The process data recording apparatus 10 includes a point that the operating system 20 does not include the dump acquisition unit 21 as a functional component but a debug support unit 27, and a point that the dump acquisition unit 34 operates on the operating system 20. 1 is different from the process data recording apparatus 10 shown in FIG.
The dump acquisition unit 34 is a process that operates on the operating system 20. The dump acquisition unit 34 is a process debug tool. As a specific example, the dump acquisition unit 34 is GDB.

 ***動作の説明***
 図10を参照して、実施の形態5に係るプロセスデータ記録装置10の動作を説明する。
 なお、基本的な処理は、一般的なプロセスデバッグツールと同じであるが、フォークプロセス32を対象としている点が異なる。
*** Explanation of operation ***
The operation of the process data recording apparatus 10 according to the fifth embodiment will be described with reference to FIG.
The basic processing is the same as that of a general process debugging tool, except that the fork process 32 is targeted.

 (ステップST501:フォーク完了通知処理)
 図2のステップST101からステップST112までが実行されると、取得指示部244は、フォークプロセス32の生成が完了したことを示すフォーク完了通知をダンプ取得部34に送信する。この際、取得指示部244は、ステップST111で取得されたコピー元のプロセス31のプロセスIDと、ステップST112で取得されたフォークプロセス32のプロセスIDとをフォーク完了通知とともに、ダンプ取得部34に送信する。
 ダンプ取得部34は、フォーク完了通知と、コピー元のプロセス31のプロセスIDと、フォークプロセス32のプロセスIDとを受信する。
(Step ST501: Fork completion notification process)
When step ST101 to step ST112 in FIG. 2 are executed, the acquisition instruction unit 244 transmits a fork completion notification indicating that the generation of the fork process 32 has been completed to the dump acquisition unit 34. At this time, the acquisition instruction unit 244 transmits the process ID of the copy source process 31 acquired in step ST111 and the process ID of the fork process 32 acquired in step ST112 to the dump acquisition unit 34 together with a fork completion notification. To do.
The dump acquisition unit 34 receives the fork completion notification, the process ID of the copy source process 31, and the process ID of the fork process 32.

 (ステップST502:アタッチ依頼処理)
 ダンプ取得部34は、ステップST501で受信されたフォークプロセス32のプロセスIDをデバッグ支援部27に送信して、フォークプロセス32のアタッチを依頼する。
(Step ST502: attach request process)
The dump acquisition unit 34 transmits the process ID of the fork process 32 received in step ST501 to the debug support unit 27 and requests attachment of the fork process 32.

 (ステップST503:アタッチ処理)
 デバッグ支援部27は、ステップST502で送信されたフォークプロセス32のプロセスIDを受信する。デバッグ支援部27は、受信されたプロセスIDをメモリ管理部22に送信して、フォークプロセス32のアタッチを行う。
(Step ST503: attach process)
The debugging support unit 27 receives the process ID of the fork process 32 transmitted in step ST502. The debug support unit 27 transmits the received process ID to the memory management unit 22 and attaches the fork process 32.

 (ステップST504:参照情報取得処理)
 メモリ管理部22は、ステップST503で送信されたプロセスIDが示すフォークプロセス32が使用するメモリ12のメモリ領域を特定して、特定されたメモリ領域を示す参照情報をダンプ取得部34に送信する。
(Step ST504: reference information acquisition process)
The memory management unit 22 identifies the memory area of the memory 12 used by the fork process 32 indicated by the process ID transmitted in step ST503, and transmits reference information indicating the identified memory area to the dump acquisition unit 34.

 (ステップST505:参照情報出力処理)
 ダンプ取得部34は、ステップST504で送信された参照情報を受信する。ダンプ取得部34は、受信された参照情報を画面出力する等して、ユーザに示す。
(Step ST505: reference information output process)
The dump acquisition unit 34 receives the reference information transmitted in step ST504. The dump acquisition unit 34 outputs the received reference information to the user, for example, by outputting it on the screen.

 (ステップST506:参照依頼処理)
 ダンプ取得部34は、ユーザから参照内容の指定を受け付ける。ダンプ取得部34は、指定された参照内容を示す参照依頼をデバッグ支援部27に送信する。
(Step ST506: Reference request processing)
The dump acquisition unit 34 receives designation of reference content from the user. The dump acquisition unit 34 transmits a reference request indicating the designated reference content to the debug support unit 27.

 (ステップST507:アドレス変換処理)
 デバッグ支援部27は、ステップST506で送信された参照依頼を受信する。デバッグ支援部27は、受信された参照依頼を、対応するメモリ12のアドレスに変換する。つまり、デバッグ支援部27は、参照依頼が変数を示す場合には、参照依頼が示す変数が記憶されたメモリ12のアドレスに参照依頼を変換する。
 デバッグ支援部27は、変換されたアドレスをメモリ管理部22に送信して、アドレスが示すメモリ12のメモリ領域に記憶されたプロセスデータの取得を依頼する。
(Step ST507: Address conversion process)
The debugging support unit 27 receives the reference request transmitted in step ST506. The debug support unit 27 converts the received reference request into the corresponding address of the memory 12. That is, when the reference request indicates a variable, the debug support unit 27 converts the reference request to the address of the memory 12 in which the variable indicated by the reference request is stored.
The debug support unit 27 transmits the converted address to the memory management unit 22 and requests acquisition of the process data stored in the memory area of the memory 12 indicated by the address.

 (ステップST508:データ返信処理)
 メモリ管理部22は、ステップST507で送信されたアドレスを受信する。メモリ管理部22は、受信されたアドレスに記憶されたプロセスデータをメモリ12から読み出す。メモリ管理部22は、読み出されたプロセスデータをデバッグ支援部27に送信する。
(Step ST508: Data reply process)
The memory management unit 22 receives the address transmitted in step ST507. The memory management unit 22 reads the process data stored at the received address from the memory 12. The memory management unit 22 transmits the read process data to the debug support unit 27.

 (ステップST509:値成形処理)
 デバッグ支援部27は、ステップST508で送信されたプロセスデータを受信する。デバッグ支援部27は、受信されたプロセスデータを、ダンプ取得部34が受け取れる形式に変換し、ダンプ取得部34に送信する。
(Step ST509: Value shaping process)
The debug support unit 27 receives the process data transmitted in step ST508. The debug support unit 27 converts the received process data into a format that can be received by the dump acquisition unit 34, and transmits the converted process data to the dump acquisition unit 34.

 (ステップST510:データ出力処理)
 ダンプ取得部34は、ステップST509で送信された、形式が変換されたプロセスデータを受信する。ダンプ取得部34は、受信されたプロセスデータを画面出力する等して、ユーザに示す。
(Step ST510: Data output processing)
The dump acquisition unit 34 receives the process data having the format converted transmitted in step ST509. The dump acquisition unit 34 outputs the received process data to the user, for example, by outputting it to the screen.

 ***実施の形態5の効果***
 以上のように、実施の形態5に係るプロセスデータ記録装置10は、プロセスデバッグツールによりプロセスデータを取得することができる。これにより、開発の段階等に、ダンプデータ42の出力を待つことなく、特定の変数の状態を確認すること、及び、実行状態に異常が起きていないかの確認をすることが可能である。
*** Effect of Embodiment 5 ***
As described above, the process data recording apparatus 10 according to the fifth embodiment can acquire process data with the process debug tool. As a result, it is possible to confirm the state of a specific variable and to confirm whether an abnormality has occurred in the execution state without waiting for the output of the dump data 42 at the development stage or the like.

 10 プロセスデータ記録装置、11 プロセッサ、12 メモリ、13 ストレージ、21 ダンプ取得部、22 メモリ管理部、23 プロセス管理部、231 リスト管理部、232 プロセスフォーク部、24 取得管理部、241 条件判定部、242 フォーク依頼部、243 調整部、244 取得指示部、245 命令通信部、25 ダンプ管理部、26 障害予測部、261 解析部、262 通知部、27 デバッグ支援部、31 プロセス、32 フォークプロセス、33 条件指定部、41 プロセスリスト、42 ダンプデータ、43 取得条件情報。 10 process data recording device, 11 processor, 12 memory, 13 storage, 21 dump acquisition unit, 22 memory management unit, 23 process management unit, 231 list management unit, 232 process fork unit, 24 acquisition management unit, 241 condition determination unit, 242, fork request unit, 243 adjustment unit, 244 acquisition instruction unit, 245 command communication unit, 25 dump management unit, 26 failure prediction unit, 261 analysis unit, 262 notification unit, 27 debug support unit, 31 process, 32 fork process, 33 Condition specifying part, 41 process list, 42 dump data, 43 acquisition condition information.

Claims (7)

 プロセスデータを取得する対象のプロセスをコピーしてフォークプロセスを生成し、前記対象のプロセスとは別に前記フォークプロセスを動作させるプロセス管理部と、
 前記プロセス管理部によって生成されたフォークプロセスについてのプロセスデータを前記対象のプロセスについてのプロセスデータとして読み出し、ダンプデータとして記憶するダンプ取得部と
を備えるプロセスデータ記録装置。
A process management unit that creates a fork process by copying a target process for obtaining process data, and operates the fork process separately from the target process;
A process data recording apparatus comprising: a dump acquisition unit that reads out process data for a fork process generated by the process management unit as process data for the target process and stores the process data as dump data.
 前記プロセスデータ記録装置は、前記対象のプロセスのプロセスIDを前記ダンプデータに関連付けて記憶する
請求項1に記載のプロセスデータ記録装置。
The process data recording apparatus according to claim 1, wherein the process data recording apparatus stores a process ID of the target process in association with the dump data.
 前記プロセス管理部は、前記対象のプロセスをコピーオンライトによってコピーすることにより、前記フォークプロセスを生成する
請求項1又は2に記載のプロセスデータ記録装置。
The process data recording apparatus according to claim 1, wherein the process management unit generates the fork process by copying the target process by copy-on-write.
 前記プロセスデータ記録装置は、さらに、
 ローテート条件に従い、前記ダンプ取得部によって記憶された前記ダンプデータを削除するダンプ管理部
を備える請求項1から3までのいずれか1項に記載のプロセスデータ記録装置。
The process data recording device further includes:
4. The process data recording apparatus according to claim 1, further comprising a dump management unit that deletes the dump data stored by the dump acquisition unit according to a rotation condition. 5.
 前記プロセスデータ記録装置は、さらに、
 前記対象のプロセスを特定する取得条件を指定する条件指定部
を備え、
 前記プロセス管理部は、前記条件指定部によって指定された前記取得条件を満たすプロセスを前記対象のプロセスとする
請求項1から4までのいずれか1項に記載のプロセスデータ記録装置。
The process data recording device further includes:
A condition designating unit for designating an acquisition condition for identifying the target process;
5. The process data recording apparatus according to claim 1, wherein the process management unit sets a process satisfying the acquisition condition specified by the condition specifying unit as the target process. 6.
 前記プロセスデータ記録装置は、さらに、
 前記ダンプ取得部によって記憶された前記ダンプデータを解析して、障害の発生を予測した障害予測通知を出力する障害予測部
を備える請求項1から5までのいずれか1項に記載のプロセスデータ記録装置。
The process data recording device further includes:
The process data recording according to any one of claims 1 to 5, further comprising a failure prediction unit that analyzes the dump data stored by the dump acquisition unit and outputs a failure prediction notification that predicts the occurrence of a failure. apparatus.
 プロセスデータを取得する対象のプロセスをコピーしてフォークプロセスを生成し、前記対象のプロセスとは別に前記フォークプロセスを動作させるプロセス管理処理と、
 前記プロセス管理処理によって生成されたフォークプロセスについてのプロセスデータを前記対象のプロセスについてのプロセスデータとして読み出し、ダンプデータとして記憶するダンプ取得処理と
をコンピュータに実行させるプロセスデータ記録プログラム。
A process management process for generating a fork process by copying a target process for obtaining process data, and operating the fork process separately from the target process;
A process data recording program for causing a computer to execute a dump acquisition process for reading process data for a fork process generated by the process management process as process data for the target process and storing the process data as dump data.
PCT/JP2017/008253 2017-03-02 2017-03-02 Process data recording device and process data recording program Ceased WO2018158906A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/008253 WO2018158906A1 (en) 2017-03-02 2017-03-02 Process data recording device and process data recording program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/008253 WO2018158906A1 (en) 2017-03-02 2017-03-02 Process data recording device and process data recording program

Publications (1)

Publication Number Publication Date
WO2018158906A1 true WO2018158906A1 (en) 2018-09-07

Family

ID=63369899

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/008253 Ceased WO2018158906A1 (en) 2017-03-02 2017-03-02 Process data recording device and process data recording program

Country Status (1)

Country Link
WO (1) WO2018158906A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072725A (en) * 2008-09-16 2010-04-02 Ricoh Co Ltd Management device, management system and program
JP2016518660A (en) * 2013-04-11 2016-06-23 オラクル・インターナショナル・コーポレイション Predictive diagnosis of SLA violations in cloud services by grasping and forecasting seasonal trends using thread strength analysis
WO2016121077A1 (en) * 2015-01-30 2016-08-04 株式会社日立製作所 Dump file generation method and dump file generation device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072725A (en) * 2008-09-16 2010-04-02 Ricoh Co Ltd Management device, management system and program
JP2016518660A (en) * 2013-04-11 2016-06-23 オラクル・インターナショナル・コーポレイション Predictive diagnosis of SLA violations in cloud services by grasping and forecasting seasonal trends using thread strength analysis
WO2016121077A1 (en) * 2015-01-30 2016-08-04 株式会社日立製作所 Dump file generation method and dump file generation device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AGETSUMA, NORITO: "Memory Busoku, Muoto, Slowdown ni Kaiseki Tool", SOFTWAREDESIGN, vol. 288, 18 October 2014 (2014-10-18), pages 55 - 64, ISSN: 0916-6297 *
HIROSE, MASAAKI: "Redis Kosei no Kandokoro Data no Eizokuka to Replication", WEB+DB PRESS, vol. 73, 25 March 2013 (2013-03-25), pages 99 - 104 *

Similar Documents

Publication Publication Date Title
JP5505501B2 (en) Multi-core processor system, control program, and control method
US20090113398A1 (en) Managing the tracing of the execution of a computer program
JP5763907B2 (en) Information processing system with lock tracing function
US8726004B2 (en) Switching drivers between processors
US8443178B2 (en) Operating system image shrinking apparatus and method and computer readable tangible medium storing a program for operating system image shrinking
JP6350090B2 (en) Storage control device, copy control program, and copy control method
JP5778296B2 (en) Virtual computer system, virtualization mechanism, and data management method
WO2011155027A1 (en) Memory access control device, multi-core processor system, memory access control method, and memory access control program
US9507657B2 (en) Investigation program, information processing apparatus, and information processing method
CN109542341B (en) A kind of reading and writing IO monitoring method, device, terminal and computer readable storage medium
EP2869189A1 (en) Boot up of a multiprocessor computer
JP2009020696A (en) Information processing apparatus and system
US20110202903A1 (en) Apparatus and method for debugging a shared library
US9208089B2 (en) Selective release-behind of pages based on repaging history in an information handling system
WO2018158906A1 (en) Process data recording device and process data recording program
EP3136245B1 (en) Computer
JP3826859B2 (en) Information processing method, program for realizing the method, and recording medium
JP5187944B2 (en) Apparatus and method for executing computer usable code
CN101583926B (en) Method and system for employing a buffer to facilitate instruction execution
KR101614650B1 (en) Method for executing executable file and computing apparatus
JP5776810B2 (en) Multiprocessor system, control program, and control method
JP6123931B1 (en) Information processing apparatus, information processing method, and program
KR101539933B1 (en) Method and apparatus for creating log on cpu hang-up
JP6545399B2 (en) INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM
JP2001051854A (en) Information management system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17898890

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17898890

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP