CN101122880A - Embedded type system of embed type debugging device and embedded type system debugging method - Google Patents

Embedded type system of embed type debugging device and embedded type system debugging method Download PDF

Info

Publication number
CN101122880A
CN101122880A CNA2007101218649A CN200710121864A CN101122880A CN 101122880 A CN101122880 A CN 101122880A CN A2007101218649 A CNA2007101218649 A CN A2007101218649A CN 200710121864 A CN200710121864 A CN 200710121864A CN 101122880 A CN101122880 A CN 101122880A
Authority
CN
China
Prior art keywords
debugging
embedded
breakpoint
module
debug
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.)
Pending
Application number
CNA2007101218649A
Other languages
Chinese (zh)
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.)
Fujian Star Net Communication Co Ltd
Original Assignee
Fujian Star Net Communication Co Ltd
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 Fujian Star Net Communication Co Ltd filed Critical Fujian Star Net Communication Co Ltd
Priority to CNA2007101218649A priority Critical patent/CN101122880A/en
Publication of CN101122880A publication Critical patent/CN101122880A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

The present invention relates to an embedded system of an embedded debugger, including an embedded operating unit, which comprises and connects with a debugging unit. The debugging unit includes a driving module, which controls the input and output of debugging orders, and a debugging module, which connects with the driving module. The debugging module is used to trigger the embedded operating unit to generate an unexception. The debugging module captures and analyzes the unexception, processes the unexpected information, according to the type of which, the debugging module selects a preset method to debug the hardware and /or software of the embedded operating unit. The present invention also relates to an embedded system debugging method. By embedding a debugging unit to directly debug the hardware and /or software in the embedded system, the present invention reduces the cost caused by setting additional hardware and /or developing additional software and facilitates large-scale application and popularization.

Description

The embedded system of embedded debugger and embedded systems debugging method
Technical field
The present invention relates to the debug system and the method for built-in system software and/or hardware, especially relate to a kind of embedded system and embedded systems debugging method of embedded debugger.
Background technology
Debugging is a requisite link in the embedded systemic software development process, and there are tangible difference in general desktop operating system and embedded OS on debugging enironment.The former, debugger and debugged program operate in two processes in same machine, the identical operations system often, debugged process is controlled, visited to the debugger process (such as the visual C++ of Microsoft's exploitation by the interface that operating system provides specially, it integrates development environment, compiling and debugging, procedure development, compiling and debugging are all finished by Visual C++, and Visual C++ debugging and debugged program all operate under same the machine).
Embedded development and debugging are different from the exploitation of general desktop software, embedded development adopts the pattern (Cross Developping) of cross-development: development system is to be based upon on the abundant PC (perhaps workstation) of software and hardware resources, we are referred to as host (HOST), the editor of embedded program, compiling, link process is all finished at the host end, and the final operation of program is the embedded device that very big difference is arranged with host, we are referred to as target machine (Target), and the difference of target machine and host mainly refers to:
The hardware environment difference: common cpu type difference, for example the CPU of HOST is intel X86, and Target is the powerpc of freescale company.
The difference of software environment: the application software support of ripe operating system is all arranged on host, such as windows, and the integrated exploitation of codewarrior IDE and the debugger of freescale company.And Target generally is a bare machine, perhaps needs the embedded OS of debugging.
The debugging of embedded system and fault diagnosis generally have following several method:
(1) add to print Debugging message and debug command: to be the program development personnel insert the codes (such as use printf statement output Debugging message in the C language) of type information in the program development stage to this method in the program of needs debugging, the content of value, memory address or register that can the print routine variable, receipts/the send out content of packet etc.; During program run, after the print routine of assigned address was performed, it will print specified message (outgoing position of type information can be varied, can be serial ports, also can be saved in output information in the file, perhaps from communication port output etc.); The developer is by analyzing the type information of output, the process of coming routine analyzer to carry out, the content of the value of procedures of observation variable or transmitting-receiving bag etc. whether with consistent debugging of expectation.Debugging message is similar with printing, the developer comes the running status of display routine (to print the value of variable by adding some debug commands, the value of register, statistical information etc.), after the program run, the developer allows program export Debugging message by the input debug command, debugs by contrast output information.There is following defective in this kind adjustment method:
(11) underaction: the program development personnel need to add code in the position of expectation in advance, perhaps add debug command in advance, and the position of printing and printed contents are just fixing in the development phase, can not revise after the program run; Because the debug phase developer for needs type information wherein? print what information? not very clear, this can cause the information printed insufficient, can't carry out localization of fault, perhaps the information of Da Yining is much all useless, is helpless to fault analysis and debugging; This result who causes is that program development personnel needs are constantly revised the interpolation type information, recompilates operation then, reanalyses type information, and so continuous circulation solves until fault.
(12) can't support the debugging of instruction-level: breakpoint can't be set this obviously adjustment method and single step is followed the tracks of; Breakpoint: refer to the user and can designated program carry out and where stop earlier, current state (the value of internal memory that the back user that stops can check machine, the perhaps value of register), can allow program continue to carry out from the position of breakpoint, single step is followed the tracks of and is referred to target machine, instruction of every execution can be stopped, and allows the user observe machine state.
(13) Debugging message can not be applied in the actual motion system, when program development and debugging finish, before program is used by the actual user as final program, originally the printing Debugging message of Tian Jiaing is deleted, otherwise the final user can see the Debugging message that a pile is failed to understand, influence user's use, and this can influence the performance (type information can the very big CPU of expending resource) of actual motion system greatly, therefore the program that before the program issue, needs to delete these Debugging message.This just causes Debugging message to use in the actual motion system.If final program goes wrong, just can't use original Debugging message to debug.
(2) subsidiary fault diagnosis and analysis module in the system: this module belongs to the part of system software, not work of this module under the normal condition, after pinpointing the problems, the user uses the fault (mainly referring to hardware fault) of this module diagnostic system to analyze and diagnose, for example: the BIOS of Dell PC goes up the just subsidiary fault diagnosis module that has, work is undesired if the user finds PC, and the fault diagnosis module that just can enter BIOS is tested, and looks at it is which hardware has problem; This pattern can be attached this function in formal system, very convenient product maintenance and maintenance personal use, and have this module product customer support personnel just can locate product fast whether problem is arranged; But this pattern also has the drawback of oneself:
(21) can only diagnose hardware fault, can not the diagnostic software fault; But more fault is that software causes in embedded system, and can't be as development phase software debugging and diagnostic means, and only suitable product maintenance and maintenance personal use.
(22) can only diagnose predictable fault, corresponding diagnostic routine and his correspondence all will be arranged for each fault of predictable each equipment.Because each fault of each equipment all will have corresponding diagnostic routine, so the procedure development workload is big, and whenever increase or revise an equipment newly will corresponding increase and update routine, dirigibility is low.
(3) stake (Stub) pattern intersection adjustment method: this pattern needs to increase the Stub module at target machine in advance, Stub is the one section program that operates in goal systems, it is responsible for the operation of debugged program on the monitoring objective machine, debugger common and the host end is finished the debugging of application program together, may further comprise the steps: debugger control, visit debugged program: this class request of debugger in fact all will convert the visit to some register of the address space of debugged program or target platform to, these visits are passed to Stub by the mode of agreement, Stub receives the request back destination address or register is directly conducted interviews, and result sent to debugger by Stub, debugger is handled the back result is shown to the user; Debugging breakpoints and single step are followed the tracks of.Stub produces breakpoint at needs position replaces original instruction with an exceptional instructions, when program is carried out this position, produces unusually, is caught the notice debugging module by the Stub module unusually, and the order of circular wait debugging module; At this moment debugging module will explain that the information that Stub sends over is that breakpoint is unusual, and notifies user CPU to stop, and at this moment the user can be by debugging module order Stub, and the information such as the internal memory of target machine and register of checking are debugged; Breakpoint recovers: Stub at first recovers the instruction of breakpoint location, and withdraws from abnormality processing, allows program continue to carry out from breakpoint location; Single step is followed the tracks of: single step tracking and debugging breakpoints principle are similar, and Stub can allow CPU whenever execute an instruction by the CPU specified register is set, and just generation is once unusual, and after being taken over by Stub unusually, follow-up flow process is consistent with the debugging breakpoints flow process.There is following defective in this method:
(31) essence of this method is the whole abnormality processing (exceptionhandler) and the part Interrupt Process of taking over goal systems with software, inserts the debug port communication module therein, and is mutual with the debugger of main frame.It can only be in the destination OS initialization, just work after particularly the debug communications port initialization is finished, so generally only be used for the application program of commissioning test on destination OS, and should not be used for debug target operating system, start-up course that particularly can't debug target operating system.
(32) the HOST end needs debugger software.
(33) Stub will support the communications protocol that matches with debugger, and communications protocol realizes complicated, and the communication standard of each debugger is all different, need develop corresponding Stub for each debugger, and the development amount is big.
(34) must change destination OS, this change is even without the performance in debug process causes adverse effect to operating system, at least also can cause more than the goal systems debugging version that is not used in formal issue, that is to say that final system can not have this function, and in fact a lot of faults only occur on final system, so this pattern also can't be supported in the debugging in the actual motion system.
(4) debugging (On Chip Debugging) intersection adjustment method on the sheet: this method and Stub are similar, debugging is made in the Stub module on the special hardware device (we are referred to as emulator) on the sheet, emulator links to each other with main frame by serial ports, Ethernet interface, usb, simultaneously emulator also is connected with processor on the Target Board by the interface (such as JTAG) of special use, debugging need enter certain special state in the extra control module of the inner embedding of processor on the sheet when having satisfied certain trigger condition.Debugged program is out of service under this state, and the debugger of main frame can be visited various resources (register, storer etc.) and execution command by special purpose interface (such as JTAG).Embedded control module exists with the form based on the watch-dog (microcode monitor) of microcode or pure hardware resource, comprises that some offer user's interface (as breakpoint register etc.).There is following defective in this method:
(41) this method needs CPU to support debugging module, and existing C PU might not support debugging module.
(42) this scheme needs emulator, and emulator costs an arm and a leg and is not suitable for extensive use,
(43) needing on the Target Board can be for the connector of emulator connection, because connector can take physical space, and it is influential to signal, therefore can not reserve connector interface during actual product for debugging usefulness, therefore emulator need be connected in advance when debugging in addition, the debugging on actual product should be the debugging scheme also be not suitable for.
In sum, the fault diagnosis and the debugging scheme of existing embedded system all have relative merits separately: but all there are the following problems:
Can't solve and on real system, directly carry out fault diagnosis and debug function;
Can't support field diagnostic function to unknown failure;
Can't be to the analytic function of unknown protocol;
And need special soft, hardware supported, and increase input, therefore be unfavorable for wide-scale adoption;
Software development has high input, very flexible, and extendability is poor.
Summary of the invention
The objective of the invention is defective at above-mentioned prior art, the embedded system and the embedded systems debugging method of embedded debugger have been proposed, the feasible embedded system that is on the target device, comprise embedded operation unit and debugging unit simultaneously, directly software and/or hardware are debugged to be implemented on the embedded system, additional hardware is set and/or develops extra software and the cost that causes thereby reduced.
For achieving the above object, the invention provides a kind of embedded system of embedded debugger, comprise the embedded operation unit, wherein also comprise debugging unit, be connected with described embedded operation unit; Described debugging unit comprises: driver module and the debugging module that is connected with driver module; Driver module is used to control the input and output of debug command; Debugging module is used to trigger the embedded operation unit and produces unusually, and catching exception, and abnormal information carried out analyzing and processing is debugged hardware in the embedded operation unit and/or software according to the type selecting presetting method of abnormal information.
For achieving the above object, the present invention also provides a kind of embedded systems debugging method, comprising: debugging module triggers the embedded operation unit and produces unusual; The debugging module catching exception carries out analyzing and processing to abnormal information, according to the type selecting presetting method of abnormal information; Debugging module adopts described presetting method that hardware in the embedded operation unit and/or software are debugged.
By above technical scheme as can be known, the embedded system of a kind of embedded debugger of the present invention and embedded systems debugging method, by embedded debugging unit in embedded system, the feasible embedded system that is on the target device, comprise embedded operation unit and debugging unit simultaneously, directly software and/or hardware are debugged to be implemented on the embedded system, additional hardware is set and/or develops extra software and the cost that causes, conveniently apply on a large scale thereby reduced., so break down maybe need debug the time simultaneously, can directly utilize debugging unit to enter debugging mode, thereby accelerate the solution speed of knotty problem when the embedded operation unit because the embedded operation unit is positioned on the same target device with debugging unit.
Description of drawings
Fig. 1 is the structural representation of the embedded system embodiment one of a kind of embedded debugger of the present invention;
Fig. 2 is the structural representation of the embedded system embodiment two of a kind of embedded debugger of the present invention;
Fig. 3 is the structural representation of the embedded system embodiment three of a kind of embedded debugger of the present invention;
Fig. 4 is a structural representation of debugging module;
Fig. 5 is the process flow diagram of a kind of embedded systems debugging method of the present invention;
Fig. 6 is another structural representation of debugging module.
Embodiment
Below by drawings and Examples, technical scheme of the present invention is described in further detail.
Fig. 1 is the structural representation of the embedded system embodiment one of a kind of embedded debugger of the present invention.The embedded system 200 of embedded debugger is installed on the target device 100 among this embodiment, comprises embedded operation unit 210, wherein also comprises the debugging unit 220 that is connected with embedded operation unit 210.Embedded operation unit 210 comprises: the driver module 211 of Lian Jieing, embedded OS 212 and application program 213 each other.Debugging unit 220 comprises: driver module 221 and the debugging module 222 that is connected with driver module 221; Driver module 221 is used to control the input and output of debug command; Debugging module 222 is used to trigger embedded operation unit 210 and produces unusually, and catching exception, and abnormal information carried out analyzing and processing is debugged according to hardware and/or software in the type selecting presetting method embedded operation unit 210 of abnormal information.Debugging module 222 triggers 210 generations of embedded operation unit and is specially unusually: the visit and/or the control of 222 pairs of target devices 100 of debugging module and/or embedded operation unit 210, carry out reading and writing data as register or address space to target device 100 and/or embedded operation unit 210, revise, configuration, by revising or corresponding data being set target device 100 and/or embedded operation unit 210 are controlled, as breakpoint is set, at the breakpoint place special instruction is set and produces unusually.Embedded OS is the system that is solidificated in the hardware the inside, such as the system of mobile phone, router the inside.Common embedded OS has Linux, uClinux, WinCE, PalmOS, Symbian etc.
Generally speaking, debugging module just carries out debugging operations when receiving the notice of debug command.The user can manually select or import debug command by the mode of man machine operation interface according to test needs or development Experience.The embedded operation unit also can periodically send the notice of debug command according to the self-checking function module of its inside to debugging module; Or, when detecting malfunction or accurate malfunction, automatically send the notice of debug command to debugging module in real time according to the running status of embedded operation unit.
Fig. 2 is the structural representation of the embedded system embodiment two of a kind of embedded debugger of the present invention.The difference of this embodiment and embodiment one is that debugging unit 220 also comprises debugging interface 223, and driver module 221 is connected with debugging interface 223, is used to control the demonstration at debugging interface 223 and the input and output of debug command; Debugging module 222 is connected with debugging interface 223, is used to receive and respond the debug command that is sent by debugging interface 223.The user selects a debug command by 223 input debug commands of debugging interface or user by debugging interface 223 among this embodiment, and the debug command that will be imported accordingly or select by debugging interface 223 is sent to debugging module 222 then.
Fig. 3 is the structural representation of the embedded system embodiment three of a kind of embedded debugger of the present invention.The difference of this embodiment and embodiment one is that embedded operation unit 210 also comprises notification module 214, is used for sending debug command to debugging unit 220.Among this embodiment, the notification module 214 in the embedded operation unit 210 is the notice of the 222 transmission debug commands of the debugging module in debugging unit 220 periodically; Or, when detecting malfunction or accurate malfunction, automatically send the notice of debug command to debugging module in real time according to the running status of embedded operation unit.
Fig. 4 is a structural representation of debugging module.Debugging module comprises: abnormality processing submodule A and the debug function submodule B that is connected with described abnormality processing submodule A.Abnormality processing submodule A, catching exception carries out analyzing and processing to abnormal information, according to the type of abnormal information abnormal information is sent to the debug function submodule; Debug function submodule B is used to trigger the embedded operation unit and produces unusually, and is connected with described abnormality processing submodule, is used for adopting the presetting method in the described debug function submodule that the hardware and/or the software of embedded operation unit are debugged.Wherein the debug function submodule can include but not limited to fixing breakpoint processing sub B1 again, dynamically breakpoint processing sub B2, single step are followed the tracks of processing sub B3, data monitoring processing sub B4 and instruction and monitored any or its combination among the processing sub B5.
Fixing breakpoint processing sub B1 is used for adopting fixedly the breakpoint implementation method that the hardware and/or the software of embedded operation unit are debugged.Fixedly in the breakpoint implementation method, the position of breakpoint generally is used for the initialization of debug system in just decision of development phase, and system runs to fixedly breakpoint location can produce that fixedly breakpoint is unusual, system halt, and the wait user debugs.
Dynamically breakpoint processing sub B2 is used for adopting dynamic implementation method that the hardware and/or the software of embedded operation unit are debugged.Dynamically in the breakpoint implementation method, can add/delete breakpoint by the mode of order in system operation back, system runs to dynamic breakpoint location, and can to produce dynamic breakpoint unusual, system halt, and wait for that the user debugs.
Processing sub B3 is followed the tracks of in single step, is used for adopting single step to follow the tracks of implementation method the hardware and/or the software of embedded operation unit are debugged.Single step is followed the tracks of in the implementation method, and system can produce single step and follow the tracks of unusually in every one step of execution, system halt, and wait for user's debugging.
Data monitoring processing sub B4 monitors the data access in the embedded operation unit, and surveillance is to the visit of designated space, if designated space is accessed, it is unusual that system produces data monitoring, and the report monitor address is accessed, system halt, and wait for user's debugging.
Instruction monitors processing sub B5, the instruction in the embedded operation unit is carried out monitored, and monitors whether the instruction of designated space is moved, if the instruction of designated space is moved, system produces instruction and monitors unusually, and the report monitor address is moved, system halt, and wait for user's debugging.
Fig. 5 is the process flow diagram of a kind of embedded systems debugging method of the present invention.As Fig. 5, comprising:
Step 1, embedded operation unit or user import debug command by the debugging interface to debugging module;
Step 2, debugging module response debug command trigger the embedded operation unit and produce unusual;
Step 3, debugging module catching exception carry out analyzing and processing to abnormal information, according to the type selecting presetting method of abnormal information;
Step 4, debugging module adopt described presetting method that hardware in the embedded operation unit and/or software are debugged.
Described presetting method is for fixedly implementation method, data monitoring implementation method, instruction supervision implementation method or other implementation methods are followed the tracks of in breakpoint implementation method, dynamic breakpoint implementation method or single step.
Below respectively to the abnormality processing mentioned in the technique scheme, fixedly the breakpoint method, dynamically breakpoint implementation method, single step are followed the tracks of implementation method, data monitoring implementation method and instruction and are monitored that implementation method is described.
(1) abnormality processing principle
The CPU execution command is carried out in order, when external event produces such as interrupt (it also is a kind of unusual interrupting) in powerpc, CPU will suspend the execution of present procedure earlier, then carry out each unusual corresponding entry program, after unusual program withdraws from, the position that CPU can return to just now continues to carry out, when carrying out 100 positions when program, produce an external interrupt, this is that CPU directly jumps to and interrupts pairing unusual inlet (as powerpc:0x900) withdraw from interruption after interrupting disposing, program continues to bring into operation from 100, and in powerpc, multiple incident can produce unusually, can adopt the following debugging purpose that is used for unusually:
Unusually Exception vector Purposes Explanation Register that uses and instruction (how producing unusual) The processing module of calling
Program 0x0700 Fixedly breakpoint produces unusual SRR0=produces unusual instruction address when unusual the generation, and SRR0+4 is exactly the address of user with breakpoint Use twge r2, r2 instruction conduct is break-poing instruction fixedly. Fixing breakpoint processing sub
System Call 0x0C00 Dynamically breakpoint produces unusual SRR0=produces unusual instruction address when unusual the generation, and SRR0+4 is exactly the address of user's breakpoint Use the sc instruction as dynamic break-poing instruction. Dynamic breakpoint processing sub
Trace Exception 0x00D00 Single step is followed the tracks of and is produced unusually SRR0=is next time with the instruction address that is performed when unusual generation MSR[SE is set]=1:, this instruction of every execution will produce that this is unusual Processing sub is followed the tracks of in single step
Data Storage 0x0300 The user monitors the visit of CPU to data, and producing when the address space of CPU visit (read/write) drops in the monitoring range should be unusual SRR0=produces the data address of unusual instruction address DAR=visit when unusual the generation. DABR and DABR2 are used to set the address and the access mode DBCR of supervision: be used to be provided with monitor address coupling and array mode The data monitoring processing sub
Instruction 0x01300 The user monitors When unusual generation IABR and Instruction monitors to be handled
Storage The execution of CPU, producing when the address space of CPU execution command drops in the monitoring range should be unusual SRR0=produces unusual instruction address IABR2 is used to set the address and the access mode IBCR of supervision: be used to be provided with monitor address coupling and array mode Submodule
For different different abnormality processing inlets (exception vector) arranged unusually, debugging module (can be just to rewrite the development phase by the instruction of rewriting exception vector, also can just rewrite) in the operation phase, what allow CPU produce to carry out when unusual is the instruction of debug system, the just operation of the CPU of adapter of debug system like this.
When CPU jumps to exception vector, and during the program of execute exception vector, CPU can be in the address (unusual address) that the certain location logging program returns, and writes down other Useful Informations, and debugging module can obtain these information and handle.
After allowing CPU execute abnormality processing, can turn back to original position, so will carry out scene protection after entering unusually, withdraw from the unusual preceding scene of recovering again.The abnormality processing flow process is as follows:
A1) keep the scene intact (related register of preserving CPU when unusual is to internal memory),
A2) call the debug system program
A3) debug system program is analyzed unusual type, obtains needed unusual preceding information, and calls other processing sub and handle.
Reproduction (obtain from internal memory, and rewrite the register of CPU, on-the-spot like this all registers that recover back CPU are just with unusual preceding the same, and CPU is unusual as not taking place) allowed CPU continue to continue to carry out from original position when a4) debug system withdrawed from.
(2) fixing breakpoint implementation method
Fixedly breakpoint often uses for the developer.The developer is when development sequence, the program point that produces breakpoint in hope inserts delegation, (for example the developer wishes that program carries out the 100th row and stop to provide fixedly breakpoint program by debug system, the developer need insert this line program of SET_BREAKPOINT in the 100th line code so), be somebody's turn to do fixedly breakpoint program and other programs quilts compiling link together, and be loaded in the goal systems and move, program will be stopped when program is carried out fixedly breakpoint location.
In fact the trip preface (fixedly breakpoint program) is one and can produces unusual special instruction; carrying out this instruction when goal systems can produce unusually; and this can produce aborted unusually; can debugged system take over after producing aborted; follow-up debug system just can be debugged system; (such as replace #define SET_BREAKPOINT twger2 by grand form; r2; among the mpc8248 CPU (a communication CPU of freescale company) can be twge r2; the r2 instruction produces a progame unusual (exception vector is 0x700) when CPU carries out this instruction.
CPU can be recorded in the address that produces exceptional instructions in the srr0 register before entering abnormality processing, and enters debugging mode.(position of writing down the 100th line program is in the srr0 register, and program need continue to carry out since 101 when continue carrying out, therefore value+4 of srr0 register just equal the next line program point (every instruction of instruction takies 4 bytes in powerpc) of breakpoint, program withdraws from debugging mode (breakpoint succession execution), begins to carry out from the position of value+4 of srr0 register.
After entering debugging mode, debug system can be according to producing unusual position (such as 0x700), know it is that fixedly breakpoint is unusual, just can know according to the value of srr0 that program is carried out and where stop, should be when continuing to carry out from where continuing to carry out (value of srr0 register+4).After entering the debug command pattern, show the position of breakpoint in the mode of character order or figure, the debug system instruction program and is waited for next step debugging operations of user under fixing breakpoint stop (can indicate the position of source code).
Debug (such as checking the internal memory situation, check buffer status, check operations such as source code) at debugging mode awaits user input command.
After user's debugging finishes, wish that program carries out from breakpoint succession, the user can be by special debug command, withdraw from debugging mode, carry out (such as by the quit_breakpoint order) from breakpoint succession, after debug system receives this debug command, carry out the on-the-spot back of recovering and (recover unusual preceding all relevant registers, guarantee unusual preceding and to withdraw from unusual late register all consistent) by special register being set and carrying out specific instruction, allow program go out the continuation execution from breakpoint.(such as in mpc8248, the address that the srr0 register is the 101st line program is set, and carries out the ri instruction at last, CPU will carry out since 101 row so)
Program is recovered back CPU from breakpoint and is entered embedded pattern, continues to carry out the instruction of embedded system.
There is different instructions to produce that fixedly breakpoint is unusual for different CPU, it is also different which register breakpoint was kept in different CPU when fixedly breakpoint was unusual, but the principle of all CPU is all similar, allow a special instruction produce that fixedly breakpoint is unusual exactly, the position of breakpoint can be recorded in the register of CPU and produce when unusual fixedly, and debugging module is debugged according to these information exactly.
(3) dynamic breakpoint implementation method
Dynamically the principle of breakpoint is with fixedly the breakpoint principle is the same, just produce unusually with a special instruction at the breakpoint place, being caught and analyzed by debugging module should be unusual, can know it is that dynamic breakpoint generation is unusual, and know where produce unusually, where program should from continuing to carry out; Different places is that dynamic breakpoint is not to determine (not needing to write a program) in program development, but after wait routine moves, under embedded pattern or debugging mode, import special order, add the position of dynamic breakpoint, therefore dynamically breakpoint does not need to develop in advance, can dynamically add after program run, and process is as follows:
B1) in embedded system pattern (needing to add the order that a dynamic breakpoint adds in the embedded system) or under debugging mode, by certain special debug command, the user add a dynamic breakpoint (for example: add_breakpoing[breakpoint addres s], the breakpoint address here can be by MAP file-source code and the binary code corresponding relation file of checking that compiler produces, obtain the executive address of certain delegation's source code correspondence, the source code when perhaps directly checking operation and the operation address of corresponding binary code) by " the source code rank realization of debugging method " hereinafter introduced.
B2) this adds the order of the dynamic breakpoint of debugging, can obtain the position (breakpoing address just) of the dynamic breakpoint of user's input.
B3) preserve the original programmed instruction (instruction of breakpoing address correspondence is preserved) in breakpoint place.
B4) breakpoint place instruction is replaced to produce unusual special instruction (such as SC instruction--the system call that the instruction of original breakpoint address position is replaced to mpc8248).
B5) carry out breakpoint place (breakpoint address) when program, owing to carry out special instruction, can produce one unusually, CPU can be recorded in the address of next the bar instruction that produces exceptional instructions in the srr0 register before entering abnormality processing, what that is to say that the register of srr0 keeps is breakpoint location+4, therefore producing the unusual location of instruction is srr0 register value-4, and enters debugging mode.
B6) enter the debug command pattern after, show the position of breakpoint in the mode of character order or figure, the debug system instruction program and is waited for next step debugging operations of user under dynamic breakpoint stop (can indicate the position of source code).
B7) debug (such as checking the internal memory situation, check buffer status, check operations such as source code) at debugging mode awaits user input command.
B8) after user's debugging finishes, wish that program carries out from breakpoint succession, the user can be by special debug command, withdraw from debugging mode, carry out (such as by the quit_breakpoint order) from breakpoint succession, after debug system receives this debug command, carry out the on-the-spot back of recovering and (recover unusual preceding all relevant registers, guarantee unusual preceding with to withdraw from unusual late register all consistent), also to revert to original instruction (because when the user is provided with breakpoint, being arranged to special instruction) to the instruction of breakpointaddress position, and allow program continue to allow program go out to continue to carry out from breakpoint from breakping address execution.For example the disposal route of mpc8248 is the value-4 that srr0 is arranged to original srr0 register, and calls rti and turn back to original breakpoint place polarity and carry out.
B9) CPU entered embedded pattern after program was recovered from breakpoint, continued to carry out the instruction of embedded system.
B10) because the instruction of dynamic breakpoint has been replaced by normal instruction when unusual withdrawing from, if it is unusual with regard to or else producing breakpoint that program is carried out this position next time, therefore after needing a kind of method to allow it withdraw from unusually, if follow-up this position of carrying out again, still can produce dynamic breakpoint (unless the user deletes dynamic breakpoint), disposal route is after program has re-executed real breakpoint place instruction, allowing it produce a single step follows the tracks of unusual, follow the tracks of in the abnormality processing in single step, again the instruction of breakpoint location is replaced to special instruction, make it can proceed breakpoint next time and follow the tracks of.
B11) certainly dynamically breakpoint also can be deleted, and delet method is fairly simple, if the instruction at breakpoint place change into original instruction just can, what instruct when programmed instruction is to this position like this is normal instruction, it is unusual can not to produce breakpoint.Breakpoint does not just exist.
B12) there have different instructions to produce dynamic breakpoint for different CPU to be unusual, it is also different which register breakpoint was kept in different CPU when dynamically breakpoint was unusual, but the principle of all CPU is all similar, it is unusual to allow a special instruction produce dynamic breakpoint exactly, the position of dynamic breakpoint can be recorded in the register of CPU when unusual and produce, and debugging module is debugged according to these information exactly.
(4) implementation method is followed the tracks of in single step
The principle that single step is followed the tracks of is by the specified register of CPU is set, allow CPU whenever execute an instruction and produce unusually, debugging module is taken over should be unusual, and debugging module knows that according to unusual information this is that single step is followed the tracks of unusually, the information such as position that program is carried out, implementation method is as follows:
C1) user imports single step trace command (such as input trance) under the order of debugging mode.
C2) with fixedly breakpoint and dynamic breakpoint are handled similar, debugging module withdraws from, allow CPU continue to carry out from last breakpoint, but different places is to need to be provided with the special register of CPU before withdrawing from, the CPU instruction that whenever is finished will be produced single step and follows the tracks of unusual, disposal route such as MPC8248 is to pass through MSR[SE] register (this register is provided with the CPU instruction that whenever is finished and will produces single step and follow the tracks of unusual), here also have a special place to be, at debugging module MSR[SE is not set directly] register, because if MSR[SE directly is set], so under debugging mode instruction of every execution also can to produce a single step unusual, this does not expect; Processing mode for MPC8248 is that the SRR1 register is set, because calling the rti instruction is that the SRR1 register can be given the MSR register by assignment, be MSR[SE when program begins to continue to carry out from original breakpoint like this] just be set up, therefore can produce single step and follow the tracks of unusual.
C3) when program withdraws from unusually (debugging mode) and continues to carry out embedded program,, therefore will produce single step and follow the tracks of unusual when the CPU instruction that whenever is finished because CPU has been set up and enabled the single step following function.
C4) CPU can be recorded in the address of next bar instruction in the srr0 register before entering abnormality processing.
C5) enter debugging mode, know that the exception enable position is followed the tracks of in the single step of CPU, allow CPU withdraw from and can not continue to produce the single step tracking when debugging mode continues the run user pattern.
C6) enter the debug command pattern after, show the position of breakpoint in the mode of character order or figure, the debug system instruction program be single step tracing positional (can indicate the position of source code), and waits for next step debugging operations of user.
C7) debug (such as checking the internal memory situation, check buffer status, check operations such as source code) at debugging mode awaits user input command.
C8) after user's debugging finishes, wish that program carries out from breakpoint succession, the user can be by special debug command, withdraw from debugging mode, carry out (such as by the quit_breakpoint order) from breakpoint succession, because the instruction that next bar of breakpoint place that srr0 preserves will be carried out, withdraw from therefore that program directly continues to carry out from the position of srr0 indication when unusual.
C9) CPU entered embedded pattern after program was recovered from breakpoint, continued to carry out the instruction of embedded system.
C10) there is the method that enables CPU single step following function different for different CPU, it is also different which register breakpoint is kept in different CPU when unusual, but the principle of all CPU is all similar, enable the single step following function (requiring CPU to support this function) of CPU exactly, allowing instruction of the every execution of CPU produce a single step follows the tracks of unusual, the position of breakpoint can be recorded in the register of CPU when unusual and produce, and debugging module is debugged according to these information exactly.
C11) above single step of being told follow the tracks of refer to the time instruction-level single step follow the tracks of, (the delegation's source code that whenever is finished just stops other single steps tracking of a lot of source code levels, and source code can corresponding many instructions) can by add, the mode of the dynamic breakpoint of deletion realizes (position at every capable source code is added a dynamic breakpoint automatically), the deletion of different dynamic breakpoints and interpolation all are to realize by debugging module, need not to operate by the user.
(5) data monitoring implementation method
The method of data monitoring is by the specified register that CPU is set (requiring CPU to support this function), when the data of routine access assigned address are, it is unusual to produce data monitoring, debugging module can obtain the position that produces unusual instruction, and the address and the access mode that produce visit data when unusual, have these information to transfer, the die trial piece just can be shown to the user to the result.
D1) in embedded system pattern (needing to add the order of a data monitoring in the embedded system) or under debugging mode, by the order of individual interpolation data monitoring, the user adds a data monitoring point (for example: add_data_watchpoint[watchpoint address] [mode])
D2) address (watchpointaddress) and the surveillance style (mode) of the supervision of user's input obtained in the order of this interpolation data monitoring point)
D3) according to address and surveillance style, the data monitoring register of CPU is set, it is unusual to produce data monitoring when allowing CPU visit this address, (for example at mpc8248 by the DABR/DABR2/DBCR register is set, can be used for monitoring data storage, when the address of the address of CPU visit and this register equates, will produce unusually, abnormal address is 0x300.)
D4) when the routine access monitor address, it is unusual that CPU can produce data monitoring.
D5) CPU be that the data address that the instruction address is write down and visited is recorded in the specific register entering the generation of unusual preceding meeting record unusually.
D6) debugging module is taken over abnormality processing, and obtains the address that produces exceptional instructions, and the address of visit data, enters debugging mode message is shown to the user, and wait for next step debugging operations of user.
D7) debug (such as checking the internal memory situation, check buffer status, check operations such as source code) at debugging mode awaits user input command.
D8) there are the method that enables to be provided with data monitoring address and surveillance style or instruction and corresponding register address all different for different CPU.
D9) with add correspondingly, the user can be by order deleted data monitoring point, the method for deletion is exactly by the monitors register that clears data, and allows not enable data function for monitoring of CPU.
(6) instruction monitors implementation method
The method that instruction monitors is the specified register (requiring CPU to support this function) by CPU is set, when the instruction of this position is performed, can produce instruction and monitor that unusually, debugging module can obtain the position that produces unusual instruction, the die trial piece just can be shown to the user to the result.
E1) in embedded system pattern (needing to add the order that an instruction monitors in the embedded system) or under debugging mode, by individual interpolation instruction monitor command, the user adds an instruction monitoring point (for example: add_instruction_watchpoint[watchpoint address] [mode]).
E2) address (watchpointaddress) of the supervision of user's input is obtained in the order in this interpolation instruction monitoring point.
E3) the instruction monitors register of CPU is set, producing instruction when allowing CPU carry out the instruction of this address monitors unusual, (for example at mpc8248 by the IABR/IABR2/IBCR register is set, can be used for monitor command carries out, when the address of the address of CPU execution command and this register equates, will produce unusually, abnormal address is 0x1300.).
E4) when program is carried out the instruction of this address, CPU can produce instruction and monitor unusual.
E5) CPU be that the instruction address is recorded in the specific register entering the generation of unusual preceding meeting record unusually.
E6) debugging module is taken over abnormality processing, and obtains the address that produces exceptional instructions, and waits for next step debugging operations of user.
E7) debug (such as checking the internal memory situation, check buffer status, check operations such as source code) at debugging mode awaits user input command.
E8) for different CPU have enable to be provided with instruction monitor address or instruction and corresponding register address all different.
E9) with add correspondingly, the user can be by order delete instruction monitoring point, the method for deletion is exactly by the clear instruction monitors register, allows not enable command function for monitoring of CPU.
For cooperating the above function that realizes debugging module, debug function submodule in the debugging module also includes the dis-assembling processing sub that is used to realize dis-assembling, the path trace debugging submodule that is used to realize the debug source code submodule of source code rank debugging and is used to check the process of breakpoint place program execution, and any or its combination in any in the data access submodule of user capture and modification embedded operation unit, to cooperate fixedly breakpoint processing sub, dynamic breakpoint processing sub, processing sub is followed the tracks of in single step, data monitoring processing sub or instruction monitor that processing sub is to finish debugging work.As shown in Figure 6, the debug function submodule B in the debugging module also comprises: dis-assembling processing sub B6, debug source code submodule B7 and path trace debugging submodule B8, data access submodule B9.Correspondingly monitor implementation method, also need dis-assembling implementation method, debug source code implementation method, data access implementation method and/or path trace implementation method for realizing that the fixedly breakpoint method in the foregoing description, dynamic breakpoint implementation method, single step are followed the tracks of implementation method, data monitoring implementation method or instructed.After system halt, the user can trigger compilation by the mode of debug command, the debug source code submodule is checked the compilation or the source code of the program of breakpoint place or other positions, the user can trigger the path trace submodule by the mode of debug command, check the process of breakpoint place system operation, the data that can check/revise the embedded operation unit by the data access submodule.Respectively to dis-assembling implementation method, debug source code implementation method and path trace implementation method, the data access implementation method is described below.
(7) dis-assembling implementation method
What program was carried out all is binary code, but the instruction that each CPU can carry out, and instruction all has set form, can assembly instruction translate into binary code according to this form, also can translate into assembly code to binary code.Implementation procedure is as follows:
F1) in embedded system pattern (needing to add a dis-assembling order in the embedded system) or under debugging mode, the user imports a dis-assembling order, and indicates the position that needs the dis-assembling code (for example assemble[instruction address]).
F2) read instruction in the instruction internal memory of assigned address.
F3), this binary command is translated into assembly instruction, and be shown to the user according to the cpu instruction form.
F4) can be in the instruction at the direct dis-assembling breakpoint of debugging mode place, at this moment the user need not specify the dis-assembling address, because debugging module has been known the position of breakpoint.Wherein different cpu instruction form differences.
(8) debug source code implementation method
When program compiler, can by the file that the compiler compiling link produces subsidiary source code information be arranged by the option that compiler is set, just this document can write down the position of the source code of every binary code correspondence, and the content of source code, so just can find corresponding source code, if support also to need to preserve this document in this function embedded system according to the position that program is carried out.
G1) in embedded system pattern (needing to add a debug source code order in the embedded system) or under debugging mode, the user imports a debug source code order, and indicates the position that needs debugging code (for example source[instruction address]).
G2) read instruction (instruction address) in the instruction internal memory of assigned address.
G3) search the file of binary code and source code corresponding relation, find source code, and source code information is shown to the user.
G4) can directly check the source code at breakpoint place at debugging mode, at this moment the user is without the designated order address, because debugging module has been known the position of breakpoint.
(9) path trace realization of debugging method
When program is carried out breakpoint, CPU only knows the position of break-poing instruction, but do not know the process of routine call, the function that is to say this breakpoint correspondence is by what function call, path trace is exactly to know the program of breakpoint location is by what higher level's function call, its function is again by what function call, and the rest may be inferred up to the source of finding whole invoked procedure, can know conversely from the source until the breakpoint function calling relationship.The path trace implementation procedure is as follows:
H1) functional module or the order of user by as above introducing is provided with breakpoint (dynamic or fixing), data perhaps is set or instructs to monitor, causes CPU to produce unusually.
H2) CPU produce unusual post debugging module take over unusual, and by function as described above to handling unusually.
H3) CPU obtains the position of exceptional instructions.Obtain the SP stack information, then the value of * sp is pointed to the stack pointer of a function, a last stack pointer in the * sp sensing, analogize in proper order, and * (sp+4) points to a last function, and a last function in * (* sp+4) sensing is analogized in proper order, obtain the instruction address of calling the path correspondence, check the module assembly code or the source code of demonstration place invoked procedure correspondence again by dis-assembling module or source code.
(10) data access implementation method
Behind the user input commands, this order directly use to space specified write, sense data, and the result is shown to the user.For different CPU, writing with reading method of different spaces is different.Also the embedded operation cell data is visited or revised to the interface that can adopt the embedded operation unit to provide.
One of ordinary skill in the art will appreciate that:
(1) all or part of step that realizes said method embodiment can be finished by the relevant hardware of programmed instruction, aforesaid program can be stored in the computer read/write memory medium, this program is carried out the step that comprises said method embodiment when carrying out; And aforesaid storage medium comprises: various media that can be program code stored such as ROM, RAM, magnetic disc or CD.
(2) the described debugging unit of above embodiment not only can be realized in having the embedded system of embedded OS; also can in having the general-purpose system of the general-purpose operating system, realize; or in bare machine, realize; as long as after adding debugging unit, the situation that does not influence normal program (target device is by the program of the actual use of final user) all belongs to the scope of protection of the invention.
(3) function of the debugging unit described in the foregoing description and functional module only are used to illustrate the embedded system and the embedded systems debugging method of embedded debugger, and it is unrestricted, can be according to actual needs, type as embedded operation unit and target device, reduce or the extended debugging function, perhaps realize more senior debug function in conjunction with multiple functional module.
(4) the present invention is not limited to fully independently situation of debugging unit and embedded operation unit, debugging unit also can with embedded operation units shared embedded OS and driver module.The present invention is not limited to the type of the processor of the type of target device and target device, target device can be computing machine, mobile phone terminal or router etc., the processor of target device can be embedded type CPU, it also can be universal cpu, perhaps digital signal processor (Digital Signal Processing, be called for short DSP), perhaps other has the device of programmability.
(5) in the foregoing description, dissimilar CPU can adopt different abnormality processing modes, even at the CPU of same type, as powerpc, also can adopt different abnormality processing modes.
(6) in the foregoing description, the debugging request that the debugging interface is used to obtain the user shows debug results information, and the present invention does not limit and adopts which kind of implementation, can use the mode as the DOS debug command, can adopt the visual debugging of windows interface yet.
In sum, the embodiment of the embedded system of a kind of embedded debugger of the present invention and embedded systems debugging method has following beneficial effect:
(1) by embedded debugging unit in embedded system, the feasible embedded system that is on the target device, comprise embedded operation unit and debugging unit simultaneously, directly software and/or hardware are debugged to be implemented on the embedded system, additional hardware is set and/or develops extra software and the cost that causes thereby reduced, conveniently apply on a large scale., so break down maybe need debug the time simultaneously, can directly utilize debugging unit to enter debugging mode, thereby accelerate the solution speed of knotty problem when the embedded operation unit because the embedded operation unit is positioned on the same target device with debugging unit.
(2) debugging unit in the embedded system and embedded operation unit are separate, the existence of debugging unit can not influence original embedded system, therefore can be with debugging unit in the real system, to realize direct fault diagnosis and debugging on real system to software and/or hardware.
(3) transform simple to existing embedded system.
(4) be supported in site environment and the known and unknown failure of software and hardware is diagnosed and analyzed, and be supported in analysis and the diagnosis of site environment, make things convenient for developer and maintainer to use unknown communications protocol.
It should be noted that at last: above embodiment only in order to technical scheme of the present invention to be described, is not intended to limit; Although with reference to previous embodiment the present invention is had been described in detail, those of ordinary skill in the art is to be understood that: it still can be made amendment to the technical scheme that aforementioned each embodiment put down in writing, and perhaps part technical characterictic wherein is equal to replacement; And these modifications or replacement do not make the essence of appropriate technical solution break away from the spirit and scope of various embodiments of the present invention technical scheme.

Claims (10)

1. the embedded system of an embedded debugger comprises the embedded operation unit, it is characterized in that also comprising debugging unit, is connected with described embedded operation unit; Described debugging unit comprises: driver module and the debugging module that is connected with driver module; Driver module is used to control the input and output of debug command; Debugging module is used to trigger the embedded operation unit and produces unusually, and catching exception, and abnormal information carried out analyzing and processing is debugged hardware in the embedded operation unit and/or software according to the type selecting presetting method of abnormal information.
2. embedded system according to claim 1 is characterized in that, also comprises the debugging interface, and described driver module is connected with described debugging interface, is used to control the demonstration at debugging interface and the input of debug command; Described debugging module is connected with described debugging interface, is used to receive and respond the debug command that is sent by described debugging interface.
3. embedded system according to claim 1 is characterized in that, described embedded operation unit comprises notification module, is used for sending debug command to described debugging unit.
4. embedded system according to claim 1 is characterized in that, described debugging module comprises:
The abnormality processing submodule is used for catching exception, and abnormal information is carried out analyzing and processing, according to the type of abnormal information abnormal information is sent to the debug function submodule;
The debug function submodule is used to trigger the embedded operation unit and produces unusually, and is connected with described abnormality processing submodule, is used for adopting the presetting method in the described debug function submodule that the hardware and/or the software of embedded operation unit are debugged.
5. embedded system according to claim 4, it is characterized in that described debug function submodule comprises: fixedly breakpoint processing sub, dynamic breakpoint processing sub, single step are followed the tracks of processing sub, data monitoring processing sub and/or instruction and are monitored processing sub.
6. embedded system according to claim 5 is characterized in that, described debug function submodule also comprises: dis-assembling processing sub, debug source code submodule, data access submodule and/or path trace debugging submodule.
7. an embedded systems debugging method is characterized in that, comprising:
Debugging module triggers the embedded operation unit and produces unusual;
The debugging module catching exception carries out analyzing and processing to abnormal information, according to the type selecting presetting method of abnormal information;
Debugging module adopts described presetting method that hardware in the embedded operation unit and/or software are debugged.
8. adjustment method according to claim 7 is characterized in that, also comprised before debugging module is to the visit of target device and embedded operation unit and/or control: debug command is imported to debugging module in driver module or embedded operation unit.
9. adjustment method according to claim 7 is characterized in that, described presetting method comprises that fixedly breakpoint implementation method, dynamic breakpoint implementation method, single step tracking implementation method, data monitoring implementation method and/or instruction monitor implementation method.
10. adjustment method according to claim 9 is characterized in that, described presetting method also comprises: dis-assembling implementation method, debug source code implementation method, data access implementation method and/or path trace implementation method.
CNA2007101218649A 2007-09-17 2007-09-17 Embedded type system of embed type debugging device and embedded type system debugging method Pending CN101122880A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2007101218649A CN101122880A (en) 2007-09-17 2007-09-17 Embedded type system of embed type debugging device and embedded type system debugging method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007101218649A CN101122880A (en) 2007-09-17 2007-09-17 Embedded type system of embed type debugging device and embedded type system debugging method

Publications (1)

Publication Number Publication Date
CN101122880A true CN101122880A (en) 2008-02-13

Family

ID=39085220

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007101218649A Pending CN101122880A (en) 2007-09-17 2007-09-17 Embedded type system of embed type debugging device and embedded type system debugging method

Country Status (1)

Country Link
CN (1) CN101122880A (en)

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102339248A (en) * 2010-07-20 2012-02-01 上海闻泰电子科技有限公司 On-line debugging system and method for embedded terminal
CN102750212A (en) * 2012-06-13 2012-10-24 长园深瑞继保自动化有限公司 Embedded system fault diagnosis method and embedded system with fault diagnosis
CN103823731A (en) * 2014-03-18 2014-05-28 福州瑞芯微电子有限公司 SD protocol stack debugging method based on Android system
CN104268029A (en) * 2014-09-23 2015-01-07 天津国芯科技有限公司 Nesting exception processing circuit and method for embedded PowerPC (performance optimization with enhanced RISC (reduced instruction set computer)-performance computing) processor
CN104657263A (en) * 2015-02-10 2015-05-27 上海创景计算机系统有限公司 System and method for realizing universal type target code coverage rate testing based on JTAG (Joint Test Action Group) debug mode
CN104915295A (en) * 2015-06-29 2015-09-16 北京奇虎科技有限公司 Game software debugging method and device
CN104991846A (en) * 2015-07-01 2015-10-21 上海斐讯数据通信技术有限公司 Working mode switching system and method for mobile terminal
CN105335276A (en) * 2014-06-13 2016-02-17 联想(北京)有限公司 Fault detection method and electronic device
CN105549970A (en) * 2015-12-09 2016-05-04 上海斐讯数据通信技术有限公司 Boot method and system based on Linux operation system
CN105721568A (en) * 2016-02-02 2016-06-29 清华大学 Remote debugging system, method and device
CN105740139A (en) * 2014-12-09 2016-07-06 北京中船信息科技有限公司 Virtual environment based embedded software debugging method
CN105956267A (en) * 2016-04-29 2016-09-21 北京航天自动控制研究所 Equipment modeling language based embedded type emulated serial port and modeling method thereof
CN106354639A (en) * 2016-08-29 2017-01-25 天脉聚源(北京)传媒科技有限公司 Processing method and device for NSLog output functions
CN106776293A (en) * 2016-11-29 2017-05-31 天脉聚源(北京)传媒科技有限公司 A kind of method and device of program segment detection
CN106815101A (en) * 2015-11-27 2017-06-09 中国科学院沈阳自动化研究所 Embedded system external volatile memory high-reliability storage and diagnostic method
CN107065663A (en) * 2017-04-05 2017-08-18 珠海格力电器股份有限公司 A kind of unit malfunction test method and its mobile terminal, unit malfunction test system
CN107506293A (en) * 2016-06-14 2017-12-22 中兴通讯股份有限公司 A kind of software performance data acquisition method and device
CN107870855A (en) * 2016-09-27 2018-04-03 北京计算机技术及应用研究所 Debugging system based on the bright embedded OS in day
CN108228247A (en) * 2016-12-14 2018-06-29 中国航空工业集团公司西安航空计算技术研究所 The system and method that a kind of tool is interacted with target machine enhancing
CN108549602A (en) * 2018-03-30 2018-09-18 深圳市江波龙电子有限公司 A kind of software debugging method
CN109542773A (en) * 2018-11-02 2019-03-29 五八同城信息技术有限公司 Compiler plug-in unit adjustment method, device, computer equipment and readable storage medium storing program for executing
CN109857642A (en) * 2018-12-30 2019-06-07 贝壳技术有限公司 A kind of the block type adjustment method and debugging tool of UI automatized script
CN110046097A (en) * 2019-04-01 2019-07-23 深圳震有科技股份有限公司 A kind of method, system and storage medium that positioning memory is illegally rewritten
CN110515853A (en) * 2019-08-30 2019-11-29 苏州浪潮智能科技有限公司 A kind of dual serial ports Debug adjustment method and equipment
CN110554966A (en) * 2019-09-09 2019-12-10 深圳市鼎阳科技有限公司 Drive debugging method, behavior analysis method and drive debugging system
CN110727577A (en) * 2019-08-29 2020-01-24 华东计算技术研究所(中国电子科技集团公司第三十二研究所) Debugging method, system and medium for probability recurrence problem in embedded system software
CN110998540A (en) * 2017-08-01 2020-04-10 微软技术许可有限责任公司 Execution of focus of trace code in debugger
CN111526043A (en) * 2020-04-13 2020-08-11 深圳市博实结科技有限公司 Embedded equipment, embedded system and maintenance method thereof
CN112131097A (en) * 2020-07-27 2020-12-25 展讯半导体(南京)有限公司 Debugging information dynamic acquisition method and system
CN112255534A (en) * 2020-10-14 2021-01-22 天津津航计算技术研究所 IP core module debugging system based on FPGA
CN112667412A (en) * 2020-11-27 2021-04-16 北京科银京成技术有限公司 Debugging device and method for embedded system core dump
CN113064749A (en) * 2021-04-26 2021-07-02 山东英信计算机技术有限公司 Method for controlling debugging information output at runtime stage through BIOS
WO2023125219A1 (en) * 2021-12-31 2023-07-06 Espressif Systems (Shanghai) Co., Ltd. Debugging method, iot device, debugging server and debugging system

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102339248A (en) * 2010-07-20 2012-02-01 上海闻泰电子科技有限公司 On-line debugging system and method for embedded terminal
CN102750212A (en) * 2012-06-13 2012-10-24 长园深瑞继保自动化有限公司 Embedded system fault diagnosis method and embedded system with fault diagnosis
CN102750212B (en) * 2012-06-13 2016-01-06 长园深瑞继保自动化有限公司 Embedded system method for diagnosing faults and the embedded system being provided with fault diagnosis
CN103823731A (en) * 2014-03-18 2014-05-28 福州瑞芯微电子有限公司 SD protocol stack debugging method based on Android system
CN103823731B (en) * 2014-03-18 2017-03-15 福州瑞芯微电子股份有限公司 A kind of SD protocol stack adjustment methods based on Android system
CN105335276A (en) * 2014-06-13 2016-02-17 联想(北京)有限公司 Fault detection method and electronic device
CN104268029A (en) * 2014-09-23 2015-01-07 天津国芯科技有限公司 Nesting exception processing circuit and method for embedded PowerPC (performance optimization with enhanced RISC (reduced instruction set computer)-performance computing) processor
CN105740139A (en) * 2014-12-09 2016-07-06 北京中船信息科技有限公司 Virtual environment based embedded software debugging method
CN104657263A (en) * 2015-02-10 2015-05-27 上海创景计算机系统有限公司 System and method for realizing universal type target code coverage rate testing based on JTAG (Joint Test Action Group) debug mode
CN104657263B (en) * 2015-02-10 2017-10-24 上海创景计算机系统有限公司 Universal object code coverage rate test system and method for testing are realized based on JTAG debud modes
CN104915295A (en) * 2015-06-29 2015-09-16 北京奇虎科技有限公司 Game software debugging method and device
CN104915295B (en) * 2015-06-29 2017-11-28 北京奇虎科技有限公司 Games Software adjustment method and device
CN104991846A (en) * 2015-07-01 2015-10-21 上海斐讯数据通信技术有限公司 Working mode switching system and method for mobile terminal
CN104991846B (en) * 2015-07-01 2018-03-02 上海斐讯数据通信技术有限公司 The switching system and method for a kind of working mode of mobile terminal
CN106815101B (en) * 2015-11-27 2019-09-06 中国科学院沈阳自动化研究所 Embedded system external volatile memory high-reliability storage and diagnostic method
CN106815101A (en) * 2015-11-27 2017-06-09 中国科学院沈阳自动化研究所 Embedded system external volatile memory high-reliability storage and diagnostic method
CN105549970A (en) * 2015-12-09 2016-05-04 上海斐讯数据通信技术有限公司 Boot method and system based on Linux operation system
CN105721568A (en) * 2016-02-02 2016-06-29 清华大学 Remote debugging system, method and device
CN105956267A (en) * 2016-04-29 2016-09-21 北京航天自动控制研究所 Equipment modeling language based embedded type emulated serial port and modeling method thereof
CN105956267B (en) * 2016-04-29 2019-04-09 北京航天自动控制研究所 A kind of embedded emulation serial ports and modeling method based on equipment modeling language
CN107506293B (en) * 2016-06-14 2022-04-22 中兴通讯股份有限公司 Software performance data acquisition method and device
CN107506293A (en) * 2016-06-14 2017-12-22 中兴通讯股份有限公司 A kind of software performance data acquisition method and device
CN106354639A (en) * 2016-08-29 2017-01-25 天脉聚源(北京)传媒科技有限公司 Processing method and device for NSLog output functions
CN107870855A (en) * 2016-09-27 2018-04-03 北京计算机技术及应用研究所 Debugging system based on the bright embedded OS in day
CN106776293A (en) * 2016-11-29 2017-05-31 天脉聚源(北京)传媒科技有限公司 A kind of method and device of program segment detection
CN108228247A (en) * 2016-12-14 2018-06-29 中国航空工业集团公司西安航空计算技术研究所 The system and method that a kind of tool is interacted with target machine enhancing
CN107065663A (en) * 2017-04-05 2017-08-18 珠海格力电器股份有限公司 A kind of unit malfunction test method and its mobile terminal, unit malfunction test system
CN110998540A (en) * 2017-08-01 2020-04-10 微软技术许可有限责任公司 Execution of focus of trace code in debugger
CN108549602B (en) * 2018-03-30 2022-03-08 深圳市江波龙电子股份有限公司 Software debugging method
CN108549602A (en) * 2018-03-30 2018-09-18 深圳市江波龙电子有限公司 A kind of software debugging method
CN109542773A (en) * 2018-11-02 2019-03-29 五八同城信息技术有限公司 Compiler plug-in unit adjustment method, device, computer equipment and readable storage medium storing program for executing
CN109857642B (en) * 2018-12-30 2022-10-11 贝壳技术有限公司 Blocking type debugging method and debugging tool for UI automation script
CN109857642A (en) * 2018-12-30 2019-06-07 贝壳技术有限公司 A kind of the block type adjustment method and debugging tool of UI automatized script
CN110046097A (en) * 2019-04-01 2019-07-23 深圳震有科技股份有限公司 A kind of method, system and storage medium that positioning memory is illegally rewritten
CN110727577A (en) * 2019-08-29 2020-01-24 华东计算技术研究所(中国电子科技集团公司第三十二研究所) Debugging method, system and medium for probability recurrence problem in embedded system software
CN110727577B (en) * 2019-08-29 2023-06-09 华东计算技术研究所(中国电子科技集团公司第三十二研究所) Debugging method, system and medium for probability reproduction problem in embedded system software
CN110515853A (en) * 2019-08-30 2019-11-29 苏州浪潮智能科技有限公司 A kind of dual serial ports Debug adjustment method and equipment
CN110554966A (en) * 2019-09-09 2019-12-10 深圳市鼎阳科技有限公司 Drive debugging method, behavior analysis method and drive debugging system
CN111526043A (en) * 2020-04-13 2020-08-11 深圳市博实结科技有限公司 Embedded equipment, embedded system and maintenance method thereof
CN112131097A (en) * 2020-07-27 2020-12-25 展讯半导体(南京)有限公司 Debugging information dynamic acquisition method and system
CN112255534A (en) * 2020-10-14 2021-01-22 天津津航计算技术研究所 IP core module debugging system based on FPGA
CN112667412A (en) * 2020-11-27 2021-04-16 北京科银京成技术有限公司 Debugging device and method for embedded system core dump
CN113064749A (en) * 2021-04-26 2021-07-02 山东英信计算机技术有限公司 Method for controlling debugging information output at runtime stage through BIOS
CN113064749B (en) * 2021-04-26 2023-02-28 山东英信计算机技术有限公司 Method for controlling debugging information output at runtime stage through BIOS
WO2023125219A1 (en) * 2021-12-31 2023-07-06 Espressif Systems (Shanghai) Co., Ltd. Debugging method, iot device, debugging server and debugging system

Similar Documents

Publication Publication Date Title
CN101122880A (en) Embedded type system of embed type debugging device and embedded type system debugging method
Krammer et al. MARMOT: An MPI analysis and checking tool
CN100555218C (en) Be used to improve the apparatus and method of the simulation velocity of the middle-and-high-ranking language of analogue system on the sheet
US8266608B2 (en) Post-compile instrumentation of object code for generating execution trace data
CN102346708B (en) Debugger and debugging method thereof
US9898387B2 (en) Development tools for logging and analyzing software bugs
US5911073A (en) Method and apparatus for dynamic process monitoring through an ancillary control code system
US9003367B2 (en) Specific debug trace collecting
US20060190930A1 (en) Post-compile instrumentation of object code for generating execution trace data
US20090037887A1 (en) Compiler-inserted predicated tracing
US9594670B2 (en) Managing software dependencies during software testing and debugging
KR102025078B1 (en) Diagnosing code using single step execution
US20100275185A1 (en) System and Method for High Performance Coverage Analysis
US8533683B2 (en) Stack walking enhancements using sensorpoints
US8661417B2 (en) Debugging program function
US20200143061A1 (en) Method and apparatus for tracking location of input data that causes binary vulnerability
US20080010536A1 (en) Breakpoints with Separate Conditions
CN115328796A (en) Software vulnerability auxiliary positioning method and system for ARM architecture
CN102968372A (en) Program debugging system with program analysis function
US7143394B1 (en) Analyzing software behavior
CN101237350B (en) Global variant exception alteration and positioning method for multi-task environment single board machine
US20070150866A1 (en) Displaying parameters associated with call statements
CN105095079A (en) Method and device for hot spot module instruction tracking
CN112905474B (en) Hardware-based advanced program dynamic control flow tracking method and device
US7222064B1 (en) Instruction processor emulation having inter-processor messaging accounting

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20080213