¿Cómo poner un punto de interrupción al final de una función en windbg, por lo que no necesita de edición, incluso si se han añadido algunas líneas / borrado en la fuente?

StackOverflow https://stackoverflow.com/questions/2566166

Pregunta

I que entrar algunos datos cuando son golpeados algunas funciones, tanto al inicio de la ejecución y y al final de ella. Si bien no tengo ningún problema con poner puntos de interrupción en el inicio de las funciones (utilizando bu [module]!functionname, no sé cómo poner un punto de interrupción al final de una función, de tal manera que yo no tenga que editar el cada punto de interrupción agrego / somelines eliminar de la archivo / función. estoy seguro de que es un escenario muy común, sólo que no saben cómo se hace !! ¿alguien puede elucidar?

¿Fue útil?

Solución

Se puede utilizar el punto de interrupción en el inicio de la función para configurar el punto de corte en la dirección de retorno. De esta manera:

bu [module]!functionname "bp /1 @$ra \".echo Exit functionname ; g\"; .echo Enter functionname; g"

Advertencia:. Esto puede no funcionar si se produce una excepción en la función

Otros consejos

Esto es lo que está buscando exactamente para

Obtener valores de retorno de la función e información de perfiles de .NET utilizando WinDbg

Se explica cómo establecer un punto de ruptura en la declaración de la función

Lo mismo es aplicable para el código nativo también.

Espero que esto ayude.

puede utilizar el comando PT, lo que significa el paso a la próxima planilla. por ejemplo, cuando se golpea la función en la que pide, introduzca comando sólo pt golpeará el código en dondequiera que fue llamado de retorno.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top