2010-06-22 21 views
7

He leído muchas publicaciones aquí dando consejos sobre el perfil pero necesito preguntar esto.¿Cómo debo perfil visual C++ express?

Por lo que puedo decir, Visual C++ Express no genera un archivo de depuración que es utilizado por los programas del perfilador. Probé AMD Codeanalyst y parecía funcionar bien, excepto que no se identificaron ninguna de las rutinas en mi programa, solo un montón de "módulos no identificados".

Soy nuevo en C++. Estoy acostumbrado al simple generador de perfiles utilizado por Python. Simple, supongo, porque el lenguaje es interpretado.

Agradezco cualquier idea.

P.S .: ¿La rotación del volante es la derivada de la rotación del automóvil?

+1

Para un desarrollo serio, debe pagar el impuesto Microsoft o cambiar a una plataforma abierta. Visual Studio Express es solo una muestra para engancharte. En cuanto a los ps: lo dudo; el ángulo de las ruedas afectará la fricción con la carretera de forma no lineal. –

+0

¿Puede recomendar una fuente abierta similar o tan capaz como Visulal Studio para C++? –

+1

Soy demasiado ludita para usar un IDE, así que no puedo recomendar nada; mi entorno preferido de shell, las herramientas de GNU y un editor de fuente básico no serán del gusto de todos. Escuché que la gente habla sobre Eclipse y Codeblocks, pero no tengo idea si son buenos o cómo se comparan con Visual Studio. –

Respuesta

7

Primero, la velocidad angular polar del automóvil debe ser proporcional a la velocidad del automóvil ya la posición angular del volante (en una primera aproximación)

En segundo lugar, apenas hay un profesor o blogger o autor de libro que le diga esto, pero si quiere ver qué está haciendo el código y optimizarlo, the hands-down simplest way is this.

Agregado: los programadores tienen una fuerte tendencia a suponer que cualquier herramienta de generación de perfiles automática hará un mejor trabajo que la técnica manual, pero eso depende de los detalles de lo que hacen exactamente. La mayoría de ellos implementan lo popular en lugar de lo que es más efectivo. El resultado es que se pierden algunos problemas de rendimiento, poniendo un límite a la aceleración que puede obtener. Here is a list of common misconceptions que no permite encontrar problemas de rendimiento.

Algunos perfiladores hacen llegar casi a la derecha, incluyendo RotateRight/Zoom y LTProf.

+0

No sé de profesores, bloggers o autores, pero eso es exactamente lo que oprofile para Linux funciona. Aunque el muestreo se realiza automáticamente, muchas veces por segundo. –

+0

@Mike Seymour: Usted podría pensarlo, pero es bastante complicado, y siguiendo el documento, parece sufrir de muchos de los problemas descritos aquí: http://stackoverflow.com/questions/1777556/alternatives-to-gprof/ 1779343 # 1779343 –

+1

@Mike Seymour: ... Necesita 1) obtener muestras de pila aleatorias de un hilo incluso durante E/S, 2) ser capaz de ignorar muestras durante la entrada del usuario o dejar que el usuario controle el muestreo mediante teclas de acceso rápido, 3) informe por línea (no por función) el porcentaje de muestras que contienen esa línea (ignorando la recursión), 4) idealmente permita que el usuario vea muestras individuales de la pila. Finalmente, no es necesario tomar muestras en grandes cantidades o en alta frecuencia. De hecho, ** lsstack ** es una forma perfectamente útil de tomarlos. –

0

¿Estás seguro? IIRC, Visual Studio Express puede crear el archivo .PDB, aunque es posible que tenga que pedirle que genere información de depuración si está utilizando una versión de lanzamiento. (Tiene que hacerlo; de lo contrario, el depurador de Visual Studio no funcionaría)

+0

Bueno, VSE crea algunos archivos .pdb. Tendré que meterme un poco más con Codeanalyst. El depurador de Visual Studio no funciona con VS express. –

+0

@ Peter Stewart: Err ... sí, el depurador de VS funciona en VS express.Puede establecer un punto de interrupción y ejecutar el programa y funcionará correctamente. –

+0

Perdóneme. Sí, tienes razón, estaba pensando en el generador de perfiles de VS. –

0

No es difícil escribir su propio generador de perfiles. O podrías buscar una fuente abierta que tenga algunas pruebas detrás de esto. Es posible que desee consultar mi propio generador de perfiles de código abierto, llamado cRunWatch

+0

Eso se ve como un perfilador ordenado, y también me gusta el programa de evaluación de unidades. Lo veré más a fondo. –

Cuestiones relacionadas