WO2015033759A1 - デバッグ装置、デバッグ方法及びデバッグプログラム - Google Patents
デバッグ装置、デバッグ方法及びデバッグプログラム Download PDFInfo
- Publication number
- WO2015033759A1 WO2015033759A1 PCT/JP2014/071492 JP2014071492W WO2015033759A1 WO 2015033759 A1 WO2015033759 A1 WO 2015033759A1 JP 2014071492 W JP2014071492 W JP 2014071492W WO 2015033759 A1 WO2015033759 A1 WO 2015033759A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- consumption
- current
- current consumption
- debugging
- threshold
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
- G06F11/3062—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present invention relates to a debugging device for computer program development, a debugging method, and a debugging program.
- a computer program (software, application) executed on the mobile terminal consumes a large amount of power, the capacity of the rechargeable battery decreases, and the user needs to refrain from using the application. Furthermore, if the rechargeable battery capacity is exhausted, the mobile terminal itself cannot be used. Therefore, there is a need for a computer program that consumes as little power as possible.
- Patent Document 1 a software development apparatus for developing software capable of saving power is known (for example, Patent Document 1 below).
- the power consumption by software is calculated based on the unit power consumption of hardware resources measured in advance.
- the power consumption (current consumption) of a hardware resource generally varies depending on the operation status of the hardware resource, the software development apparatus described in Patent Literature 1 cannot calculate accurate power consumption. There is a problem.
- the present invention has been made in view of such problems, and a debugging device, a debugging method, and a debugging program that can more accurately calculate the current consumption or the amount of current consumption by a computer program executed on a mobile terminal.
- the purpose is to provide.
- a debugging device is a debugging device that calculates a consumption current or a consumption current amount of a portable terminal when debugging a computer program in the portable terminal.
- An acquisition unit that acquires terminal log information indicating an operation state of hardware constituting the mobile terminal, a terminal log information acquired by the acquisition unit, and a current consumption unique from the hardware operation state stored in advance, or Calculation means for calculating the consumption current or the consumption current amount of the mobile terminal at the time of debugging based on the calculation information for calculating the consumption current amount.
- terminal log information indicating the operating state of the hardware constituting the mobile terminal is acquired at the time of debugging execution, and the current consumption of the mobile terminal at the time of debugging execution based on the acquired terminal log information or The amount of current consumption is calculated.
- the debugging device further includes an acquisition timing setting unit that sets an acquisition timing of the terminal log information, and the acquisition unit stores the terminal log information based on the acquisition timing set by the acquisition timing setting unit. It is preferable to obtain.
- the terminal log information can be acquired only at the set timing, for example, the timing at which the consumption current or the consumption current amount needs to be calculated, and the consumption current or the consumption current amount at the timing can be calculated. Convenience for (computer program developers) is improved.
- the acquisition timing setting unit sets a predetermined range of the computer program, and the acquisition unit debugs and executes the predetermined range of the computer program set by the acquisition timing setting unit.
- Terminal log information is preferably acquired. If such a configuration is adopted, terminal log information can be acquired only within a set range of a computer program, for example, a range where calculation of current consumption or current consumption is necessary, and current consumption or current consumption within that range can be calculated. Therefore, user convenience is improved.
- a threshold setting unit that sets a threshold value of current consumption or current consumption amount, and a threshold value by which the current consumption or current consumption amount calculated by the calculation unit is set by the threshold setting unit. It is preferable to further include an execution unit that determines whether or not it exceeds and executes a specific process when it is determined that the number is exceeded. By adopting such a configuration, it is possible to execute a specific process when a set threshold is exceeded, for example, it is possible to stop execution of debugging when a set threshold is exceeded, and the convenience of the user is improved. To do.
- the acquisition unit acquires terminal log information for each piece of hardware constituting the mobile terminal
- the calculation unit acquires a terminal log for each piece of hardware acquired by the acquisition unit. Based on the information and the pre-stored calculation information for calculating the unique current consumption or the current consumption amount from the operation state of the hardware, for each hardware constituting the mobile terminal at the time of debugging execution It is preferable to calculate current consumption or current consumption. By adopting such a configuration, it is possible to calculate the current consumption or the amount of current consumption for each hardware reflecting the actual operating state for each hardware when the computer program is executed. A more accurate current consumption or amount of current consumption can be calculated for each.
- threshold setting means for setting a threshold value of current consumption or current consumption amount for each hardware constituting the mobile terminal, and consumption for each hardware calculated by the calculation means It is preferable to further include an execution unit that determines whether or not the current or the amount of current consumption exceeds a threshold value of the hardware set by the threshold setting unit, and executes a specific process when it is determined that the current or the current consumption amount exceeds the threshold.
- an execution unit that determines whether or not the current or the amount of current consumption exceeds a threshold value of the hardware set by the threshold setting unit, and executes a specific process when it is determined that the current or the current consumption amount exceeds the threshold.
- the execution unit outputs a portion of the computer program that exceeds the threshold when it is determined that the threshold is exceeded.
- the user can review the computer program at the output location and rewrite the computer program to a computer program with lower current consumption or lower current consumption, thereby improving user convenience.
- the execution unit when the execution unit outputs a portion of the computer program that exceeds the threshold value, the execution unit calculates the current consumption or the amount of current consumption calculated by the calculation unit for the portion of the computer program. It is also preferable to output a correction candidate of the computer program based on it. If such a configuration is adopted, correction candidates for the computer program are automatically output, so that the user's trouble is reduced and convenience is improved.
- one aspect of the present invention can be described as an invention of a debugging apparatus and a debugging program as follows, in addition to being described as an invention of a debugging apparatus as described above.
- This is substantially the same invention only in different categories, and has the same operations and effects.
- a debugging method is a debugging method executed by a debugging device that calculates current consumption or current consumption amount of a mobile terminal when a computer program is debugged in the mobile terminal.
- the acquisition step for acquiring the terminal log information indicating the operation state of the hardware constituting the mobile terminal, the terminal log information acquired in the acquisition step, and the consumption unique from the hardware operation state stored in advance And a calculation step of calculating a consumption current or a consumption current amount of the mobile terminal at the time of debugging based on calculation information for calculating a current or a consumption current amount.
- the debugging program includes an acquisition unit configured to acquire terminal log information indicating an operating state of hardware configuring the portable terminal when the computer is debugged with the computer program on the portable terminal; Based on the terminal log information acquired by the acquisition means and the calculation information for calculating the unique current consumption or the current consumption amount from the hardware operation state stored in advance, the mobile terminal at the time of debugging execution It functions as a calculation means for calculating the consumption current or the consumption current amount.
- FIG. 1 is a configuration diagram of a debugging system according to first and second embodiments of the present invention.
- FIG. It is a figure which shows the example of a screen of the debug application performed with the debugging apparatus which concerns on 1st, 2nd embodiment of this invention.
- It is a functional block diagram of a debugging device concerning a 1st embodiment of the present invention.
- It is a figure which shows the example of a table of terminal log information.
- the table example (the 2) of a consumption current calculation table is a figure which shows the table example (the 2) of a consumption current calculation table.
- FIG. 1 is a configuration diagram of a debugging system 3 including a debugging device 1 according to the present embodiment.
- the debug system 3 includes a debug device 1 and a portable terminal 2.
- the debugging device 1 and the portable terminal 2 are connected to each other via a wired or wireless network by a user (computer program developer) during debugging.
- the debugging device 1 calculates the current consumption or the amount of current consumption of the mobile terminal 2 when the mobile terminal 2 executes the debugging of the computer program.
- the debugging device 1 is configured by a general computer, and a debugging function is provided by executing a debugging program 60 described later on the computer. The user operates the debug device 1 to debug the computer program that is the debug target.
- the mobile terminal 2 is composed of a smartphone or a mobile phone.
- the computer program to be debugged operates on the mobile terminal 2, and the computer program to be debugged is executed on the mobile terminal 2 by transmitting or receiving an instruction or information from the debug device 1 to the mobile terminal 2 via the network.
- the debug execution result can be confirmed by the debug device 1.
- FIG. 2 is a diagram showing a screen example of a debug application for using the debug function provided by the debug device 1.
- the debug application is composed of a plurality of window areas in the same manner as a general debug application.
- an area A for displaying a file tree of a computer program to be debugged As shown in the screen example of the debug application shown in FIG. 2, an area B for displaying a screen image for a current development target, an area C for displaying a program code for a current development target, It is composed of an area D for displaying values of variables and the like in real time during debugging.
- the acquisition timing of the terminal log information is set in the areas A to C, and the information regarding the current consumption or the current consumption amount is displayed in the area D.
- FIG. 3 is a functional block diagram of the debugging device 1 and the mobile terminal 2 according to the first embodiment of the present invention.
- the debugging device 1 includes an acquisition timing setting unit 10 (acquisition timing setting unit), a debug processing unit 11, a terminal log information acquisition unit 12 (acquisition unit), a current consumption calculation unit 13 (calculation unit), and A current consumption output unit 14 is included.
- the mobile terminal 2 includes a debug processing unit 20 and a terminal log information processing unit 21.
- FIG. 4 is a diagram illustrating an example of a hardware configuration of the debugging device 1 and the mobile terminal 2. As shown in FIG. 4, the debugging device 1 and the mobile terminal 2 shown in FIG.
- the computer system physically include a CPU 100 that is a central processing unit, a GPU 101 that is a processing device for image processing, a RAM 102 that is a main storage device, and
- the computer system includes a ROM 103, an input / output device 104 such as a display, a communication module 105, a GPS 106 as a position information acquisition device, a sensor 107 including an acceleration sensor, a geomagnetic sensor, or a gyro sensor, an auxiliary storage device 108, and the like.
- the functions of the functional blocks of the debugging device 1 and the mobile terminal 2 shown in FIG. 3 are controlled by the CPU 100 and the GPU 101 by loading predetermined computer software on the hardware such as the CPU 100, the GPU 101, and the RAM 102 shown in FIG. This is realized by operating the input / output device 104, the communication module 105, the GPS 106, the sensor 107, and the auxiliary storage device 108, and reading and writing data in the RAM 102.
- the acquisition timing setting unit 10 sets the acquisition timing of terminal log information (described later) indicating the (current) operating state of the hardware configuring the mobile terminal 2 based on a user instruction or the like.
- the acquisition timing setting unit 10 may set a predetermined range of the computer program. For example, as a specific example of the acquisition timing, a line (start point) of a computer program that starts acquisition of terminal log information, a line (end point) of a computer program that ends acquisition of terminal log information, and terminal log information are acquired. Examples include a function of a computer program, a screen for acquiring terminal log information (a screen realized by a computer program), and the like.
- the acquisition timing setting unit 10 may also set an acquisition frequency such as acquiring terminal log information periodically (for example, every second) as the acquisition timing.
- the acquisition timing is also a power (current) measurement target range.
- the debug processing unit 11 performs a debugging process included in a general debug application. For example, the debug processing unit 11 transfers (synchronizes) a computer program to be debugged to the mobile terminal 2. Further, the debug processing unit 11 transmits a debug execution instruction from the user to the mobile terminal 2, and performs debug execution in the mobile terminal 2. Further, the debug processing unit 11 transmits an instruction regarding other debug processing from the user to the mobile terminal 2, receives a response from the mobile terminal 2, and performs specific processing. Further, the debug processing unit 11 receives an instruction regarding the debug process from the mobile terminal 2 and performs a specific process.
- the terminal log information acquisition unit 12 acquires terminal log information from the mobile terminal 2 during debugging.
- the terminal log information acquisition unit 12 may acquire terminal log information based on the acquisition timing set by the acquisition timing setting unit 10.
- the terminal log information acquisition unit 12 may acquire terminal log information when a predetermined range of the computer program set by the acquisition timing setting unit 10 is debugged.
- the terminal log information acquisition unit 12 may acquire terminal log information for each piece of hardware constituting the mobile terminal 2.
- FIG. 5 is a diagram showing a table example of terminal log information.
- the terminal log information is associated with the name of each hardware constituting the mobile terminal 2, the name indicating the operation state, and the current value of the operation state (when acquiring the terminal log information).
- the terminal log information shown in FIG. 5 indicates that the current operating frequency of the CPU is 0.5 GHz and the operating rate is 10%.
- the consumption current calculation unit 13 includes terminal log information acquired by the terminal log information acquisition unit 12, and calculation information for calculating a unique consumption current or a consumption current amount stored in advance from the hardware operating state. Based on the above, the current consumption or the amount of current consumption of the mobile terminal 2 at the time of debugging is calculated.
- the consumption current calculation unit 13 calculates a unique consumption current or consumption current amount from the terminal log information for each hardware acquired by the terminal log information acquisition unit 12 and the operation state of the hardware stored in advance.
- the current consumption or the amount of current consumption for each piece of hardware that constitutes the mobile terminal 2 at the time of debugging may be calculated based on the calculation information for performing the debugging.
- the calculation information is stored in advance in a memory or the like of the debug device 1.
- a specific example of the calculation information is a current consumption calculation table.
- 6 to 8 are diagrams showing examples of consumption current calculation tables. As shown in FIGS. 6 to 8, the consumption current calculation table correlates the names, operation states, and consumption currents of the hardware constituting the portable terminal 2. For example, the consumption current calculation table shown in FIG. 6 indicates that when the operating frequency of the CPU of the mobile terminal 2 is 0.5 GHz and the operation rate is 3%, the consumption current is 16 mA.
- the current consumption calculation unit 13 displays Based on the calculated value, the current consumption is calculated as 16 mA from the above-mentioned content of the current consumption calculation table shown in the table “the current consumption is 16 mA when the operating frequency of the CPU is 0.5 GHz and the operation rate is 3%”. Then, the current consumption of the CPU of the mobile terminal 2 at the time of debug execution is calculated.
- the current consumption is associated with the operation rate every 1%, but it is not limited to 1% and may be associated with every other unit.
- the operating rate of 0% takes into account offsets.
- the method of calculating the consumption current for each hardware by the consumption current calculation unit 13 is a method of calculating the consumption current for each acquired terminal log information and sequentially integrating the consumption current within the power (current) measurement target range. It is.
- the current consumption is calculated for each acquired terminal log information, and when the end point of the power (current) measurement target range is reached, the current consumption from the start point to the end point is integrated. May be.
- the acquired terminal log information is retained, and when the end point of the power (current) measurement target range is reached, the terminal log information from the start point to the end point is collected, You may calculate a consumption current from the result of the collected terminal log information.
- the current consumption has been described in the above specific examples, the same applies to the amount of current consumption. That is, in the above specific example, “current consumption” may be read as “current consumption”.
- the consumption current output unit 14 outputs the consumption current or the total amount of consumption current of each hardware calculated by the consumption current calculation unit 13. For example, the consumption current output unit 14 displays the consumption current or the consumption current amount on the screen of the debug device 1 (area D in FIG. 2) or transmits it to another device via a network. Further, the consumption current output unit 14 may output the calculated consumption current or the consumption current amount for each hardware (CPU, GPU, GPS, etc.).
- the debug processing unit 20 performs debug processing in cooperation with the processing of the debug processing unit 11 of the debug device 1 described above. For example, the debug processing unit 20 sets the computer program to be debugged transferred from the debug processing unit 11 in the portable terminal 2 so that debugging can be executed. In addition, the debug processing unit 20 receives the debug execution instruction transmitted from the debug processing unit 11 from the user, and performs the debug execution in the mobile terminal 2. In addition, the debug processing unit 20 receives an instruction relating to other debug processing transmitted from the debug processing unit 11, performs corresponding debug processing in the mobile terminal 2, and returns a response to the debug processing unit 11. . In addition, the debug processing unit 20 transmits an instruction regarding debug processing to the debug processing unit 11.
- the terminal log information processing unit 21 acquires the terminal log information of the portable terminal 2 based on the instruction from the debug processing unit 20 and transmits the terminal log information to the terminal log information acquisition unit 12 of the debugging device 1.
- a start point and an end point are set by the acquisition timing setting unit 10 of the debug device 1 (step S1).
- the debug processing unit 11 of the debugging device 1 transfers the computer program to be debugged to the portable terminal 2 (Step S2), and the debug processing unit 20 of the portable terminal 2 transfers the transferred computer program to the portable terminal 2. It is set (step S3).
- the debug processing unit 11 of the debugging device 1 instructs the mobile terminal 2 to execute debugging (step S4), and the debug processing unit 11 of the mobile terminal 2 executes debug execution of the computer program based on the instruction. It starts (step S5).
- the debug processing unit 20 of the mobile terminal 2 When debugging reaches the set start point after the debug execution is started in the mobile terminal 2, the debug processing unit 20 of the mobile terminal 2 notifies the debug device 1 to that effect (step S6). Next, the notification is received by the debug processing unit 11 of the debugging device 1, and a request for terminal log information is transmitted to the portable terminal 2 (step S7). Next, the request is received by the debug processing unit 20 of the mobile terminal 2, terminal log information of the mobile terminal 2 is acquired, and transmitted to the debug device 1 (step S8). Next, the transmitted terminal log information is acquired by the terminal log information acquisition unit 12 of the debug device 1 and stored in the memory of the debug device 1 (step S9, acquisition step).
- the debug processing unit 20 of the mobile terminal 2 notifies the debug device 1 to that effect (step S10). .
- the notification is received by the debug processing unit 11 of the debug device 1, and based on the instruction of the debug processing unit 11, the current consumption calculating unit 13 calculates the current consumption or the current consumption based on the terminal log information stored in S9. (Step S11, calculation step).
- the calculated current consumption or the amount of current consumption is output by the current consumption output unit 14 of the debugging device 1 (step S12).
- terminal log information indicating the operating state of the hardware configuring the mobile terminal 2 at the time of debug execution is directly acquired from the mobile terminal 2 and debug execution is performed based on the acquired terminal log information.
- the current consumption or current consumption amount of each hardware of the portable terminal 2 at the time, or the total value of the current consumption or current consumption amounts of all hardware is calculated.
- terminal log information is acquired only at a set timing, for example, a timing at which a consumption current or a consumption current amount needs to be calculated, and a consumption current or a consumption current amount at the timing is calculated. Therefore, the convenience of the user (computer program developer) is improved.
- terminal log information is acquired only within a set range of a computer program, for example, a range that requires calculation of current consumption or current consumption, and current consumption or current consumption in the range is acquired. Since the amount can be calculated, convenience for the user is improved.
- the consumption current or the consumption current amount for each hardware that reflects the actual operation state for each hardware when the computer program is executed is calculated. Therefore, it is possible to calculate a more accurate current consumption or current consumption amount for each hardware.
- FIG. 10 is a functional block diagram of the debugging device 1a and the mobile terminal 2 according to the second embodiment of the present invention.
- the debug device 1 includes a debug processing unit 11, a terminal log information acquisition unit 12 (acquisition unit), a current consumption calculation unit 13 (calculation unit), a threshold setting unit 15 (threshold setting unit), and an execution unit 16. (Execution means).
- the mobile terminal 2 is the same as the functional block diagram of the first embodiment.
- the debug device 1a shown in FIG. 10 is physically similar to the debug device 1, as shown in FIG. 4, the CPU 100, GPU 101, RAM 102, ROM 103, input / output device 104, communication module 105, GPS 106, sensor 107 And an auxiliary storage device 108 and the like.
- the functions of the functional blocks of the debug device 1a shown in FIG. 10 are entered under the control of the CPU 100 and the GPU 101 by loading predetermined computer software on the hardware such as the CPU 100, the GPU 101, and the RAM 102 shown in FIG. This is realized by operating the output device 104, the communication module 105, the GPS 106, the sensor 107, and the auxiliary storage device 108, and reading and writing data in the RAM 102.
- the threshold setting unit 15 sets a threshold value of current consumption or current consumption specified by the user or the like.
- the threshold value setting unit 15 may set a threshold value of current consumption or current consumption amount for each piece of hardware constituting the mobile terminal 2. That is, the consumption current or the threshold value of the consumption current amount may be set for each hardware, or may be set for the total value of the consumption current or the consumption current amount of all hardware.
- the threshold setting unit 15 sets the CPU current consumption threshold to 100 mA, sets the GPU current consumption threshold to 50 mA, and sets the LTE current consumption threshold to 300 mA.
- a threshold value of current consumption may be set for each of one or more pieces of hardware.
- the threshold setting unit 15 may similarly set the threshold for the current consumption.
- the execution unit 16 determines whether or not the current consumption or the amount of current consumption calculated by the current consumption calculation unit 13 exceeds the threshold set by the threshold setting unit 15, and executes a specific process when it is determined that it exceeds To do. Further, the execution unit 16 determines whether or not the current consumption or the current consumption amount for each hardware calculated by the current consumption calculation unit 13 exceeds the hardware threshold set by the threshold setting unit 15, A specific process may be executed when it is determined that the number is exceeded.
- the execution unit 16 determines that the consumption current or the consumption current amount for each piece of hardware calculated by the consumption current calculation unit 13 exceeds the hardware threshold set by the threshold setting unit 15,
- the hardware information may be displayed.
- the execution unit 16 displays, as hardware information, for example, the name of the hardware, the operation state at that time, and the current consumption or the current consumption amount.
- you may output the location of the computer program which exceeded the threshold value.
- the execution unit 16 outputs a portion of the computer program that exceeds the threshold, the computer program is corrected based on the consumption current or the consumption current amount calculated by the consumption current calculation unit 13 for the portion of the computer program.
- Candidates may also be output. For example, when the hardware that exceeds the current consumption or current consumption threshold is GPS, the execution unit 16 reduces the communication frequency from “once per minute” to “once every 5 minutes”. Output program correction candidates.
- a threshold value is set by the threshold value setting unit 15 of the debugging device 1a (step S20).
- the debug processing unit 11 of the debugging device 1a transfers the computer program to be debugged to the portable terminal 2 (step S21), and the transferred computer program is transferred to the portable terminal 2 by the debugging processing unit 20 of the portable terminal 2. It is set (step S22).
- the debug processing unit 11 of the debug device 1a instructs the mobile terminal 2 to execute debugging (step S23), and the debug processing unit 11 of the mobile terminal 2 executes debug execution of the computer program based on the instruction. Start (step S24).
- the terminal log information is acquired by the debug processing unit 20 of the mobile terminal 2 and transmitted to the debug device 1a (step S25), and the terminal log information acquisition unit 12 of the debug device 1a is acquired. And stored in the memory of the debugging device 1a (step S26, acquisition step).
- the current consumption or the amount of current consumption is calculated by the current consumption calculator 13 of the debug device 1a based on the terminal log information stored in S26 (step S27, calculation step).
- the execution unit 16 of the debugging device 1a determines whether or not the consumption current or the consumption current amount calculated in S27 exceeds the threshold set in S20 (step S28), and it is determined that it exceeds. In such a case, the execution unit 16 of the debugging device 1a instructs the mobile terminal 2 to stop debugging (step S29), and the debug processing unit 11 of the mobile terminal 2 executes debug execution of the computer program based on the instruction. Is stopped (step S30). Next, the range of the computer program exceeding the threshold is notified to the user (step S31).
- a specific process can be executed when the set threshold is exceeded, and for example, the debug execution can be stopped when the set threshold is exceeded. Improved convenience.
- a specific process can be executed when the current consumption or the current consumption amount threshold for each set hardware is exceeded. For example, for each set hardware The user convenience is improved, for example, the debug execution can be stopped when the current consumption or the current consumption threshold value is exceeded.
- the debug device 1a of the present embodiment when the set current consumption or current consumption threshold value for each hardware is exceeded, the information on the hardware can be displayed.
- this information is useful reference information in developing software that can be used, and the convenience of the user is improved.
- the user can review the computer program at the output location and rewrite the computer program to a computer program with lower current consumption or lower current consumption. improves.
- the debugging device 1a of the present embodiment since the computer program correction candidates are automatically output, the user's effort is reduced and convenience is improved.
- debug program 60 for causing a computer to execute the above-described series of debugging devices 1 will be described. As shown in FIG. 12, the debug program 60 is inserted into a computer and accessed, or stored in a program storage area 51 formed on a recording medium 50 provided in the computer. More specifically, the debug program 60 is stored in a program storage area 51 formed in the recording medium 50 provided in the debug device 1.
- the debug program 60 includes an acquisition module 61 and a calculation module 62.
- the functions realized by executing the acquisition module 61 and the calculation module 62 are the same as the functions of the terminal log information acquisition unit 12 and the consumption current calculation unit 13 of the debug device 1 described above.
- each module of the debug program 60 may be installed in any one of a plurality of computers instead of one computer. In that case, a series of processes of the debug program 60 described above are performed by the computer system of the plurality of computers.
- each screen, function, or line consumed by the computer program can be identified and consumed, and debugging can be performed.
- Application development with reduced current consumption or current consumption can be performed in the mobile terminal, and as a result, the mobile terminal can be used for a long time.
- the debug device 1 may be provided with some functions provided in the debug device 1a by deleting some of the functions provided. Similarly, the debugging device 1a may delete some of the functions provided and provide some of the functions provided in the debugging device 1.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
図3は、本発明の第1実施形態に係るデバッグ装置1及び携帯端末2の機能ブロック図である。図1に示す通り、デバッグ装置1は、取得タイミング設定部10(取得タイミング設定手段)、デバッグ処理部11、端末ログ情報取得部12(取得手段)、消費電流算出部13(算出手段)、及び消費電流出力部14を含んで構成される。また、携帯端末2は、デバッグ処理部20及び端末ログ情報処理部21を含んで構成される。
[一次式の例]
P=ax+b (P:消費電流、a:ハードウェア毎に定まる係数、x:ハードウェア毎の変数、b:オフセット)
[二次式の例]
P=ax^2+bx+c (P:消費電流、a、b:ハードウェア毎に定まる係数、x:ハードウェア毎の変数、c:オフセット)
[非線形関数の例]
P=fa(x) (P:消費電流、fa(x):ハードウェアを変数とした非線形関数、x:ハードウェア毎の変数)
消費電流算出部13は、端末ログ情報取得部12によって取得された端末ログ情報と上記に例示するような数式とに基づいて、デバッグ実行時の携帯端末2の消費電流を算出する。
続いて、本発明の第2実施形態に係るデバッグ装置1aについて説明する。なお、以下では第1実施形態に係るデバッグ装置1との差分についてのみ説明し、その他の部分についてはデバッグ装置1と同様である。
引き続いて、上述した一連のデバッグ装置1による処理をコンピュータに実行させるためのデバッグプログラム60を説明する。図12に示すように、デバッグプログラム60は、コンピュータに挿入されてアクセスされる、あるいはコンピュータが備える記録媒体50に形成されたプログラム格納領域51内に格納される。より具体的には、デバッグプログラム60は、デバッグ装置1が備える記録媒体50に形成されたプログラム格納領域51内に格納される。
Claims (7)
- 携帯端末においてコンピュータプログラムをデバッグ実行する際の携帯端末の消費電流又は消費電流量を算出するデバッグ装置であって、
デバッグ実行時に、携帯端末を構成するハードウェアの動作状態を示す端末ログ情報を取得する取得手段と、
前記取得手段によって取得された端末ログ情報と、予め格納されている、ハードウェアの動作状態から一意の消費電流又は消費電流量を算出するための算出情報とに基づいて、デバッグ実行時の携帯端末の消費電流又は消費電流量を算出する算出手段と、
消費電流又は消費電流量の閾値を設定する閾値設定手段と、
前記算出手段によって算出された消費電流又は消費電流量が前記閾値設定手段によって設定された閾値を超えるか否かを判定し、超えると判定した場合に特定の処理を実行する実行手段と、
を備え、
前記実行手段は、閾値を超えると判定した場合に、閾値を超えたコンピュータプログラムの箇所を出力する、デバッグ装置。 - 携帯端末においてコンピュータプログラムをデバッグ実行する際の携帯端末の消費電流又は消費電流量を算出するデバッグ装置であって、
デバッグ実行時に、携帯端末を構成する各ハードウェア毎の動作状態を示す端末ログ情報を取得する取得手段と、
前記取得手段によって取得された各ハードウェア毎の端末ログ情報と、予め格納されている、当該ハードウェアの動作状態から一意の消費電流又は消費電流量を算出するための算出情報とに基づいて、デバッグ実行時の携帯端末を構成する各ハードウェア毎の消費電流又は消費電流量を算出する算出手段と、
携帯端末を構成する各ハードウェア毎の消費電流又は消費電流量の閾値を設定する閾値設定手段と、
前記算出手段によって算出された各ハードウェア毎の消費電流又は消費電流量が前記閾値設定手段によって設定された当該ハードウェアの閾値を超えるか否かを判定し、超えると判定した場合に特定の処理を実行する実行手段と、
を備え、
前記実行手段は、閾値を超えると判定した場合に、閾値を超えたコンピュータプログラムの箇所を出力する、デバッグ装置。 - 前記実行手段は、閾値を超えたコンピュータプログラムの箇所を出力する際に、当該コンピュータプログラムの箇所について、前記算出手段によって算出された消費電流又は消費電流量に基づいたコンピュータプログラムの修正候補も出力する、請求項1又は2に記載のデバッグ装置。
- 端末ログ情報の取得タイミングを設定する取得タイミング設定手段をさらに備え、
前記取得手段は、前記取得タイミング設定手段によって設定された取得タイミングに基づいて端末ログ情報を取得する、請求項1~3の何れか一項に記載のデバッグ装置。 - 前記取得タイミング設定手段は、コンピュータプログラムの所定の範囲を設定し、
前記取得手段は、前記取得タイミング設定手段によって設定されたコンピュータプログラムの所定の範囲がデバッグ実行される際に、端末ログ情報を取得する、請求項4に記載のデバッグ装置。 - 携帯端末においてコンピュータプログラムをデバッグ実行する際の携帯端末の消費電流又は消費電流量を算出するデバッグ装置により実行されるデバッグ方法であって、
デバッグ実行時に、携帯端末を構成するハードウェアの動作状態を示す端末ログ情報を取得する取得ステップと、
前記取得ステップにおいて取得された端末ログ情報と、予め格納されている、ハードウェアの動作状態から一意の消費電流又は消費電流量を算出するための算出情報とに基づいて、デバッグ実行時の携帯端末の消費電流又は消費電流量を算出する算出ステップと、
消費電流又は消費電流量の閾値を設定する閾値設定ステップと、
前記算出ステップにおいて算出された消費電流又は消費電流量が前記閾値設定ステップにおいて設定された閾値を超えるか否かを判定し、超えると判定した場合に特定の処理を実行する実行ステップと、
を含み、
前記実行ステップは、閾値を超えると判定した場合に、閾値を超えたコンピュータプログラムの箇所を出力する、デバッグ方法。 - コンピュータを、
携帯端末上でのコンピュータプログラムのデバッグ実行時に、携帯端末を構成するハードウェアの動作状態を示す端末ログ情報を取得する取得手段と、
前記取得手段によって取得された端末ログ情報と、予め格納されている、ハードウェアの動作状態から一意の消費電流又は消費電流量を算出するための算出情報とに基づいて、デバッグ実行時の携帯端末の消費電流又は消費電流量を算出する算出手段と、
消費電流又は消費電流量の閾値を設定する閾値設定手段と、
前記算出手段によって算出された消費電流又は消費電流量が前記閾値設定手段によって設定された閾値を超えるか否かを判定し、超えると判定した場合に特定の処理を実行する実行手段、
として機能させ、
前記実行手段は、閾値を超えると判定した場合に、閾値を超えたコンピュータプログラムの箇所を出力する、デバッグプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14842850.1A EP3043265A4 (en) | 2013-09-04 | 2014-08-15 | DEVICE, METHOD, AND DEBUGGING PROGRAM |
CN201480047777.1A CN105493048B (zh) | 2013-09-04 | 2014-08-15 | 调试装置、调试方法以及存储介质 |
US14/916,636 US10073762B2 (en) | 2013-09-04 | 2014-08-15 | Debug device, debug method, and debug program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013-183152 | 2013-09-04 | ||
JP2013183152A JP5934160B2 (ja) | 2013-09-04 | 2013-09-04 | デバッグ装置、デバッグ方法及びデバッグプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015033759A1 true WO2015033759A1 (ja) | 2015-03-12 |
Family
ID=52628239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/071492 WO2015033759A1 (ja) | 2013-09-04 | 2014-08-15 | デバッグ装置、デバッグ方法及びデバッグプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10073762B2 (ja) |
EP (1) | EP3043265A4 (ja) |
JP (1) | JP5934160B2 (ja) |
CN (1) | CN105493048B (ja) |
WO (1) | WO2015033759A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2597482B (en) * | 2020-07-22 | 2022-08-24 | Advanced Risc Mach Ltd | A debug probe for measuring at least one property of a target system |
CN112328491B (zh) * | 2020-11-18 | 2024-06-28 | Oppo广东移动通信有限公司 | 追踪消息的输出方法、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11232147A (ja) * | 1998-02-16 | 1999-08-27 | Toshiba Corp | パワーエスティメーション装置、パワーエスティメーション方法、及びパワーエスティメーションプログラムを記録した機械読み取り可能な記録媒体 |
JP2009075965A (ja) | 2007-09-21 | 2009-04-09 | Fujitsu Microelectronics Ltd | ソフトウェア開発方法及びソフトウェア開発装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7290246B2 (en) * | 2002-04-04 | 2007-10-30 | Texas Instruments Incorporated | Power profiling system and method for correlating runtime information |
US7149636B2 (en) * | 2002-04-04 | 2006-12-12 | Texas Instruments Incorporated | Method and apparatus for non-obtrusive power profiling |
CA2408457A1 (en) * | 2002-10-17 | 2004-04-17 | Ibm Canada Limited-Ibm Canada Limitee | Collection and detection of differences of values of expressions/variables when debugging a computer process |
CN1310150C (zh) * | 2002-11-21 | 2007-04-11 | 中兴通讯股份有限公司 | 一种嵌入式软件测试方法 |
US7496903B2 (en) * | 2003-08-12 | 2009-02-24 | Hewlett-Packard Development Company, L.P. | Synthesizing application response measurement (ARM) instrumentation |
US7434205B1 (en) * | 2004-02-19 | 2008-10-07 | Steenhagen Shawn K | Virtual type interpretation, interaction and detection |
WO2006024325A1 (en) * | 2004-08-31 | 2006-03-09 | Freescale Semiconductor, Inc. | Method for estimating power consumption |
US9146832B2 (en) * | 2005-10-14 | 2015-09-29 | Oracle International Corporation | Debugging functionality embedded in an application |
US7788730B2 (en) * | 2006-01-17 | 2010-08-31 | International Business Machines Corporation | Secure bytecode instrumentation facility |
JP5076381B2 (ja) * | 2006-07-07 | 2012-11-21 | 富士通セミコンダクター株式会社 | ソフトウェア開発装置及びソフトウェア開発方法 |
US8522209B2 (en) * | 2007-03-30 | 2013-08-27 | Sap Ag | Method and system for integrating profiling and debugging |
US8166459B2 (en) * | 2008-02-27 | 2012-04-24 | Sap Ag | Apparatus and method of generating self-debugging computer software |
US20100083244A1 (en) * | 2008-09-26 | 2010-04-01 | Nokia Corporation | Methods, apparatuses, and computer program products for repurposing computing devices |
US8972954B2 (en) * | 2009-07-13 | 2015-03-03 | Adobe Systems Incorporated | Debugging method using program inspectors to debug programs developed using frameworks and libraries |
US20110258613A1 (en) * | 2010-04-15 | 2011-10-20 | International Business Machines Corporation | Software debugger activation based on key performance indicators |
US8645761B2 (en) * | 2011-01-13 | 2014-02-04 | International Business Machines Corporation | Precise fault localization |
US9262250B2 (en) * | 2011-12-12 | 2016-02-16 | Crashlytics, Inc. | System and method for data collection and analysis of information relating to mobile applications |
US9176841B2 (en) | 2011-12-28 | 2015-11-03 | Microsoft Technology Licensing, Llc | Estimating application energy usage in a target device |
US9020463B2 (en) * | 2011-12-29 | 2015-04-28 | The Nielsen Company (Us), Llc | Systems, methods, apparatus, and articles of manufacture to measure mobile device usage |
US20130247007A1 (en) * | 2012-03-16 | 2013-09-19 | International Business Machines Corporation | Making debugger behavior conditional on past program state |
US8930917B2 (en) * | 2012-05-22 | 2015-01-06 | Adobe Systems Incorporated | Method and apparatus for mobile application development and testing that avoids repackaging and reinstallation |
US9811433B2 (en) * | 2013-09-20 | 2017-11-07 | Oracle International Corporation | User-directed diagnostics and auto-correction |
-
2013
- 2013-09-04 JP JP2013183152A patent/JP5934160B2/ja active Active
-
2014
- 2014-08-15 CN CN201480047777.1A patent/CN105493048B/zh not_active Expired - Fee Related
- 2014-08-15 US US14/916,636 patent/US10073762B2/en not_active Expired - Fee Related
- 2014-08-15 WO PCT/JP2014/071492 patent/WO2015033759A1/ja active Application Filing
- 2014-08-15 EP EP14842850.1A patent/EP3043265A4/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11232147A (ja) * | 1998-02-16 | 1999-08-27 | Toshiba Corp | パワーエスティメーション装置、パワーエスティメーション方法、及びパワーエスティメーションプログラムを記録した機械読み取り可能な記録媒体 |
JP2009075965A (ja) | 2007-09-21 | 2009-04-09 | Fujitsu Microelectronics Ltd | ソフトウェア開発方法及びソフトウェア開発装置 |
Non-Patent Citations (2)
Title |
---|
See also references of EP3043265A4 |
YUKIYOSHI HARAGUCHI: "IAR Embedded Workbench ga Renesas RX Series ni Taio!", INTERFACE, vol. 38, no. 5, 1 May 2012 (2012-05-01), pages 138 - 139, XP008179950 * |
Also Published As
Publication number | Publication date |
---|---|
JP5934160B2 (ja) | 2016-06-15 |
CN105493048B (zh) | 2018-06-01 |
CN105493048A (zh) | 2016-04-13 |
US10073762B2 (en) | 2018-09-11 |
JP2015049840A (ja) | 2015-03-16 |
EP3043265A4 (en) | 2016-08-03 |
EP3043265A1 (en) | 2016-07-13 |
US20160217059A1 (en) | 2016-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9939878B2 (en) | Energy-aware code offload for mobile devices | |
US9946628B2 (en) | Embedding and executing trace functions in code to gather trace data | |
CN111209193B (zh) | 程序的调试方法及装置 | |
CN105144118A (zh) | 应用测试和分析 | |
US11422916B2 (en) | Usage amount monitoring method and monitoring unit of electronic control unit for vehicle | |
CN109582377A (zh) | Bios选项修改方法、装置、设备及存储介质 | |
JP2010225133A (ja) | 消費電力評価装置、電力係数作成システム、消費電力評価方法及び電力係数作成方法。 | |
US20170322860A1 (en) | Power monitoring system for virtual platform simulation | |
US9526026B2 (en) | Method for controlling information processing apparatus and information processing apparatus | |
JP5934160B2 (ja) | デバッグ装置、デバッグ方法及びデバッグプログラム | |
CN110333843B (zh) | 虚拟机高精度定时器的实现方法、装置及电子设备 | |
JP5787259B2 (ja) | 消費電力分析システムおよびアプリケーション開発ツール | |
WO2011080667A1 (en) | Method for providing a real time to an application running on a virtual platform | |
CN104166544A (zh) | 文件合并方法及装置 | |
CN115328526A (zh) | 一种依赖包的更新方法、装置、设备及存储介质 | |
Kakkar et al. | Risk analysis in mobile application development | |
CN112199270A (zh) | 一种程序测试方法、装置、设备及介质 | |
US10430313B2 (en) | System for correlation of operating system and hardware trace events | |
US8819274B2 (en) | Selecting a network connection for data communications with a networked device | |
US9042257B2 (en) | Information processing apparatus and method | |
JP6486295B2 (ja) | 電子機器、消費電流の算出方法及びプログラム | |
CN117453284A (zh) | 融媒体项目软件开发的工时评估方法、装置及存储介质 | |
KR20240093293A (ko) | 사용자 선호도 기반 상품 구매 추천 시스템 | |
CN109558154A (zh) | Bios文件刷新方法、装置、设备及介质 | |
Lin et al. | Reconfigurable Multi-Resolution Performance Profiling in Android Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201480047777.1 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14842850 Country of ref document: EP Kind code of ref document: A1 |
|
REEP | Request for entry into the european phase |
Ref document number: 2014842850 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2014842850 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14916636 Country of ref document: US |