좋아요, 나는 베지 버스를 혼란에 빠뜨린 버그를 맞았습니다. 나는 조사 할 수있는 것이 무엇인지에 대한 아이디어를 찾고 있습니다. 왜냐하면 지금 당장은 아무것도 얻지 못했기 때문입니다.Java 프로그램 내에서 외부 실행 파일을 호출하지 못하는 경우
실행중인 컴퓨터의 Line-In 볼륨 (WinXP 시스템)을 때때로 흔들 필요가있는 독립형 Java 응용 프로그램이 있습니다. 다양한 구성 요소 볼륨을 가져오고 설정할 수있는 외부 실행 파일 (VB6 *로 작성)을 호출하여이 작업을 수행합니다.
현장에서 회사에서 제공하고 제어하는 하드웨어 (Dell 시스템)에서 실행되는 수백 개의 장치가 있습니다. 적어도 수십 명의 고객이이 기능을 사용하고 있으며 하나의 인스턴스를 제외하고는 완벽하게 작동합니다.
이 고장난 기계의 경우 단순히 작동하지 않습니다. 앱이 실행 중일 때 볼륨 슬라이더를보고 볼륨이 떨어지면 그대로 두었습니다. 앱의 로그 파일을 확인하면 오류가 발생하지 않으며 및은 볼륨을 삭제하는 코드를 실행하고있는 것처럼 보입니다. 명령 줄에서 실행 파일을 실행하면 완벽하게 작동합니다.
제대로 작동하는 모든 기계와이 기계가 100 % 동일한 것은 보증 할 수는 없지만, 지금 당분간 같은 라인의 Dell을 구매했습니다. 맨 처음에는 아주 비슷합니다.
그래서, 글 머리 기호 목록에 내 혼란을 돌려 : 왜이에서만 문제가
- 내가 자바 코드에서 바보 같은 (즉, 내 STDOUT/STDERR 버퍼를 삭제하지 않음)하고있어 경우입니다 기계?
- VB6 실행 파일에 문제가있는 경우 명령 줄에서이 컴퓨터의 다른 모든 컴퓨터 및에서이 컴퓨터가 작동하는 이유는 무엇입니까?
- 하드웨어에 이상한 점이 있다면, Java 응용 프로그램에서 호출 할 때 볼륨 제어 실행 파일이 실패하면 만이 될 수 있습니다.
나는 매우 혼란 스럽다. 나는 혼란스러워하지 않는 것을 좋아합니다. **
- * - 나는 VB6, 1998를 알고 있으며, 노화 된 독점적 인 버그 생성기를 다시 원한다는 것을 알고있다. 내 결정이 아니었다. 그러나 코드는 작동합니다. 보통.
- ** - 여기에 불교 농담을 삽입하십시오.
업데이트 편집 : 고객 서비스가 뭔가에 발견했을 수 있습니다; 데이터베이스의 클라이언트 구성 설정과 관련이있을 수 있습니다. 새로운 증거는 클라이언트 나 소프트웨어에 잘못 구성된 것이 특정 구성에 대한 응답으로 무언가를하고 있다는 것을 보여줍니다. 그리고 문제는 우리가 생각한 것보다 더 널리 퍼져있을 수 있습니다. 왜냐하면이 특정 기능이 생각만큼 일반적으로 사용되지 않기 때문입니다.
- 디버거 :
의견에 응답 이론적으로 가능은하지만, 우리의 설치 주어진 엄청난 두통처럼 보인다.
- 높은 자세한 로깅, Java : 특히이 문제보다 좋은 아이디어는 원래 생각했던 것보다 더 널리 퍼져있을 수 있습니다. 몇 가지 가정을 재검토하기 시작할 시간. 그리고 아마도 그들을 단결시킬 수도 있습니다. 아기 물개처럼.
- 높은 자세한 로깅, VB6 : 가능성; VB6-fu가 너무 약해서 텍스트를 파일로 출력하는 방법을 알지 못하기 때문에 출력을 트랩하기 위해 높은 수준의 Java 로깅에 롤백해야합니다. 그러나 스크립트가 호출되는지 여부를 아는 것이 중요합니다.
- 창 이벤트 뷰어 :이 도구에 익숙하지 않습니다. 그것을 바로 잡아야 할 수도 있습니다.
- PATH 문제 : 가능성이 낮습니다. Java 코드는 모든 환경 변수에 의존하는 것처럼 보이지 않는 실행 파일에 대한 상대 경로를 구성합니다.
사람들이 제공 한 제안에 대해 감사드립니다. 최소한 당신은 내 두뇌를 유망한 방향으로 움직였습니다.
솔루션 편집 : 그리고 우승자는 그 기능의, 즉하지 벅스 ...입니다! 기능이 무섭게, 끔찍하게 잘못되었습니다. 우리를 괴롭히지 않게하기 위해 이제는 중성화 될 기능.
일련의 부적절한 가정은 나를 더 빨리 보지 못하게했습니다. "더 많은 디버그 명령문으로 코드를 도구화 할 필요가 없습니다. 이미 거기에있는 문장이 나에게 필요한 모든 것을 말하고 있습니다. 알고있다!" DaDaDom, 답장으로 설명을 바꾸려면 반짝이는 체크 표시가 나타납니다.
의견을 제안 해 주신 모든 분들께 감사드립니다. 실례합니다. 내 책상으로 회의가 늦었습니다.
+1 "1998 called";) –
자세한 로깅으로 소프트웨어 버전을 만들 수 있습니까? 아니면 코드를 디버깅 할 수 있습니까? 적어도 자바 또는 VB 부분에 있는지 알 수 있습니다. –
Windows 이벤트 뷰어에 어떤 것이 있습니까? 디버거를 사용하여 앱을 실행 해 보셨습니까? – McDowell