The invention is a method for debugging a machine code of a program that has been subjected to an optimizing action, wherein the machine code may have been reordered, duplicated, eliminated or transformed so as not to correspond with the program's source code order. The method derives a table which associates each machine code instruction with a source construct for which it was generated. The user sets a breakpoint at a breakpoint P in the source code where execution is to stop. Then the method determines at least one corresponding location for the breakpoint in the machine code through use of the table, and executes, by native execution or emulation, only machine code instructions which correspond to source constructs that precede the breakpoint in the source code order. The method further enables a comparison of the results of two passes of emulation (in different orders) to detect a class of bugs that are particularly hard to find: bugs caused by optimizer errors and user bugs that manifest themselves only in the optimized executable.

De uitvinding is een methode om een machinecode van een programma te zuiveren dat aan een optimaliserende actie is onderworpen, waarin de machinecode kan weer in orde gebracht te zijn, zo zo gedupliceerd, geëlimineerd of omgezet niet om met de van het bron programma te corresponderen codeorde. De methode leidt een lijst af die elke instructie van de machinecode met een bronconcept associëert waarvoor het werd geproduceerd. De gebruiker plaatst een breekpunt bij een breekpunt P in de broncode waar de uitvoering moet ophouden. Dan bepaalt de methode minstens één overeenkomstige plaats voor het breekpunt in de machinecode door gebruik van de lijst, en voert, door inheemse uitvoering of wedijver, slechts de instructies van de machinecode die uit aan bronconcepten beantwoorden die het breekpunt in de broncodeorde voorafgaan. De methode laat verder een vergelijking van de resultaten van twee passen van wedijver (in verschillende orden) toe om een klasse van insecten te ontdekken die bijzonder moeilijk zijn te vinden: insecten die door optimizer fouten en gebruikersinsecten worden veroorzaakt die slechts in geoptimaliseerde uitvoerbaar tot uiting komen.

 
Web www.patentalert.com

< (none)

< Method of producing toner by way of dispersion polymerization for use in developing latent electrostatic images

> Method for extracting inductance parameters from a circuit design

> (none)

~ 00041