2008-10-09 9 views
0

Visual Studio 2005에서 이상한 문제가 발생합니다. 매크로를 실행하고 계속 실행하도록 설정된 데이터 중단 점이 있습니다 (즉, 매크로를 선택하고 계속 실행을 선택합니다).매크로를 실행하도록 설정된 데이터 중단 점에서 Visual Studio 디버거가 중단되지 않도록하려면 어떻게합니까?

이제 자동으로 데이터 중단 점 (tracepoint, 실제로는)의 값이 변할 때 매크로를 실행하면 먼저 중단 점에 도달했음을 알리는 메시지 상자가 나타나고 매크로는 확인을 누른 후에 실행됩니다.

디버깅하는 코드는 타이밍에 민감하므로 디버깅이 불가능합니다. 팝업 메시지 상자를 비활성화하는 방법이 있습니까?

의견에 대한 응답 : 매크로 자체는 비어 있거나 Microsoft에서 제공 한 샘플 매크로 중 하나 일 수 있습니다. 아무런 차이가 없습니다.

+0

매크로를 포함 할 수 있습니까? –

+0

매크로가 비어 있거나 예제 매크로 중 하나를 선택해도이 문제가 발생합니다. 따라서 매크로 자체는 부적합합니다. –

답변

0

내 컴퓨터에 vnet 2005가 없습니다.
그래서 여기에서 추측하고 있습니다.

실행 행은 무엇입니까?

속성을 평가하려고합니까?
속성을 읽을 때 조건부 중단 점이 설정되어 있습니까? (속성을 읽을 때 중단됩니까?)

현재 실행 라인과 관련된 다른 중단 점을 제거하고 추적 점을 다시 추가해보십시오.

+0

이것은 데이터 중단 점입니다. 메모리 위치가 코드의 아무 곳에서나 기록 될 때 중단되므로 실제로 코드 행과 관련되지 않습니다. 이것은 네이티브 C++ 코드입니다. "속성"이 무엇을 의미하는지 확신 할 수 없지만 관련이 없다고 생각합니다. 중단 점 제거는 차이를 만들지 않습니다. –

+0

코드를 디버깅 할 때 나타나는 기본 지침 창 안에 브레이크 포인트가 설정되어 있습니까? 네이티브 명령이 실행되는 것을 볼 수있는 옵션이 있으며 여기에 중단 점을 설정할 수도 있습니다. 그런 경우입니까? – shahkalpesh

+0

아니요. 이것은 데이터 브레이크 포인트이므로 특정 명령어와 관련이 없습니다. 디버거가 int 3 명령어를 넣을 곳이 없습니다. 데이터 브레이크 포인트는 일반적으로 CPU의 디버그 레지스터 (DR0-DR3)를 사용하여 구현됩니다. –

1

나를 위해이 작업을 수행합니다. 이 동작은 "실행 계속"옵션을 설정하는 방법에 따라 다소 다르게 보일 수 있습니다. 따라서이 동작 (의도대로 아프다)은 의도적으로 설계되었을 수 있습니다. 또는 버그 일 수 있지만 두 경우 모두 붙어있을 수 있습니다.

또 다른 방법은 windbg 또는 Windows debugging tools 중 하나 인 데이터 중단 점을 지원하는 것입니다. Visual Studio 디버거만큼 사용하기 쉽고 사용자 친화적이지는 않지만 꽤 강력합니다. "ba"명령은 데이터 중단 점을 작성하고 중단 점에 도달하면 특정 명령을 수행하도록 디버거를 프로그래밍 할 수 있습니다. This article에는 이러한 디버거에 대한 유용한 정보가 있으며 the Q & A section near the end에는 breadpoint에 도달했을 때 작업을 수행하는 방법에 대한 예제가 있습니다.