2010-03-15 4 views
2

필자는 열 때 계산해야하는 매우 긴 항목 목록 (수천 개)이있는 특별한 콤보 상자가 있습니다. 내가 뭔가를 시험 할 때, 나는 약 1 분 정도가 걸렸습니다. 그래서 필자는 샘플링 프로파일 러에 이르기까지 프로그램을 빌드 (동일한 빌드, 동일한 옵션)하여 너무 오래 걸리는 것을 보았습니다. 그리고 여는 데는 약 5 초 밖에 걸리지 않았습니다. Windows에서 직접 실행 해 보았습니다. 이번에는 2-3 초 밖에 걸리지 않았습니다. 예상했던 것입니다.D2010 디버거가 왜 일부 작업을 훨씬 느리게합니까?

그렇다면 정확히 같은 EXE가 Delphi 디버거가 연결될 때 왜 25 배나 더 느리게 계산됩니까? 평가되는 조건부 중단 점과 같이 명확한 것은 아닙니다. 디버거가 있으면 크롤링 속도가 느려지는 것 같습니다. 아무도 이유를 아나요?

+0

디버그 출력 (OutputDebugString)이 많이 생성됩니까? 이벤트 로그에 표시되는 내용은 무엇입니까? –

+0

@Craig : 예. 그렇습니다. 아주 좋은 직업 심령 디버깅! 이것은 단단한 루프의 반복마다 OutputDebugString을 두 번 호출합니다. 대답으로 해두면 받아 들일 것입니다. –

+0

OutputDebugString은 중단 점과 같습니다 : 문자열을 이벤트 로그에 저장하고 모든 암시 적 처리를 사용하여 스크롤합니다. –

답변

7

다시 게시 : 많은 디버그 출력 (OutputDebugString)을 생성합니까? 이벤트 로그에 표시되는 내용은 무엇입니까?

관련 문제