Methods and apparatus for providing a substantially full set of state information to a debugger, without significantly compromising system performance, in order to debug optimized computer program code are disclosed. According to one aspect of the present invention, a method for obtaining information associated with program code includes adding a segment of code, which includes a representation that is effectively not used after it is computed, to the program code. Debugging code is added in proximity to the segment of code, and machine code is generated from the program code. The machine code includes a break point that is associated with the debugging code, and includes an instruction at the breakpoint. Finally, the method includes replacing the instruction at the break point with a branch instruction that is arranged to cause the debugging code to execute.

Οι μέθοδοι και οι συσκευές για ένα ουσιαστικά πλήρες σύνολο κρατικών πληροφοριών σε έναν διορθωτή, χωρίς σημαντικά να συμβιβάσουν την απόδοση συστημάτων, προκειμένου να διορθωθεί ο βελτιστοποιημένος κώδικας προγράμματος υπολογιστών αποκαλύπτονται. Σύμφωνα με μια πτυχή της παρούσας εφεύρεσης, μια μέθοδος για τις πληροφορίες που συνδέονται με τον κώδικα προγράμματος περιλαμβάνει την προσθήκη ενός τμήματος του κώδικα, που περιλαμβάνει μια αντιπροσώπευση που αποτελεσματικά δεν χρησιμοποιείται αφότου υπολογίζεται, στον κώδικα προγράμματος. Ο κώδικας διόρθωσης προστίθεται στην εγγύτητα στο τμήμα του κώδικα, και ο κώδικας μηχανών παράγεται από τον κώδικα προγράμματος. Ο κώδικας μηχανών περιλαμβάνει ένα σημείο σπασιμάτων που συνδέεται με τον κώδικα διόρθωσης, και περιλαμβάνει μια οδηγία στο σημείο παύσης. Τέλος, η μέθοδος περιλαμβάνει την αντικατάσταση της οδηγίας στο σημείο σπασιμάτων με μια οδηγία κλάδων που κανονίζεται για να αναγκάσει τον κώδικα διόρθωσης για να εκτελέσει.

 
Web www.patentalert.com

< Method and apparatus for debugging optimized code

< Method and apparatus for debugging optimized code

> Process and system for merging trace data for primarily interpreted methods

> System and method for recovering from design errors in integrated circuits

~ 00067