¿Qué herramientas conoce, además de las de Visual Studio, para analizar los cuellos de botella de rendimiento en una aplicación Windows CE/Mobile? Estoy buscando algo como AQTime para CE/Mobile, para perfilar aplicaciones C/C++ compiladas con código nativo.Herramientas de análisis de perfil/rendimiento de perfil para Windows CE/Mobile
Respuesta
No he encontrado ninguna de esas herramientas para WindowsMobile para el desarrollo nativo.
Lo más parecido que he encontrado es el conjunto de herramientas EnTrek (CodeSnitch/ProcMan), pero en realidad no son herramientas de creación de perfiles. http://www.entrek.com/products.htm
Lo que sí hicimos es crear nuestro propio soporte de perfiles en nuestros propios productos utilizando el conmutador Vistual Studio "/ callcap" para VC++. Al usar ese conmutador, puede crear una biblioteca de creación de perfiles que elimine los tiempos y los recuentos, como prefiera. En general funciona bien para nosotros, pero a veces la sobrecarga de estas funciones de enlace puede ser demasiado y puede sesgar los resultados de temporización a las áreas de gran cantidad de llamadas a funciones.
De los Documentos de MSDN:
La opción/callcap hace que el compilador para insertar llamadas a perfilar ganchos al principio y al final de cada función .
Debe compilar los ganchos de perfil sin el interruptor callcap. Si compila las funciones de gancho de perfilado con el interruptor callcap, las funciones realizarán infinitas llamadas recursivas consigo mismas.
El ejemplo de código siguiente, Callcaphooks.c, muestra un gancho perfilado función, _CAP_Enter_Function, por compilación sin callcap.
// File: callcaphooks.c
#include <stdio.h>
int main();
void _CAP_Enter_Function(void *p)
{
if (p != main)
printf("Enter function (at address %p) at %d\n",
p, GetTickCount());
return;
}
void _CAP_Exit_Function(void *p)
{
if (p != main)
printf("Leaving function (at address %p) at %d\n",
p, GetTickCount());
return;
}
Si está haciendo desarrollo de .NET CF, consulte Power Toys for .NET CF 3.5 para ver las utilidades que pueden ayudarlo a identificar los cuellos de botella, especialmente los relacionados con la memoria.
Lo siento, debería haber mencionado, yo era consciente de Power Toys pero en mi caso no se puede utilizar porque el código es nativa. –
Windows CE apoya la Remote Call Profiler (si el OEM añadió soporte para él) fuera de la caja. Las imágenes de WinMo, creo, generalmente ya tienen soporte en las imágenes. Para CE, necesita establecer la variable de entorno IMAGEPROFILER (según las propiedades del proyecto).
Lo que no está claro en MSDN es cómo instrumentar una aplicación que no está construida con Platform Builder, pero en realidad es bastante simple. Debe agregar el/callcap swith a la línea de comando del compilador y agregar cecap.lib a la configuración del vinculador.
Por supuesto, necesitará una herramienta para capturar y visualizar los datos del perfilador. Para eso, puede usar la versión de evaluación de Platform Builder (5.0 o 6.0) (la evaluación es gratuita) o eVC 4.0 (también gratis).
Para obtener más información sobre el uso del generador de perfiles, Sue Loh del equipo central de CE ha escrito un poco al respecto.
+1 Gracias por sugerir esto. Es un salvavidas :) Optimicé mi blitter como loco con sus datos perfilados. – legends2k
He escrito un perfilador de Call Graph para Windows Mobile. Actualmente (a partir de enero de 2010) en la fase Beta, y se puede descargar de forma gratuita.
HTH
-Zak
Parece prometedor, lo intentaré. –
Parece que el proyecto se ha mudado a http://codeprophet.co.uk – oscode
- 1. herramientas de análisis de código para Android
- 2. Herramientas de análisis de perfiles y memoria para Delphi
- 3. Herramientas de análisis de ensamblaje
- 4. Herramientas para el análisis de fugas de memoria nativa
- 5. Herramientas de análisis de código estático de TeamCity para .NET
- 6. Herramientas de análisis de archivos Perfmon
- 7. Herramientas de análisis de código estático
- 8. Herramientas de análisis de código C++
- 9. ¿Qué herramientas de análisis de roscado recomiendan?
- 10. ¿Existen útiles herramientas de análisis estático para bases de datos?
- 11. Herramientas de análisis de código estático para VB6
- 12. ¿Puede recomendar herramientas de análisis de rendimiento para PHP?
- 13. Herramientas de análisis de memoria/rendimiento para Android
- 14. Haskell herramientas de análisis - yacc: lex :: feliz :?
- 15. Herramientas de Linux para inspeccionar Windows DLL
- 16. ¿Por qué se necesitan herramientas de análisis para DSL?
- 17. ¿Qué herramientas usas para el análisis de código estático?
- 18. ¿Qué herramientas de análisis estático están disponibles para C#?
- 19. Herramientas HTTP para el análisis y captura de solicitudes/respuestas
- 20. Herramientas de análisis estático de inclusión de archivos de cabecera?
- 21. perfil código de Java
- 22. Comparación de herramientas de análisis de código estático en Linux?
- 23. ¿Existen herramientas visuales para MongoDB (para Windows)?
- 24. ¿Análisis del usuario basado en su perfil de Facebook?
- 25. Herramientas de análisis de código y declaraciones entre tipos
- 26. Herramientas de análisis estático de Objective-C: ¿complemento a Xcode?
- 27. Perfiles de Windows Phone: error de registro de análisis
- 28. herramientas de análisis y visualización de código MATLAB?
- 29. Herramientas de hibernación: Error de nombre JNDI análisis
- 30. Análisis de virus bajo demanda Windows
Gracias, Shane. Como dijiste, no es exactamente lo que estaba buscando. Pero sigue siendo una gran pista. Ya tengo algunas clases de utilidad para la creación de perfiles, pero hasta ahora las estaba agregando manualmente a través de macros en el código sospechoso solamente. –