자세한 답변 정말 감사합니다. BSOD는 PC 재시작 형태로 되어 있어서 에러코드 나 미니덤프 파일은 없습니다. 이벤트 로그에 흥미로운 것이 없습니다(표준 "시스템이 먼저 완전히 종료되지 않고 재부팅되었습니다...").
파일 덮어쓰기 문제는 새로운 것이 아니며 3년 전 Windwos 7에서 발생했으며 mq4 파일의 소스 코드는 BSOD 동안 컴파일/디버깅 중에 손실되었습니다. 또한 약 2년 전에 사용자 중 한 명이 포럼에 이 문제를 보고했지만 불행히도 댓글을 찾을 수 없었습니다.
이 동작이 얼마나 자주 발생합니까?
약 9개월 동안 BSOD가 없었지만 지난 주에 세 번째입니다(커널 프로세스에서 MEMORY CORRUPTION이 있는 시간 BSOD, 두 번째는 Windows 정지, 오늘 MT에서 컴파일/디버깅 시 재부팅). Skype 외에도 새로운 것이 설치되지 않았으며 제거해도 도움이되지 않았습니다.
비표준 Windows 종료가 MT에서 컴파일/디버그에 도달하면 삭제 문제가 발생합니다. 오늘은 예전(몇 년 전)처럼 테스트 코드가 아닌 실제 작업이 지워져 사건에 대한 반응이 나오고 있다.
내가 보기엔 어렵지 않다 불행히도 충돌 시 OS의 동작에 대한 지식이 없으므로 결과를 기반으로 모든 *.mqh 소스 코드 데이터가 0x00으로 덮어써졌다고 가정합니다.
MT5(빌드 2025)에서 프로젝트를 컴파일하면 어떻게 되나요? 1. 가장 먼저 눈에 띄는 것은 ME의 모든 탭을 살펴보고 열려 있는 각 파일에 대해 NTFS 스트림을 작성하는 것입니다.
*.mqh:CursorPos:$DATA // положение курсора (строка, столбец) + первая видимая строка при scroll-е.
*.mqh:LineFlags:$DATA // не понятно для чего
50개 이상의 탭이 열려 있고 그 중 8개가 프로젝트 파일입니다. 결과적으로 프로젝트의 한 컴파일에 대해 (8 + 50) * 2 = 각각 440바이트의 덮어쓴 NTFS 스트림 파일 116개를 얻습니다. SSD에서는 0.2초가 걸립니다.
2. 탭 브라우징 경로에서 변경된 파일을 발견하고 디스크에 존재하는 경우 메모리의 새 데이터로 덮어씁니다. 이 프로젝트의 파일인지 여부에 관계없이 수정된 모든 파일에 대해 덮어쓰기가 발생합니다.
3. 아마도 Windows 충돌의 결과로 ME에 *.mqh 소스에 할당된 메모리가 지워지지만 파일에 쓰는 스레드는 계속 작동합니다. 결과적으로 파일에 변경 사항을 저장할 때 쓸 바이트 수는 정확하지만 링크는 이미 지워진 메모리를 가리키고 \x00의 소스 코드를 덮어씁니다.
도움말을 읽어보세요. "Signals 서비스에 대한 FAQ" 주제를 읽으십시오. 신호 서비스에 대한 비디오 도움말을 보십시오.
전화로 메타 트레이더를 열지 않는 것도 좋은가요? 아니면 적용되지 않습니까?
로컬 PC나 전화에서 터미널을 열 수 있습니다. 결국 트랜잭션을 모니터링해야 합니까? 가장 중요한 것은 신호에 대한 구독이 두 개의 터미널에서 동시에 켜져 있는 상황이 없어야 한다는 것입니다.
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
오류, 버그, 질문
알렉세이 코지친 , 2019.05.03 11:24
이름에 # 기호가 포함된 파일을 저장소에 추가할 수 없습니다. 이것은 정상적인 동작입니까 아니면 버그입니까?PC를 다시 시작한 후 프로젝트의 포함 파일(*.mqh)이 완전히 비어 있는 것으로 나타났습니다(모든 데이터가 NUL(0x00)로 덮어쓰기됨).
이런 젠장???
백업을 만드십시오. 코드를 컴파일하면 사용자 데이터가 영구적으로 삭제될 수 있지만 그렇지 않습니다.
이름에 # 기호가 포함된 파일을 저장소에 추가할 수 없습니다. 이것은 정상적인 동작입니까 아니면 버그입니까?
ME(빌드 2025)에서 프로젝트를 컴파일하는 동안 Win10이 충돌했습니다(미니 덤프 없이).
PC를 다시 시작한 후 프로젝트의 포함 파일(*.mqh)이 완전히 비어 있는 것으로 나타났습니다(모든 데이터가 NUL(0x00)로 덮어쓰기됨).
이런 젠장???
백업을 만드십시오. 코드를 컴파일하면 사용자 데이터가 영구적으로 삭제될 수 있지만 그렇지 않습니다.
BSOD에 어떤 종류의 오류가 표시되었습니까?
이 동작이 얼마나 자주 발생합니까?
VS에서 작업할 때 컴파일 시(매우 드물게 한 달에 1번 이상) BSOD가 발생한 후 소스 파일의 내용이 0으로 채워진 것으로 나타났습니다.
자세한 내용은 기억나지 않지만 그녀는 PC를 교체하기로 결정했습니다.
MQL 컴파일러는 "까다로운" 트릭을 사용하지 않고 간단하고 안정적인 방식으로 컴파일 파일의 내용을 읽습니다.
오류가 자주 나타나면 예를 들어 바이러스 백신을 비활성화하십시오.
BSOD에 어떤 종류의 오류가 표시되었습니까?
자세한 답변 정말 감사합니다.
BSOD는 PC 재시작 형태로 되어 있어서 에러코드 나 미니덤프 파일은 없습니다.
이벤트 로그에 흥미로운 것이 없습니다(표준 "시스템이 먼저 완전히 종료되지 않고 재부팅되었습니다...").
파일 덮어쓰기 문제는 새로운 것이 아니며 3년 전 Windwos 7에서 발생했으며 mq4 파일의 소스 코드는 BSOD 동안 컴파일/디버깅 중에 손실되었습니다.
또한 약 2년 전에 사용자 중 한 명이 포럼에 이 문제를 보고했지만 불행히도 댓글을 찾을 수 없었습니다.
이 동작이 얼마나 자주 발생합니까?
약 9개월 동안 BSOD가 없었지만 지난 주에 세 번째입니다(커널 프로세스에서 MEMORY CORRUPTION이 있는 시간 BSOD, 두 번째는 Windows 정지, 오늘 MT에서 컴파일/디버깅 시 재부팅).
Skype 외에도 새로운 것이 설치되지 않았으며 제거해도 도움이되지 않았습니다.
비표준 Windows 종료가 MT에서 컴파일/디버그에 도달하면 삭제 문제가 발생합니다.
오늘은 예전(몇 년 전)처럼 테스트 코드가 아닌 실제 작업이 지워져 사건에 대한 반응이 나오고 있다.
오류가 자주 나타나면 예를 들어 바이러스 백신을 비활성화하십시오.
문제는 그러한 문제가 있고 해결 방법을 찾지 못하는 것입니다.
컴파일하기 전에 파일이 어떻게 저장되는지 다시 확인하겠습니다.
내가 보기엔 어렵지 않다
불행히도 충돌 시 OS의 동작에 대한 지식이 없으므로 결과를 기반으로 모든 *.mqh 소스 코드 데이터가 0x00으로 덮어써졌다고 가정합니다.
MT5(빌드 2025)에서 프로젝트를 컴파일하면 어떻게 되나요?
1. 가장 먼저 눈에 띄는 것은 ME의 모든 탭을 살펴보고 열려 있는 각 파일에 대해 NTFS 스트림을 작성하는 것입니다.
50개 이상의 탭이 열려 있고 그 중 8개가 프로젝트 파일입니다.
결과적으로 프로젝트의 한 컴파일에 대해 (8 + 50) * 2 = 각각 440바이트의 덮어쓴 NTFS 스트림 파일 116개를 얻습니다.
SSD에서는 0.2초가 걸립니다.
2. 탭 브라우징 경로에서 변경된 파일을 발견하고 디스크에 존재하는 경우 메모리의 새 데이터로 덮어씁니다.
이 프로젝트의 파일인지 여부에 관계없이 수정된 모든 파일에 대해 덮어쓰기가 발생합니다.
3. 아마도 Windows 충돌의 결과로 ME에 *.mqh 소스에 할당된 메모리가 지워지지만 파일에 쓰는 스레드는 계속 작동합니다.
결과적으로 파일에 변경 사항을 저장할 때 쓸 바이트 수는 정확하지만 링크는 이미 지워진 메모리를 가리키고 \x00의 소스 코드를 덮어씁니다.
계정 비밀번호 변경 후, 새로운 비밀번호로 메타에디터 로그인 및 저장소 접근이 불가능합니다.
비밀번호를 다시 입력하면 다시 로그인할 수 있습니다.
이 유형은 농담이 아니며 삶의 이야기가 아니라 오류 경고입니다. 사이트를 통해 비밀번호를 변경한 다음 메타에디터를 통해 볼트로 이동하기만 하면 됩니다.