2012-08-24 3 views
0

오늘부터 문제가되는 텍스트 모드 배치 C++ 프로그램을 작성했습니다.동일한 프로그램이 다른 콘솔에서 다르게 동작합니다.

  • 실행 파일이 올바르게 작동하고 변경되지 않았습니다.
  • 환경은 변경되지 않았습니다. 재부팅조차하지 마라.
  • 특정 콘솔에서 프로그램을 시작하면 모든 것이 정상입니다.
  • 새 콘솔에서 프로그램을 시작하면 모든 것이 여전히 작동하지만 실행이 완료 되더라도 로그 파일의 처음 두 줄만 표시됩니다.
  • 실행 파일에 전달 된 매개 변수는 동일합니다.
  • 실행 파일은 어떤 식 으로든 콘솔과 상호 작용하지 않습니다.
  • 두 콘솔의 환경 변수는 같습니다.
  • 원격 컴퓨터에서 루트로 실행하면 모든 것이 정상이며 로그 파일이 완성됩니다.
  • 내 사용자와 다른 세션에서 다시 로그인하면 모든 것이 정상입니다.
  • 로그 아웃했다가 다시 로그인하면 다시 정상적으로 작동합니다.

새 콘솔에이 문제를 일으킨 문제가 있었습니까?

내 Linux 설치시 문제가 될 수 있습니까?

더 현실적으로 내 프로그램에 따라 문제가 발생할 수 있습니까?

감사합니다.

환경 :
- 리눅스 오픈 수세 11.4
- gcc가 여기에 4.5.1

+1

아마도 프로그램의 소스 코드가 도움이 될 수 있습니다. 'gdb'와 같은 디버거 나 strace를 사용하여 조사 했습니까? 모든 경고가 활성화되어있는 (예 :'gcc -Wall -Wextra'로 컴파일 한) 최신 컴파일러 (예 : gcc 4.7)를 사용해 보셨습니까? –

답변

1

가 디버깅 도구 상자에 던져 또 다른 도구입니다.

'reset'명령을 실행하십시오. 자세한 내용은 설명서 페이지를 참조하십시오.

즉, 콘솔을 알려진 상태로 재설정합니다. 가능한 로그 파일에 tty와 상호 작용하여 제어하기 어려운 제어 문자가 포함되어있을 수 있습니다.

감사를 위해 et 파일에 대한 모든 콘솔 활동을 캡처하는 'script'명령을 살펴볼 수도 있습니다.

관련 문제