Errores, fallos, preguntas - página 2987

 
Vladimir Karputov:

El punto de interrupción se desplaza - como en CSeries::BufferResize el experto nunca entra en el código en absoluto.


Pensaba que si se pone un punto de ruptura en un código al que no se accede, el depurador simplemente no hace el punto de ruptura.

Es decir, la condición para el punto de ruptura no se cumple.
Vladimir, ¿me estoy perdiendo algo y hay algo en la documentación sobre el cambio de punto de interrupción?

 
inwinterborn:


Pensé que si se coloca un punto de interrupción en el código que no se aborda, el depurador simplemente no hace la parada.

Es decir, no se cumple la condición del punto de ruptura.
Vladimir, ¿me estoy perdiendo algo y hay algo en la Documentación sobre el cambio de punto de interrupción?

No, este conocimiento no proviene de la Documentación.

 
Andrey Dik:

¿Y? Esa es la cuestión, los precios podrían ser cualquier cosa, así que ¿cuáles son los correctos?

Los que vinieron.

No se hacen estas y otras comprobaciones estúpidas, pero se hacen comprobaciones 0.0 igualmente estúpidas pero mucho más caras?

Es difícil encontrar algo más barato que la comprobación de cero. La lógica del robot no debería romperse.

 
Vladimir Karputov:

No, este conocimiento no proviene de la Documentación.

Gracias por su respuesta.
 
Vladimir Karputov:

El punto de interrupción se desplaza - como en CSeries::BufferResize el examinador nunca entra.

Y lo siento, pero ¿es esto realmente correcto?)
 
inwinterborn:
Y lo siento, pero ¿es realmente correcto?)

Creo que esto es correcto, porque el código que no se utiliza simplemente se recorta del archivo compilado. Y así el punto de ruptura se desplaza al código más cercano que queda.

 
Vladimir Karputov:

Creo que esto es correcto, porque el código que no se utiliza simplemente se recorta del archivo compilado. Y así el punto de ruptura se desplaza al código más cercano que queda.

Ahora veo lo que significa. Gracias por la aclaración.
 

Ejecuto un script como este:

void OnStart()
  {
//---
   ResetLastError();
   Print(EnumToString(SYMBOL_CALC_MODE_EXCH_FUTURES_FORTS));   
   Print(GetLastError());                                      
  }

Resultado:

2021.03.18 13:01:48.706 TestBugEnumToString (Eu-6.21,H1)        SYMBOL_CALC_MODE_EXCH_OPTIONS
2021.03.18 13:01:48.706 TestBugEnumToString (Eu-6.21,H1)        0

Terminal:

2021.03.18 12:52:45.697 Terminal Opening Broker x64 build 2815 iniciado para JSC ''Opening Broker''
2021.03.18 12:52:45.697 Terminal Windows 7 Service Pack 1 build 7601, Intel Core i5-2520M @ 2.50GHz, 3 / 7 Gb de memoria, 29 / 287 Gb de disco, IE 11, UAC, GMT+3

¿Qué estoy haciendo mal?

 
mktr8591:

Ejecuto un script como este:

Resultado:

Terminal:

2021.03.18 12:52:45.697 Terminal Opening Broker x64 build 2815 iniciado para JSC ''Opening Broker''
2021.03.18 12:52:45.697 Terminal Windows 7 Service Pack 1 build 7601, Intel Core i5-2520M @ 2.50GHz, 3 / 7 Gb de memoria, 29 / 287 Gb de disco, IE 11, UAC, GMT+3

¿Qué estoy haciendo mal?

Gracias por la publicación.

Este es un nombre obsoleto para el mismo valor de enumeración, corregido.

 
Ilyas:

Gracias por el mensaje.

Este es un nombre obsoleto para el mismo valor de enumeración, corregido.

Gracias, eso es tranquilizador.