2011-12-09 4 views
5

VC++의 디버그 모드에서 함수를 호출 할 수 있습니까? 디버깅 중에 그 시점에서 실행이 멈출 때 중단 점을 설정하는 함수가 있다고 가정하고 다른 함수를 호출하고 다음 코드 행으로 진행하기 전에 결과를 볼 수 있습니까?VC++ (직접 실행 창)의 디버그 모드에서 함수 호출

+0

나는 그렇게 생각하지 않습니다. 디버거는 순차적 인 실행 프로세스의 한 지점에서 멈추지 만이를 되돌릴 수는 없습니다. – Mahesh

답변

0

Visual Studio에는 특정 문장 (right click + set next statement 또는 ctrl+shift+F10)으로 건너 뛰는 옵션이 있지만 그렇게 할 때는주의하십시오. 함수 호출을 사용하려면 클래스가 범위를 벗어나 범위를 벗어난 경우 레지스트리가 유효해야합니다.

+0

고마워, 네가 맞다고 항상 예상대로 작동하지는 않는다. – Jawad

+0

@ Jawad 이것은 의도적으로 설계된 것입니다. 런타임에서 원하는 것을 알 수있는 방법이 없습니다 ... –

3

나는 할 수있다. 나는 그것이 직접 실행 창이라고 생각한다. 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

+1

고마워요. 내가 그랬어이 오류 : CXX0052 : 오류 : 회원 기능이 없습니다. 전 소스 코드가없는 사전 컴파일 된 라이브러리를 사용하고 있으므로 해당 함수 중 하나를 사용할 수 없습니다. 그러나, 기술. 지원에서는 라이브러리의 모든 함수를 호출하고 배열의 크기를 찾는 것과 같은 디버그 모드에서 출력을 볼 수 있어야한다고 말합니다. – Jawad

+0

아, 내가 말했듯이 대화 형 모드가 항상 작동하지 않습니다. 하지만 대부분 그렇습니다. 나는 도서관과의 호환성에 대해 당신에게 말할 수 없을 것 같았다. – devjeetroy

+0

감사합니다. 나는 다른 기능을 시도 할 것이다, 잘하면 무언가가 효과가있다. – Jawad