¿Hay algún tipo de modo de depuración en el que se pueda ejecutar OpenGL donde genera información en una consola? Tengo una aplicación que funciona bien en muchas máquinas, pero falla miserablemente en la máquina que realmente importa. No tengo acceso directo a esa máquina, así que estoy tratando de descubrir cómo está fallando. Actualmente no veo salida en la consola. Tenga en cuenta que la aplicación era originalmente una aplicación de Windows sin consola y la cambié a consola a través de las propiedades del proyecto. Además, si importa, algunos objetos no se muestran y otro está atascado y no se anima, lo cual no tiene ningún sentido para mí.Depuración de OpenGL o información detallada en la consola
Respuesta
No, realmente no. Tendría que escribir un enlace para OpenGL y registrar todas las llamadas que hace (que es lo que hacen las herramientas como gDEBugger) si realmente quiere un resultado detallado, pero eso requiere bastante trabajo (puede usar algo como GLIntercept para eso).) De la experiencia personal: lo más fácil será, probablemente, obtener acceso a la máquina en cuestión y ejecutar gDEBugger allí ... u obtener una máquina equivalente para que pueda reproducir el error con un depurador de gráficos adjunto.
Como alternativa, puede intentar usar la extensión ARB_debug_output
que, en teoría, debería proporcionarle más resultados. En la práctica, todo lo que obtiene es una llamada glGetError
después de cada llamada API OpenGL, que podría ser lo suficientemente buena para su caso de uso (es decir, simplemente hace algo que rompe el estado GL). Para usar la extensión de salida de depuración, debe modificar su aplicación para crear un contexto de depuración.
- 1. Salida de información de depuración en la consola
- 2. Depuración de C++/SDL con la ventana de la consola
- 3. JavaScript - obtener información detallada sobre el navegador
- 4. ¿Dónde encontraría información detallada sobre la implementación de cierres (como en JavaScript o Scheme)?
- 5. Deshabilitar la segunda consola vacía etiquetada [Consola de depuración] al iniciar un objetivo de depuración
- 6. Forma correcta de manejar la salida detallada de la consola en C#
- 7. recuperando información detallada del dispositivo midi usb en Windows XP
- 8. Creado con optimizaciones habilitadas o sin información de depuración
- 9. one-jar eliminar la información de advertencia detallada en la carga de la aplicación
- 10. Mongo Shell - Consola/registro de depuración
- 11. ¿Cómo puedo obtener información de error más detallada en la marca de Bootstrap?
- 12. Visual Studio: información de depuración en la compilación de lanzamiento
- 13. Cómo usar la consola interactiva Eclipse en la depuración
- 14. ¿Cuál es la mejor manera de registrar información de depuración en una aplicación de iPhone?
- 15. ¿De dónde se obtiene la mejor información detallada para la programación de C#?
- 16. Error de la aplicación .NET sin información de depuración
- 17. ¿Cómo obtener información de la consola de JavaScript de Chrome?
- 18. ¿Cómo obtener información de la consola sin cin?
- 19. ¿Extrae la información de depuración de un msys/mingw gcc built dll usando rebase.exe?
- 20. ¿Cómo registrar la información de depuración de ssh?
- 21. ¿La compilación de depuración de Visual Studio contiene información personal?
- 22. Mostrar información de depuración de excepciones a los usuarios
- 23. ¿La consola de depuración iOS 6 ya no está?
- 24. Ejecutar instrumentos y la consola de depuración simultáneamente
- 25. ¿Cómo escribir en una consola de depuración en VB6?
- 26. Imprimir información de depuración del procedimiento almacenado en MySQL
- 27. ¿Cómo controlar el nivel de información de depuración en glib?
- 28. Documentación interna detallada de Valgrind
- 29. Depuración de depuración o lanzamiento del informe?
- 30. ¿Dónde puedo encontrar la salida de consola o depuración del código ejecutado en la ventana del administrador de paquetes?
La utilidad de ARB_debug_output depende de la implementación de OpenGL. NVIDIA básicamente hace la versión 'glGetError', pero la versión de AMD es bastante más útil. No simplemente regurgita "GL_INVALID_OPERATION" hacia ti; generalmente le dice información útil como la función que lo causó, etc. Lo he visto reconocer específicamente las llamadas a funciones obsoletas en un contexto central. Los errores de compilación y vinculación de Shader arrojarán los registros apropiados en caso de falla. Etcétera. –
'ARG_debug_ouput' es parte de la especificación Core desde la versión' 4.3'. –