Mejor alternativa para Print() para la depuraci�n

 

Publi

Página 1 de 403 123 ÚltimoÚltimo
Resultados 1 al 10 de 26

Tema: Mejor alternativa para Print() para la depuraci�n

  1. #1
    Coloque lo siguiente en su propio c�digo

    C�digo insertado #import kernel32.dll void OutputDebugStringA(string msg); #importar** * enviar informaci�n a OutputDebugString() para que SysInternals DebugView la vea y registre * (descarga gratuita desde microsoft) * Esto es ideal para la depuraci�n en lugar de una alternativa a Print(). * La funci�n tomar� alrededor de 8 argumentos de serie (o num�ricos) * para ser conenados en un mensaje de depuraci�n. */void log( string s1, string s2=, string s3=, string s4=, string s5=, string s6=, string s7=, string s8= ) string out = StringTrimRight(StringConenate( WindowExpertName(), .mq4, S�mbolo(),, s1,, s2,, s3,, s4,, s5,, s6,, s7,, s8 )); SalidaDebugStringA(fuera); Y luego, en todas partes de su c�digo donde desee usar Print() para generar algo para depurar funciones, llame a log() en lugar de

    Descargar
    http://technet.microsoft.com/en-us/s.../bb896647.aspxde microsoft e in�cielo mientras est� depurando y ver� el resultado bien publicado en esta ventana en particular de arriba a abajo y no de abajo a arriba y no lento y retrasado como en la audiencia del registro de metatrader. Puede establecer filtros para ver solo los mensajes y puede colocar la ventana de registro para permanecer en la parte superior.

    Log() requiere m�s de un argumento para que pueda usarlo as�:
    Registro de c�digo insertado (funci�n de entrada); log(nueva barra detectada); log(valores estoch, jefe, main_prev, sign, signal_prev); log(comprando, lotes, parada, destino); Los mensajes estar�n bien formateados con un entre cada argumento y cada mensaje de registro tendr� una marca de tiempo junto con el t�tulo de este archivo mql4 junto con el emblema en el que se ejecuta.

  2. #2
    �Excelente! �Gracias! Funciona [Tengo el m�s extra�o de todos los errores que falla al iniciar mt4 y al guardar plantillas, eso me tom� algunos d�as de mi tiempo. Lo reduje a uno regular en 1 indicador y realmente quer�a esta herramienta DebugView. �Entonces sorprenda con esta configuraci�n las paradas de choque @#! �ja, ja!] El c�digo de registro que funciona es: Inserted Code #import kernel32.dll void OutputDebugStringW(string msg); #importar** * enviar informaci�n a OutputDebugString() para que SysInternals DebugView la vea y registre * (descarga gratuita desde microsoft) * Esto es ideal para la depuraci�n como alternativa a Print(). * La funci�n requerir� alrededor de 8 argumentos de serie (o num�ricos) * para ser conenados en un mensaje de depuraci�n. */void log( string s1, string s2=, string s3=, string s4=, string s5=, string s6=, string s7=, string s8= ) string out ] StringTrimRight(StringConenate( WindowExpertName(), .mq4, S�mbolo(),, s1,, s2,, s3,, s4,, s5,, s6,, s7,, s8 )); SalidaDebugStringW(fuera);

  3. #3
    No entiendo c�mo funcionaba mt4 en 2010, sin embargo, el c�digo imprime el primer car�cter, por lo que se me ocurri� que la cadena es unicode y OutputDebugStringW har� su trabajo. Aunque estos argumentos no son necesarios, Print es una funci�n variable y, a menos que mt4 devs haya hecho un mal trabajo y haya ejecutado la mitad de las cosas, deber�a haber algunas funciones como va_list, va_start, va_arg, etc., como en C

  4. #4
    Gracias por la informaci�n, instal� la versi�n m�s reciente de Debugview 4.81 en Windows y cambi� la llamada a OutputDebugStringW() y funciona bien. Esto va a ser de mucha ayuda para reducir el tiempo.

  5. #5
    Est� bien, funcion� (no encendi�). Puedo ver una variedad de beneficios usando DebugView, pero �cu�l es la alternativa en MT4? De nuevo, gracias por tu ayuda.

  6. #6

    Cita Iniciado por ;
    bien gracias. Hice eso y est� bien, pero no hay pistas en el visor de depuraci�n y no puedo ubicar el visor de registros de metatrader. Estoy seguro de que estoy haciendo algo tonto.
    Funciona bien para m�. �Qu� mensajes de error recibe en la pesta�a de expertos en la terminal?

  7. #7
    Bien gracias. Hice eso y cumpli� bien, sin embargo, no hay salida en el debugviewer y no puedo encontrar el visor de registros de metatrader. Estoy convencido de que estoy haciendo algo est�pido.

  8. #8

    Cita Iniciado por ;
    novato: no puedo hacer que el visor de depuraci�n funcione o descubra el visor de registros de metatrader. Cualquier ayuda apreciada.
    MT4 600 : C�digo insertado/Un script #import kernel32.dll void OutputDebugStringW(string sMsg); void OutputDebugStringA(uchar szAnsiStrNumber 91;#93;-RRB-; #import int begin () uchar szAnsiStr#91;#93;; StringToCharArray(Puede ser una cadena ansi, szAnsiStr); OutputDebugStringA(szAnsiStr); OutputDebugStringW(cadenas Unicode para funciones unicode); return(0);

  9. #9
    Novato: no puedo hacer que el visor de depuraci�n funcione o descubra el visor de registros de metatrader. Cualquier ayuda apreciada.

  10. #10
    Lo siento, me perd� #import kernel32.dll void OutputDebugStringA(string msg); #importar

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Cookies
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede cambiar la configuración u obtener más información y política de cookies aquí.