VC++의 디버그 모드에서 함수를 호출 할 수 있습니까? 디버깅 중에 그 시점에서 실행이 멈출 때 중단 점을 설정하는 함수가 있다고 가정하고 다른 함수를 호출하고 다음 코드 행으로 진행하기 전에 결과를 볼 수 있습니까?VC++ (직접 실행 창)의 디버그 모드에서 함수 호출
답변
Visual Studio에는 특정 문장 (right click + set next statement
또는 ctrl+shift+F10
)으로 건너 뛰는 옵션이 있지만 그렇게 할 때는주의하십시오. 함수 호출을 사용하려면 클래스가 범위를 벗어나 범위를 벗어난 경우 레지스트리가 유효해야합니다.
고마워, 네가 맞다고 항상 예상대로 작동하지는 않는다. – Jawad
@ Jawad 이것은 의도적으로 설계된 것입니다. 런타임에서 원하는 것을 알 수있는 방법이 없습니다 ... –
나는 할 수있다. 나는 그것이 직접 실행 창이라고 생각한다. VS2010 Ultimate을 사용하기 때문에 버전에 존재하는지 모르겠습니다.
[ctrl] + [alt] + i
그러나 함수가 값을 반환 할 때이 경우에만 인쇄 출력. 또한 경우에 따라 작동하지 않을 수도 있습니다. 같은 일을,
getNumberSquared()
이
출력은 중단 점 (2) 발생 후 100
될 것입니다 :
int number = 10; //global
int main()
{
std::cout<<std:endl; //breakpoint 1 here
setNumber(4);
std::cout<<std:endl; //breakpoint 2 here
}
int getNumberSquared()
{
return number * number;
}
void setNumber(int n)
{
number = n;
}
당신이 중단 점 1을 눌러 바로 가기와 종류를 발생할 때
의 당신이 있다고 가정 해 봅시다 출력은 16
고마워요. 내가 그랬어이 오류 : CXX0052 : 오류 : 회원 기능이 없습니다. 전 소스 코드가없는 사전 컴파일 된 라이브러리를 사용하고 있으므로 해당 함수 중 하나를 사용할 수 없습니다. 그러나, 기술. 지원에서는 라이브러리의 모든 함수를 호출하고 배열의 크기를 찾는 것과 같은 디버그 모드에서 출력을 볼 수 있어야한다고 말합니다. – Jawad
아, 내가 말했듯이 대화 형 모드가 항상 작동하지 않습니다. 하지만 대부분 그렇습니다. 나는 도서관과의 호환성에 대해 당신에게 말할 수 없을 것 같았다. – devjeetroy
감사합니다. 나는 다른 기능을 시도 할 것이다, 잘하면 무언가가 효과가있다. – Jawad
나는 그렇게 생각하지 않습니다. 디버거는 순차적 인 실행 프로세스의 한 지점에서 멈추지 만이를 되돌릴 수는 없습니다. – Mahesh