No está mal, per se. Pero.
1. Ni una palabra sobrelas aserciones (assertions), que son de gran ayuda a la hora de depurar.
2. el trazador es controvertido, por decir lo menos.
3. Hay que mencionar que debido a la optimización (del compilador) la depuración se hace muy difícil para las funciones simples debido al inlining y sugerir formas de eludir este inconveniente.
No está mal, per se. Pero.
1. Ni una palabra sobre las aserciones (assertions), que son de gran ayuda a la hora de depurar.
2. el trazador es controvertido, por decir lo menos.
3. Se debe mencionar que debido a la optimización (compilador) la depuración es muy difícil para las funciones simples debido a inlining y sugerir maneras de trabajar alrededor de este inconveniente.
3. es necesario mencionar que debido a la optimización (compilador) depuración es muy difícil para las funciones simples debido a inlining y sugerir formas de evitar esta desventaja.
En el depurador, el inlining está completamente deshabilitado y el recorrido es completamente por código fuente tal cual.
En el profiler de las últimas builds había un problema con el checkpointing, que reducía la calidad de los informes, pero se ha solucionado y en la próxima build de la semana que viene estará disponible una nueva versión con informes más detallados.
Pero lo que está escrito aquí es fundamentalmente erróneo:
Хочу отдельно отметить, что компилятор MetaEditor транслирует программы в байт-код, а не нативный код (подробнее читаем по ссылке). Это дает возможность создавать защищенные шифрованием программы, не боясь взлома. Также преимуществом такой трансляции является то, что байт-код может быть запущен как в 32-х битной версии операционной системы, так и в 64-х битной.
En la primera etapa de la compilación, se almacena un bytecode universal, pero cuando se ejecuta en el terminal, este bytecode se traduce totalmente al 100% a código nativo de 32 o 64 bits con optimización adicional. Es debido a la traducción a código nativo que hemos multiplicado la velocidad de ejecución de los programas MQL5 en comparación con MQL4.
El bytecode puro sin traducción a código nativo estaba en MQL4.
En el depurador, el inlining está completamente deshabilitado y el paseo es completamente sobre el código fuente tal cual.
¿Desde cuándo es así? Solía ser un gran problema. Hace bastante tiempo que no trabajo en 5k.
Desde el principio.
Inlining se come la mayoría de las funciones y sería imposible depurar con él en absoluto, incluso teóricamente. Tal vez solo trabajaste con las primeras versiones del depurador, donde habia varios problemas.
¿Y para depurar durante el final de la maleza o sin conexión con el mercado? ¿Tiene solución? Porque hay un problema después de la "OnTick" con el depurador, En MT4 hay un"Tick generador", algo como esto en mt5?
Gracias de antemano,
¿Y para depurar durante el final de la maleza o sin conexión con el mercado? ¿Tiene solución? Porque hay un problema después de la "OnTick" con el depurador, En MT4 hay un "Tick generador", algo como esto en mt5?
Gracias de antemano,
Prácticamente no utilizo la otaldka en tiempo real debido al largo proceso de llegada de las cotizaciones y la sección de gráficos necesaria.
Tengo que meter Print a la vieja usanza y monitorizarlo en el tester.
Aún así, el depurador local no despega antes de Visual Studio en absoluto. Apuntas a una variable y te da un valor, apuntas a una expresión como a+b /s y aparece el resultado. En ME es más fácil usar Print.
Definitivamente mejoraremos el depurador tan pronto como terminemos la actualización de MT4.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Depuración de programas en MQL5:
Este artículo va dirigido a los programadores que ya conocen el lenguaje, pero que aún no han asimilado suficiententemente bien el desarrollo de programas. El artículo nos descubrirá métodos prácticos para depurar programas, es el fruto de la experiencia combinada, no sólo mía, sino también de muchos de los programadores de cuya experiencia he aprendido.
Autor: Nikolay Demko