Tengo una llamada de función de biblioteca de tercera parte dispersa en muchos lugares en mi ejecutable. Mi ejecutable está construido usando símbolos de depuración, pero la biblioteca de terceros no tiene los símbolos de depuración, por lo tanto, no puedo colocar un punto de interrupción en la función. Quiero poner un punto de interrupción siempre que se llame a la función de biblioteca para examinar la pila de llamadas. ¿Cómo puedo establecer un punto de interrupción en todas las invocaciones de una llamada a función de biblioteca dentro de mi ejecutable?¿Cómo establecer un punto de interrupción en gdb para todas las invocaciones de una función?
5
A
Respuesta
4
creo que la única manera de hacerlo es:
- encontró ninguna llamada de esta función en el código;
- crear un punto de interrupción en esa línea;
- ejecuta el depurador y se detiene allí;
- escriba en gdb
nexti
para acceder a la primera instrucción de función; - obtener un eip actual que apuntará al comienzo de esa función;
- crear un nuevo punto de interrupción en la dirección señalada por eip;
Cuestiones relacionadas
- 1. Establecer un punto de interrupción en GDB
- 2. gdb, establecer punto de interrupción en todas las funciones en un archivo
- 3. gdb punto de interrupción en pthread_create
- 4. gdb: establezca un punto de interrupción para un manejador SIGBUS
- 5. ¿Cómo funciona un depurador como gdb para establecer un punto de interrupción a través de JTAG?
- 6. GoogleTest: cómo establecer un punto de interrupción?
- 7. ¿Cómo saltar a un punto de interrupción dentro de gdb?
- 8. pausa gdb sin punto de interrupción
- 9. GDB cómo detener la ejecución sin un punto de interrupción?
- 10. cómo establecer el punto de interrupción en la función en una biblioteca compartida que no se ha cargado en gdb
- 11. Establecer el punto de interrupción en el código C o C++ programáticamente para gdb en Linux
- 12. Establecer un punto de interrupción en una plantilla T4
- 13. ¿Puedo establecer un punto de interrupción en 'acceso a memoria' en GDB?
- 14. Establecimiento de punto de interrupción en GDB donde la función devuelve
- 15. ¿Es posible establecer un punto de interrupción en funciones anónimas?
- 16. ¿cómo puedo poner un punto de interrupción en "algo está impreso en el terminal" en gdb?
- 17. Poner punto de interrupción en función nombrada
- 18. ¿Hay alguna forma de establecer un punto de interrupción en gdb que sea condicional en la pila de llamadas?
- 19. Establecer el punto de observación del hardware GDB/cómo configurar el punto de observación del software
- 20. ¿Cómo establecer un punto de interrupción en Eclipse en una biblioteca de terceros?
- 21. punto de corte condicional GDB en tipos arbitrarios
- 22. ¿Cómo establecer un punto de interrupción al hacer clic en un botón de terceros?
- 23. ¿Cómo establecer un punto de interrupción en un archivo de un proyecto que tiene muchos archivos con el mismo nombre?
- 24. Cómo script de gdb (con python)? Ejemplo agregar puntos de interrupción, ejecutar, ¿qué punto de interrupción alcanzamos?
- 25. configurando un punto de interrupción de salida de gdb no funciona?
- 26. ¿Cómo establecer un punto de interrupción por nombre de función dentro del espacio de nombres anónimo en Visual Studio?
- 27. Cómo establecer un punto de interrupción en un método dentro del marco .net
- 28. Cómo establecer un punto de interrupción en un proyecto xcode dependiente
- 29. Punto de interrupción señalando "objc_autoreleaseNoPool"
- 30. Eclipse cdt/gdb punto de interrupción automático en la entrada del programa - ¿cómo deshabilitar?
Parece que el enlazador debería conocer la asignación de nombre y dirección de la función incluso sin símbolos de depuración, por lo que no puedo entender por qué no se puede poner un punto de interrupción. ¿Estás seguro de que no está en una biblioteca compartida que se carga después de intentar colocar el punto de interrupción? –