Ce n'est pas mauvais en soi. Mais.
1. Pas un mot sur lesassertions (assertions), qui sont pourtant d'une aide précieuse lors du débogage.
2. le traceur est controversé, c'est le moins qu'on puisse dire.
3. il faudrait mentionner qu'en raison de l'optimisation (du compilateur) le débogage devient très difficile pour les fonctions simples à cause de l'inlining et suggérer des moyens de contourner cet inconvénient.
Ce n'est pas mauvais en soi. Mais.
1. Pas un mot sur les assertions (assertions), qui sont pourtant d'une aide précieuse lors du débogage.
2. le traceur est controversé, c'est le moins qu'on puisse dire.
3. il faudrait mentionner qu'à cause de l'optimisation (compilateur) le débogage est très difficile pour les fonctions simples à cause de l'inlining et suggérer des moyens de contourner cet inconvénient.
3. il est nécessaire de mentionner qu'en raison de l'optimisation (compilateur), le débogage est très difficile pour les fonctions simples à cause de l'inlining et de suggérer des moyens de contourner cet inconvénient.
Dans le débogueur, l'inlining est complètement désactivé et la visite guidée se fait entièrement par le code source tel qu'il est.
Dans le profileur des dernières versions, il y avait un problème avec le point de contrôle, ce qui réduisait la qualité des rapports, mais il a été corrigé et dans la prochaine version, la semaine prochaine, une nouvelle version avec des rapports plus détaillés sera disponible.
Mais ce qui est écrit ici est fondamentalement faux :
Хочу отдельно отметить, что компилятор MetaEditor транслирует программы в байт-код, а не нативный код (подробнее читаем по ссылке). Это дает возможность создавать защищенные шифрованием программы, не боясь взлома. Также преимуществом такой трансляции является то, что байт-код может быть запущен как в 32-х битной версии операционной системы, так и в 64-х битной.
A la première étape de la compilation, un bytecode universel est stocké, mais lorsqu'il est exécuté dans le terminal, ce bytecode est entièrement traduit à 100% en code natif 32 ou 64 bits avec des optimisations supplémentaires. C'est grâce à la traduction en code natif que nous avons multiplié la vitesse d'exécution des programmes MQL5 par rapport à MQL4.
Le bytecode pur sans traduction en code natif était dans MQL4.
Dans le débogueur, l'inlining est complètement désactivé et le walkthrough est complètement sur le code source tel qu'il est.
Depuis combien de temps est-ce ainsi ? Avant, c'était un gros problème. Cela fait un moment que je n'ai pas travaillé en 5k.
Depuis le début.
L'incrustation mange la plupart des fonctions et il serait impossible de déboguer avec, même en théorie. Vous avez peut-être travaillé avec les premières versions du débogueur, qui présentaient un certain nombre de problèmes.
Et pour le débogage en fin de chaîne ou sans connexion avec le marché ? Avez-vous une solution ? Parce qu'il y a un problème après le "OnTick" avec le debugger, Sur MT4 il y a un"Tick generator", quelque chose comme ça sur mt5 ?
Merci d'avance,
Et pour le débogage en fin de chaîne ou sans connexion avec le marché ? Avez-vous une solution ? Parce qu'il y a un problème après le "OnTick" avec le debugger, Sur MT4 il y a un "Tick generator", quelque chose comme ça sur mt5 ?
Merci d'avance,
Je n'utilise pratiquement pas l'otaldka en temps réel en raison du long processus d'arrivée des cotations et de la section graphique requise.
Je suis obligé de pousser Print à l'ancienne et de le surveiller dans le testeur.
Pourtant, le débogueur local ne décolle pas du tout avant Visual Studio. Vous pointez une variable et elle vous donne une valeur, vous pointez une expression comme a+b /s et le résultat apparaît. Dans ME, il est plus facile d'utiliser Print.
Nous allons certainement améliorer le débogueur dès que nous aurons terminé la mise à jour de MT4.

- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Un nouvel article Débogage des programmes MQL5 a été publié :
Cet article est principalement destiné aux programmeurs qui ont déjà appris le langage mais qui ne maîtrisent pas encore complètement le développement du programme. Il révèle quelques techniques de débogage et présente une expérience combinée de l'auteur et de nombreux autres programmeurs.
La deuxième étape de débogage utilise Debugger (raccourci F5). Le débogueur lance votre programme en mode émulation en l'exécutant pas à pas. Le débogueur est une nouvelle fonctionnalité de MetaEditor 5, car il est absent de MetaEditor 4. C'est pourquoi il n'y a aucune expérience de son utilisation par les programmeurs passant de MQL4 à MQL5.
L'interface du débogueur comporte trois boutons principaux et trois boutons auxiliaires :
C'est l'interface du débogueur. Mais comment doit-on l'utiliser ? Le débogage du programme peut commencer à partir de la ligne à laquelle un programmeur a défini la fonction de débogage spéciale DebugBreak(), ou à partir d'un point d'arrêt qui peut être défini en appuyant sur le bouton F9 ou en cliquant sur un bouton spécial de la barre d'outils :
Fig. 2. Définir des points d'arrêt.
Auteur : Nikolay Demko