2013-03-03 2 views
4

Visual Studio 명령 등으로 메서드를 실행할 수있는 트릭이 있는지 궁금합니다.디버깅하는 동안 Visual Studio 명령을 사용하여 인스턴스 메서드 실행

예를 들어 Connection 유형의 새 인스턴스를 void Main에 만들고 Program 클래스의 정적 변수에 저장했다고 가정 해 보겠습니다. 자, 내 프로그램 VS2012 디버거에서 실행되는 말을하고, ConnectionProgram 클래스에서 수행 할 수있는 이전 코드없이 함께 개최되는 인스턴스 Connection.Blah(int, string) 메서드를 임의로 실행하고 싶습니다.

이 방법이 있습니까?

답변

5

예. Immediate window을 사용하십시오. FullyQualified.Name.To.Program.staticvar.Blah(0, "foo")에서 펀치를 치십시오.

+0

만약''''''Command ''로 시작하면 Namespace.Program.connection.method ("test") "는 유효하지 않습니다."그리고 만약 내가 없다면,'실행 중에 표현식을 평가할 수 없습니다 방법. ' – caesay

+0

명령 모드로 설정할 수 없습니다. 명령 모드는 ">"로 시작하는 명령 모드입니다. "실행 모드에서 표현식을 평가할 수 없습니다." 즉, 디버거를 일시적으로 중단해야한다는 의미입니다 (Visual Studio에서 중단 단추를 누르거나 프로그램에서 중단 점을 치는 것과 같은 디버거로 침입하는 메커니즘을 통해). – user314104

+1

디버거 (프로그램)가 디버거에 의해 중지되면 디버거를 통해서만 데이터를보고 조작 할 수 있습니다. 그렇지 않으면 데이터가 너무 빨리 변경되어 디버거에서 제공하는 내용이 오래되거나 일관성이 없을 수 있습니다. – user314104

관련 문제