|
아, 역시 해결이 쉽지 않을 것이라 생각하기는 했는데...
일단요.
Virtual Box에서 꼭 구동하셔야 하나요 ?
혹 물리적으로 제어하는 장치가 있다면, 정상적으로 동작 안 할 수 있습니다.
에뮬레이션 형태로 구동하지 말고, 실제 환경에서 해 보셔요. (꼭요~)
그리고,
Dependency.exe 사용하실 때는 아래쪽으로 주옥 따라 가지 말고,
dll이 오류 나는 가장 앞의 dll을 유심히 보세요.
글고, 시스템 상에 존재하는 dll들은 모두 무시하세요.
마소에서 왠간히 알아서 만들었겠어여~
crazybok 님이 쓰신 글 :
: 안녕하세요.
: bit 차이는 없습니다.
: 아래에 Dependency.exe 다운 받아 혹시나 해서 서로 다른 Virtual box에서 동일한 플그램으로 확인 해봤습니다.
: 1. winxp sp 3 : IESHIMS.dll, WER.dll 파일을 찾을 수 없다고 합니다.
: - 위의 두 dll을 따라가니 최상위에 shell32.dll이 있네요.
: - shell32.dll 의 version 은 6.0.2900.6242
: 2. winxp sp 2 : 위의 두 dll을 Dependency.exe에서 찾을 수 가 없습니다.
: - - shell32.dll 의 version 은 6.0.2900.5512
: 이것과는 연관이 없겠죠??
: 동일한 플그램에서 로드 dll이 다를 수도 있나요??
:
: prism 님이 쓰신 글 :
: : Virtual Box에 의한 것이 좀 의심이 되기는 하는데,
: : 무조건적인 거는 아니고요.
: : Virtual Box는 실제 환경이 아니라 에뮬레이션하는 형태라~~~
: : (Virtual Box 말고 그냥 Win7에서 실행해 보시는 것이 더 나을 듯 합니다.)
: :
: : 32bit / 64bit 차이는 없었나요 ?
: : 64bit로 제작 되었는데, 32bit dll을 로드하는 경우,
: : (혹은 그 반대의 경우)
: : 정상적으로 처리되지 않습니다.
: :
: : 참고하셔요.
: :
: :
: :
: :
: : crazybok 님이 쓰신 글 :
: : : 확인 결과 정상적인 것은 winxp service pack2,
: : : 비정상적인 것은 winxp service pack3 입니다.
: : :
: : : 그리고 플그램 빌드한 노트북은 win7에 VitualBox 를 깔아서 winxp service pac2에서 실시하였네요..
: : :
: : : 흠.. OS의 차이에 의해서 이런 경우도 발생 가능한가요??
: : :
: : : crazybok 님이 쓰신 글 :
: : : : 답변 감사합니다.
: : : : 먼저 릴리즈 모드로 빌드 한것입니다.
: : : : 운영체제는 장비 및 코딩 노트북 둘다 xp입니다
: : : : 말씀하신 환경 변수 및 사용하는 dll 을 확인하는 방향으로 두 장비의
: : : : 차이점을 찾아보겠습니다.
: : : : 다시 한번 감사합니다.
: : : : 해결되면 그 방법 공유하겠습니다.
: : : :
: : : : prism 님이 쓰신 글 :
: : : : : 오잉 ?
: : : : : 답글 쓸려고 버튼 눌렀더니 로그인 안 된 상태인데도
: : : : : 글이 써지는군요.
: : : : :
: : : : : 사이트를 원래 이렇게 만드신 건가 봅니다.
: : : : :
: : : : : ^^;;
: : : : :
: : : : :
: : : : :
: : : : :
: : : : : 님이 쓰신 글 :
: : : : : : 혹, 실행시에 로드할려는 dll이 궁굼하다면,
: : : : : :
: : : : : : Dependency.exe
: : : : : :
: : : : : : 이 풀그램을 이용하시면 됩니다.
: : : : : : 공개용이 인터넷에서 검색하시면 금방 받으실 수 있을 겁니다.
: : : : : : x86, x64 버전 다 있으니, 맞는 거 받아서 이 풀그램에서 개발하신 exe 풀그램을 열어 보면
: : : : : : 어떤 dll을 호출하는지 알 수 있을 겁니다.
: : : : : :
: : : : : :
: : : : : :
: : : : : : prism 님이 쓰신 글 :
: : : : : : : 일단 프로그램이 디버깅 모드로 제작이 된 것인지, 릴리즈 모드로 제작된 것인지 궁금합니다.
: : : : : : : 디버깅 모드의 경우, 변수 등에 대한 초기화를 디버거가 자체적으로 처리하여 논리적으로 오류가 있는데도 정상적으로 동작할 수 있습니다.
: : : : : : :
: : : : : : : 그리고,
: : : : : : : 말씀하여 주신 상태는
: : : : : : : 환경이 다른 경우인데요.
: : : : : : : ntdll.dll 등은 시스템 기본 dll입니다.
: : : : : : : 이쪽으로 들어오기 전에 문제가 발생한 것입니다.
: : : : : : : 운영체제의 버전에 따라 프로그래밍을 다르게 처리하여야 할 경우가 존재하는데,
: : : : : : : 이런 경우는 그리 많은 경우가 아닙니다.
: : : : : : :
: : : : : : : 대부분 시스템 path 등의 환경변수가 정상적으로 설정되어 있지 않아
: : : : : : : 찾고자 하는 dll이 없다는 등의 문제로 이와 같은 문제가 발생할 수 있습니다.
: : : : : : :
: : : : : : : 1. 되는 쪽과 안 되는 쪽의 환경 변수 비교
: : : : : : : (풀그램 실행 시 필요한 dll이 모두 실행풀그램, 혹은 path 상에 존재하는지 확인 등)
: : : : : : : 2. 운영체제 버전에 따라 다르게 코딩하여야 하는 부분 존재유무 확인
: : : : : : :
: : : : : : : 이렇게 접근하시면 될 듯 합니다.
: : : : : : :
: : : : : : :
: : : : : : :
: : : : : : : crazybok 님이 쓰신 글 :
: : : : : : : : 안녕하세요.
: : : : : : : :
: : : : : : : : 초보 프로그래머 입니다.
: : : : : : : :
: : : : : : : : 이번에 프로그램을 수정하여 업데이트 실시하였는데 한 장비는 정상적으로 돌아가고 있으나 다른 장비는 "xx.exe에 문제가 있어서 프로그램을 종료해야 합니다. 불편을 끼쳐드려 죄송합니다."의 메세지 창이 뜨며 이 창에는 디버그(B), 닫기(C) button이 있었습니다. 그래서 그중 디버그 버튼을 클릭하니 첨부한 이미지와 같은 내용이어서 문의 드립니다.
: : : : : : : :
: : : : : : : : ntdll.DbgBreakPoint:
: : : : : : : : 7C93120E CC int 3
: : : : : : : : 7C93120F C3 ret <- 화살표 위치
: : : : : : : :
: : : : : : : : 개발 툴은 BC5, 작업은 노트북(Win7)에서 VirtualBox(winxp service Pack2) 에서 실시하였습니다.
: : : : : : : : 장비는 window xp를 사용합니다.(sesrvice pack이 다르면 이와 같은 문제가 발생하나요?)
: : : : : : : : 그리고 window xp service pack 2와 service pack3의 ntdll.dll의 version이 서로 다른데요.
: : : : : : : : 이 version이 다르면 BC에서 작업하는 것에 영향을 미치나요?
: : : : : : : :
: : : : : : : : 동일한 update program을 장비1에서는 정상적으로 작동하고 장비 2에서는 위와같은 문제점이 발생합니다.
: : : : : : : :
: : : : : : : : 해결 방법이나 아니면 접근 방법이라도 알려주세요.
: : : : : : : :
|