Me encuentro en la difícil situación de tener que depurar una aplicación Qt sin casi ninguna herramienta de depuración: la aplicación parece comenzar a usar más y más CPU ya que ejecuta la misma acción una y otra vez; después de muchas horas, la CPU está completamente saturada.Técnicas de depuración sin herramientas de depuración
La aplicación se ejecuta en un dispositivo ARM Linux incrustado donde gdb parece no funcionar, tal vez problemas difíciles de descubrir con la cadena de herramientas proporcionada. Parece que strace solo informa las actividades del temporizador (esta es una aplicación OpenGL así que esto se espera). ltrace no está disponible y compilarlo resultó en una tarea difícil, tal vez inútil. No escribí la aplicación, pero el código fuente está disponible.
¿Hay algo más que pueda hacer para descubrir qué hace la aplicación ocupada cuando consume tantos recursos? De cualquier forma, tengo que rastrear todas las llamadas a métodos que hace la aplicación? ¿Hay alguna otra técnica que pueda usar para tratar de adivinar el problema o dónde enfocar mi atención?
EDITAR: Este es uno de los problemas con gdb: Only question marks in backtrace reported by gdb on ARM. Incluso escribiendo una aplicación de diez líneas que simula una segfault resulta en esto.
¿Has probado la depuración remota? – manasij7479
puede ejecutar valgrind? – WeaselFox
Depuración remota con gdb? Intenté durante horas sin éxito. valgrind también tiene problemas. Nadie fue capaz de hacer que estas herramientas funcionaran en esta plataforma. Considere también que las libs del sistema están desmanteladas. –