2014-04-03 3 views
1

델파이 애플리케이션을 테스트하는 동안 일부 예외가 발생하지만 디버거에서는 이전과 같은 위치가 표시되지 않습니다. 이 문제를 일으키는 설정이 있습니까?Delphi XE5에서 예외가 발생한 행이 표시되지 않습니다.

EDIT : 예외가 발생하면 오류가 발생했으며 어떤 예외 유형인지 알리는 메시지가 나타납니다. 일반적으로 '휴식'을 클릭하면 오류가 발생한 행이 표시되지만 휴식을 클릭하면 오류가 발생하지 않습니다.

+0

어떤 오류가 발생합니까? 오류가 있음을 어떻게 알 수 있습니까? 그들은 같은 중요시하는 점은 무엇입니까? 그들은 메시지를 가지고 있습니까? 프로그램이 실행을 멈 춥니 까? 우리는 당신의 화면을 볼 수 없습니다. 문제를 자세히 설명하십시오. –

+0

@J ... 자세한 내용으로 업데이트했습니다. – Seryth

+0

아마 예외를 위반하는 방법을 의미할까요? –

답변

-1

옵션 내에서의 예외 상황에서 디버거의 반응을 제어 할 수 있습니다.

  • Tools \ Options로 이동하십시오.
  • 디버거 옵션을 클릭 한 다음 언어 예외를 클릭하십시오.

"언어 예외 알림"의 선택을 취소했을 수 있습니다.

그렇지 않으면 최대한 많이 활성화 할 수 있습니다.

  • 디버그 정보
  • 기호 참조 정보

그리고 최적화없이 시도 :

하면 프로젝트의 모든 디버그 정보를 활성화해야합니다.

+0

또 다른 가능성은 실수로 기본 클래스 인 Exception 또는 다른 클래스를 무시 된 예외 목록에 추가했다는 것입니다. –

+0

아니요, 확인되었습니다. – Seryth

+0

@ GünthertheBeautiful 어떻게 고칠 것인가? GünthertheBeautiful @ – Seryth

0

휴식을 클릭하기 전후에 실제로 보는 화면을 게시하면 도움이 될 수 있습니다.

그리고 정말로 질문에 대한 첫 번째 의견에 답변하지 않았습니다. "어떤 오류가 발생하고 있습니까?" 요점은 코드를 보여주지 않는 특정 예외 일 경우입니다 - 외부 DLL에서 발생할 수 있습니다.

  • 이 양식에 버튼을 드롭 : 델파이가 가장 간단한 경우에 예외를 표시합니다 경우 첫 번째 단계 검사로

    .

  • 다음 코드과의 OnClick 핸들러 작성 : raise Exception.Create('This is a test');
  • 참고는 모두 기존의 응용 프로그램이 시도 있는지 확인을하고, 새로운 독립 실행 형 응용 프로그램입니다.

간단한 응용 프로그램에서 Delphi가 예외를 표시하지 않는다면 매우 놀랐으며 좀 더 심각한 파고가 필요할 것입니다. 이 간단한 응용 프로그램에 표시,하지만 당신의 다음 프로젝트의 일부 특정 문제가있을 경우

:

  • 프로젝트 어딘가에 디버그 정보 {$D-} 또는 {$DEBUGINFO OFF}를 비활성화되지 않습니다 확인합니다.
  • 프로젝트에서 간섭하는 예외 코드가있을 수 있습니다. 예외 로거 및 유사한 도구를 비활성화하여 문제의 범위를 좁혀보십시오. () 문제가 해결되면 적절한 도구를 다시 사용하십시오..)
  • 오류를 표시하기 위해 검색 및 찾아보기 경로가 올바르게 구성되어 있는지 확인하십시오.

단순한 예외가 두 앱에 모두 표시되는 경우 Google에서는 더 이상 도움이되지 않는 예외가 무엇인지 정확히 알고 있어야합니다. 그러나 여기에 몇 가지 포인터 (^ s)가 있습니다.

  • 도구 | 옵션. 디버거 옵션에서 기본 OS 예외를 찾습니다. 이 설정을 변경하지 않았는지 확인하십시오.
  • 예외가 발생하면 스레드 뷰어를 열고 주 스레드 나 다른 스레드에서 예외가 발생했는지 확인하십시오.
  • 또한 Call-Stack Viewer를 열고 실제로 호출 스택이 있는지 확인하십시오.
  • 그런 다음 Delphi가 호출 스택 행의 코드를 표시하는지 확인하십시오. 델파이이 예외가 발생 에 따라 소스 장치를 찾을 수 단순히 없을 가능성이 여전히

참고입니다. 그러나 Delphi는 사용자에게 메시지를 보내고 그러한 상황에서 파일을로드 할 수있는 위치를 묻습니다. (델파이의 이전 버전에서 확실히 작동했습니다)
버그가있는 플러그인이 프롬프트를 억제 할 수도 있기 때문에 배제하지 않을 것입니다.

관련 문제