A method of back-tracing execution of a computer program, where the computer program comprises a plurality of blocks, comprises instrumenting an original version of the program by adding instrumentation code to some or all of the blocks to form an instrumented program. Instrumentation can be added at the binary or source level, or at link time. The instrumentation code records execution sequence information upon execution of the corresponding instrumented block to create a trace record of the executed program. The execution sequence information for each block comprises a block identifier which identifies the corresponding block. A detailed back-trace is generated, after the program has executed, by replacing each recorded block identifier with program counters associated with each instruction in the corresponding block. The application may comprise several programs or subprograms, in which case separate regions of memory can be maintained. Each region is associated with a program or subprogram or a set of programs or subprograms and stores therein part of the trace record corresponding to the associated set of programs or subprograms. The trace records themselves may be of different types. After execution, the trace record is presented to a user, in the form of assembly code, or more preferably, in the form of source level code. In an alternative embodiment, a summary of the trace record recorded during execution of an instrumented program is presented to a user. Various types of traces can be produced, including a last instruction trace and a first instruction trace.

Een methode achter-vindt uitvoering van een computerprogramma, waar het computerprogramma uit een meerderheid van blokken bestaat, bestaat uit het van instrumenten voorzien van een originele versie van het programma door instrumentatiecode aan wat of de elk van blokken toe te voegen om een van instrumenten voorzien programma te vormen. De instrumentatie kan op het binaire getal of het bronniveau, of in verbindingstijd worden toegevoegd. De instrumentatiecode registreert de informatie van de uitvoeringsopeenvolging op uitvoering van het overeenkomstige van instrumenten voorzien blok om tot een spoorverslag van het uitgevoerde programma te leiden. De informatie van de uitvoeringsopeenvolging voor elk blok bestaat uit een blokherkenningsteken dat het overeenkomstige blok identificeert. Een gedetailleerd achter-spoor wordt geproduceerd, nadat het programma heeft uitgevoerd, door elk geregistreerd blokherkenningsteken met programmatellers te vervangen verbonden aan elke instructie in het overeenkomstige blok. De toepassing kan uit verscheidene programma's of subprogramma's bestaan, waarbij de afzonderlijke gebieden van geheugen kunnen worden gehandhaafd. Elk gebied wordt geassocieerd met een programma of een subprogramma of een reeks programma's of subprogramma's en opslaat daarin een deel van het spoorverslag dat aan de bijbehorende reeks programma's of subprogramma's beantwoordt. De spoorverslagen zelf kunnen van verschillende types zijn. Na uitvoering, wordt het spoorverslag voorgelegd aan een gebruiker, in de vorm van assemblagecode, of liever, in de vorm van bronniveaucode. In een alternatieve belichaming, wordt een samenvatting van het spoorverslag dat tijdens uitvoering van een van instrumenten voorzien programma wordt geregistreerd voorgelegd aan een gebruiker. Diverse types van sporen kunnen, met inbegrip van een laatste instructiespoor en een eerste instructiespoor worden veroorzaakt.

 
Web www.patentalert.com

< (none)

< Determining a worst case switching factor for integrated circuit design

> Shuttle apparatus for high-speed lacing of an article

> (none)

~ 00029