2009-09-02 3 views
1

problem which only occurs on my machine을 디버그하려고했습니다. 그것은 다른 devs의 시스템이나 우리의 프로덕션 테스트 서버에 전시하지 않습니다. 나는 내 하드 디스크를 완전히 닦아내고 처음부터 시작하거나 한밤중에 사무실에 몰래 들어가서 내 컴퓨터를 다른 사람과 교환하는 것의 거의 모든 것을 시도했다.컴퓨터에서만 발생하는 문제를 해결하기위한 조언 찾기

이렇게하면 과격한 조치가 아니라 다른 사람이 가진 문제를 해결할 때 무엇을합니까? 나는 일반적이고 구체적인 조언을 듣고 있습니다.

[이 CW 여부를해야하는지 확실하지.]

답변

3

당신은 실패의 정확한 지점을 찾을 수있는 프로그램에 디버거를 연결 했습니까? 그것이 내가 먼저 할 일입니다.

경우에 따라 타사 소프트웨어가 이러한 종류의 문제의 근본 원인이 될 수 있습니다. 바이러스 백신 소프트웨어와 같은 것들은 저레벨의 파일 시스템과 네트워크 드라이버를 설치하여 임의의 간헐적 인 오류를 일으킬 수 있습니다. 기본 OS 서비스 및 응용 프로그램이 아닌 모든 프로세스를 강제 종료 할 수 있습니다.

OS에 따라 커버 아래에서 진행되는 작업을 확인하는 데 사용할 수있는 다양한 도구가 있습니다. 예 : Windows에서 Process Monitor을 사용하여 열리는 레지스트리 키,로드 할 DLL 등을 확인할 수 있습니다.이 스크립트는 컴퓨터와 성공 컴퓨터에서 실행할 수 있으며 일부 필수 모듈이 없는지 비교할 수 있습니다.

하지만 심각하게 말하면 디버거를 사용하십시오. 그게 그들이 거기에있는 이유입니다.

+0

+1 타사. 나는 한 명의 사용자가 오래된 웹 앱에 문제가있는 시나리오 1을 만났다. 일부 파고 들자 나는 세 개의 브라우저 툴바가 설치되어 있지만 하나만 보았습니다. 그러나, 그것은 다른 두 툴바의 "팝업 차단기"기능이 작동하지 못하게하고 미친 짓을하지 않게합니다. –

+0

예, IE 도구 모음에는 일반적으로 무조건로드되는 BHO 구성 요소가 있습니다. 문제의 앱이 웹 브라우저 플러그인 또는 웹 페이지/웹 앱인 경우 IE가 No-Addons 모드 (시작 메뉴에 있음)로 다시 시작하고 앱을 사용하도록 설정해야합니다. –

+0

"예!" 디버거를 연결하는 방법. 아마도 "내가 생각할 수있는 모든 것"에는 디버거를 사용하여 코드를 단계별로 실행하는 방법을 설명했을 것입니다. 그것은 일이 잘못되기 시작할 때 방어의 첫 번째 줄입니다. –

1

이 상황에서는 코드를 체크 아웃하고 문제를 일으키는 기타 파일이 작업 디렉토리에 없는지 확인하기 위해 다른 디렉토리에서 코드를 다시 작성하려고합니다.

데이터베이스에 대한 작업을 수행하는 중이면 다른 개발자의 컴퓨터에서 덤프를 사용하여 데이터베이스를 해체하고 재구성하는 것이 좋습니다.

외부 타사 소프트웨어 (데이터베이스 버전, OS 버전, 소프트웨어 패치 포함)의 버전을 확인하십시오.

문제가없는 다른 사람의 컴퓨터에서 구성을보고 비교하십시오.

다른 개발자가 워크 스테이션에 앉아 문제를 재현 해보고 워크 스테이션으로 가서 시도하십시오. 진정한 이야기 ​​- 동료 개발자는 자신의 컴퓨터에서만 재현 할 수있는 버그가있었습니다 ... 다른 사람이하지 않은 GUI에서 약간 다른 작업을하고있는 것으로 나타났습니다 (단추로 탭 한 다음 모두 입력 그렇지 않으면 enter를 누르십시오). 그에게 결코 다른 사람들이 제출하기 위해 입력을 누르지 않았을 것입니다. 왜냐하면 그것은 그에게 "이해가되지 않았기"때문입니다.

2

두 가지 :

나는 무엇부터 상자가 다른가요? 더 많은 메모리? Odball PCI 카드? 다른 Microsoft API 또는 서비스 팩

괴짜 임의의 소프트웨어 및/또는 OS 충돌에 대한

:

관련 문제