2010-06-22 8 views
13

내 코드에서 중단 점을 추가 한 지점이 있습니다. 디버거가 중단 점에서 멈추었을 때 수행하고자하는 작업은 목록의 내용을 수정하는 것입니다 (이 경우 특히 항목을 추가하려고합니다). 디버깅하는 동안 목록의 내용을 수정하려면 어떻게합니까?Visual Studio에서 디버깅하는 동안 목록에 항목 추가

편집 : 목록은 문자열 목록입니다.

답변

25

직접 실행 창 (기본값은 CTRL + D, C# 키 바인딩이 있거나 디버그> Windows 메뉴에 있음)을 사용하십시오.

그냥 거기에서 myList.Add(foo)을 호출하면 표현식이 평가되었고 아무런 가치가 없다는 것을 알게되지만 foo를 추가하는 부작용이 발생합니다.

2

또한 조사 식 창에서 단선문 (또는 더 나은 표현식)을 수행 할 수 있습니다.

+0

그래, 그게 너무 작동합니다. 두 방법 모두 람다 식을 지원하지 않는 한계가 있습니다. 정말 VS2010 SP1이이를 수정하기를 바랍니다. –

+0

불행히도, VS2010은 lamba 표현식을 사용하는 메소드에서 편집 - 계속 문제와 함께이를 시도하지 않았습니다. 나는 그들이 매우 관련이 있고 (동일하지 않다면) 구현하기가 쉽지 않다고 생각했다. – digEmAll

2

당신이 내에서 코드를 삽입하는 데 사용할 수있는 기술이

myList.Add("myNewValue") 

누릅니다 ENTER 그것은 작품 (적어도 항상 나를 위해 일했다)해야합니다

그냥 뭔가를 쓰기 중단 점. 쉽고 작동합니다.

  1. 은 중단 점
  2. 중단 점을 마우스 오른쪽 버튼으로 클릭하고 "조건"
  3. 은 (는 부울을 반환하지 않음) 상태 코드의 당신의 라인을 넣어
  4. 실행
  5. 설정

중단 점에 도달하면 코드가 실행되고 디버거가 중단 점에서 중단되지 않습니다 (bool을 반환하지 않았기 때문에). 있는 그대로 당신이 코드를 실행하면

 

     static void Main(string[] args) 
     { 
      List l = new List(); 
      Console.WriteLine(l[0]); 
      System.Console.ReadLine(); 
     } 
 

, 당신은 얻을 것이다 : 기술을 보여주는 예제 프로그램을 여기에 http://blogs.msdn.com/b/zainnab/archive/2010/05/04/set-a-complex-breakpoint-condition-vstipdebug0022.aspx

것 :

나는 비주얼 스튜디오 팁 블로그에서이 팁을 얻었다 예외. 그러나 Console.WriteLine() 줄에 중단 점을 추가하십시오.

는 다음 코드를 추가 조건 대화 상자에서 을 "조건을"중단 점을 마우스 오른쪽 버튼으로 클릭하고 선택합니다

l.Add("hello") 

지금 실행합니다.

분명히 사람이이 "기능"으로 많은 어려움을 겪을 수 있습니다. 코드가 독립적으로 빌드 된 코드가 시스템에서 실행될 때와 다른 방식으로 중단 점을 사용하여 응용 프로그램의 동작을 변경할 수 있습니다 디버거에서. 그래서, 매우 신중해야 ...

관련 문제