C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[28511] 궁금한게 있어서 글을 올려 봅니다.
김시환 [godson2] 3037 읽음    2019-07-23 18:20
최근 납품한 장비에서 동작중 메모리 에러를 뱉어 내면서 장비가 멈추는 경우가 하루에 몇번꼴로 나온다고 합니다.
코드를 하나하나 뒤져서 원인을 찾고 싶은데 쉽지 않고 시간도 없어서 다른 일정차 방문하면서 하루종일 디버깅 모드에서 장비를 돌리면서 에러를 찾았는데 에러가 발생하지 않습니다. 그렇게 몇일 돌렸는데 역시 에러가 나오지 않습니다.

그래서 원인을 못잡고 복귀 했는데 몇일 후 또 연락이 옵니다. 동일한 증상이 또 나온다고..

예전에도 비슷한듯 다른 경우가 있었는데 그때는 디버깅 모드에서 충분히 장비 잘 돌아 가는거 확인하고 실행파일을 릴리즈 모드로 컴파일 시킨 후 장비를 돌렸더니 중간중간 에러가 튀어 나오면서 장비가 멈춰 버리는 겁니다.

처음에는 뭔가 문제가 있나 원인을 한참 찾았는데 찾을 수 없어서 혹시나 하는 맘으로 디버깅모드로 컴파일한 실행파일로 돌렸더니 아무 이상없이 잘 돌아간적이 있습니다.

지금 제가 주력으로 사용하는 툴이 XE4 버젼인데 빌더 6.0버젼을 주력으로 사용했을 때는 안나오던 증상들이라..

이런 증상을 겪은 분들계신가요??

다른 컴파일러 들에서도 이런 증상들이 있는것인지 빌더에서만 있는 문제인지? 아니면 제가 코딩을 못해서 그런것인지 궁금합니다.
그 아이 [tsirorret]   2019-07-24 08:31 X
혹시 코드가드도 같이 돌려 보셨나요. 저도 가끔 격는 일인데, 대부분 메모리 관련 활당과 해제가 잘 일뤄지지 않아서 그런경우가 발생합니다.
특히 예전 메모리 활당하고(초기값을 쓰지 않고) 그냥 작업을 하고 해제 할 경우... 등이 절 얼마 전에 괴롭히더군요.
아제나 [azena]   2019-07-25 22:58 X
멀티쓰레드 동기화 관련 증상으로 보이네요.
코드 자체는 이상 없는 것으로 보이고 평소에도 에러도 없이 돌아가고...
디버깅 모드에서는 이상 없는데, 릴리즈로 컴파일하면 이상 증상이 나타나기도 하고...
싱글 쓰레드에선 문제 없는 코드가 멀티쓰레드에선 릴리즈로 컴파일하면 컴파일러 최적화가 이루어지면서 코드가 꼬이게 됩니다.
volatile 같은 키워드가 존재하는 이유죠.
박지훈.임프 [cbuilder]   2019-07-26 03:25 X
디버그 모드와 릴리즈 모드에서 동작이 다르게 돌아간다면, 코드최적화 버그일 가능성이 높습니다.
릴리즈 모드에서 프로젝트옵션에서 코드최적화, optimize 옵션들을 꺼버리고 빌드해서 테스트 해보세요.

+ -

관련 글 리스트
28511 궁금한게 있어서 글을 올려 봅니다. 김시환 3037 2019/07/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.