Method and apparatus for debugging a software program using dynamic debug patches and copy on write views

   
   

A method and apparatus for debugging a software program is provided that is non-intrusive and allows multiple persons to debug concurrently in view private sessions. In one example, a method includes preserving a memory state of a portion of a software program, such as a database system. A second software program is compiled and dynamically linked, and which when executed, would normally cause modification to targeted data in the preserved portion of the software program. The second software program is executed by making a copy of the targeted data in the preserved portion of the software program. The copy is modified to generate a modified copy of the targeted data without modifying the data that is in the preserved portion of the software program. In subsequent accesses, the user that issued that executed the second software program accesses the modified copy whenever the user would have otherwise accessed the corresponding preserved portion. The second software program is made accessible to other users of the database system by publishing in the preserved portion a corresponding symbolic name associated with the second software program. If another user accesses the second software program and executes it, then another copy of the targeted data is made for that user. As before the copy is modified to generate a modified copy of the targeted data without modifying the data that is in the preserved portion of the software program.

Un método y un aparato para eliminar errores de un programa del software es a condición de que es no-intruso y permite que las personas múltiples eliminen errores concurrentemente en sesiones privadas de la visión. En un ejemplo, un método incluye preservar un estado de la memoria de una porción de un programa del software, tal como un sistema de la base de datos. Se compila y se liga dinámicamente un segundo programa del software, y que cuando estaba ejecutada, causaría normalmente la modificación a los datos apuntados en la porción preservada del programa del software. El segundo programa del software es ejecutado haciendo una copia de los datos apuntados en la porción preservada del programa del software. La copia se modifica para generar una copia modificada de los datos apuntados sin la modificación de los datos que están en la porción preservada del programa del software. En accesos subsecuentes, el usuario que publicado que ejecutado el segundo programa del software tiene acceso a la copia modificada siempre que el usuario hubiera tenido acceso de otra manera a la porción preservada correspondiente. El segundo programa del software es hecho accesible a otros usuarios del sistema de la base de datos publicando en la porción preservada un nombre simbólico correspondiente asociado al segundo programa del software. Si otros accesos de usuario el segundo programa del software y lo ejecutan, entonces otra copia de los datos apuntados se hacen para ese usuario. Como antes de que la copia se modifique para generar una copia modificada de los datos apuntados sin la modificación de los datos que están en la porción preservada del programa del software.

 
Web www.patentalert.com

< Duplicated naming service in a distributed processing system

< Multiple `express buy` profiles for multiple stores (dell.com and gigabuys.com)

> Method and system for identifying memory component identifiers associated with data

> Apparatus and methods for providing data synchronization by facilitating data synchronization system design

~ 00152