2012-06-14 3 views
8

저는 종종 코드 또는 그 일부만 디버깅/테스트해야합니다.응용 프로그램을 실행하지 않고 C# 코드를 디버그하십시오.

가는 길 한 가지 방법은 내가 개발중인 응용 프로그램을 실행하거나 작은 테스트 응용 프로그램을 만드는 클래스 라이브러리를 개발할 때입니다.

또 다른 방법은 디버깅 목적으로 단위 테스트를 만들고 Visual Studio에서 실행하는 것입니다.

하지만 일회용 단위 테스트와 같은 추가 코드를 작성하고 싶지 않고 전체 애플리케이션을 시작하지 않으려면 (시작하고 디버깅 할 코드로 이동하는 데 시간이 약간 걸립니다.)?

Visual Stuio에서 코드의 일부만 실행하여 C# 코드를 각각 해석 할 수 있습니까?

편집

이 나는 ​​약 LINQPad을 알고있다.

하지만 가끔은 예를 들어 알고 싶습니다. Form이 실행 중일 때 또는 구성 요소가 데이터베이스와 대화 할 수있는 방법. 그래서 LINQPad는 이러한 경우 내 필요에 맞지 않습니다 ...

+1

코드가 다른 코드에 종속되어 있으면이 작업이 까다로울 수 있습니다. 정말 작은 독립적 인 조각을 위해 처음부터 명령 줄 프로젝트를 만들고 거기에 코드를 복사해서 붙여 넣는 것이 어떻습니까? – Vlad

+0

Visual Studio에서 QuickWatch 옵션을 사용할 수 있습니다. 같은 코드에서 몇 가지 다른 명령문을 테스트하려면 위치에 중단 점을 넣고 빠른보기 창을 엽니 다. QuickWatch 창에 서술문을 작성하여 결과를 찾을 수 있습니다. –

+0

별도의 프로젝트입니까? 또는 전체 프로젝트의 일부분입니까? – crassr3cords

답변

8

나는 linqpad http://www.linqpad.net/을 사용하여 C# 코드를 빠르게 테스트합니다.

+0

난 그냥 내 응용 프로그램에 도착하기 위해 나이를 취했을 몇 가지 심각한 문자열 조작을 할 사용 - 그것은 awsome입니다! – MoonKnight

+1

무료 버전에는 인텔리 센스가 포함되어 있지 않지만 VS에서 코드를 복사하는 경우에는 문제가되지 않습니다.하지만 정식 버전에서는 1 페니 가치가 있습니다 :) (관련이없는, 행복한 고객) – Jake1164

+0

예, 전 linqpad를 알고 사용하십시오. 하지만 당신은 할 수 없습니다.디버깅 목적으로'Windows.Form'을 보여줍니다 ... –

2

LINQPad을 살펴보십시오. 코드 스 니펫을 시험해 보는 데 아주 좋습니다. 이름으로 연기하지 마십시오. C#/F # 프로그램과 표현식을 지원합니다.

3

또 다른 옵션은 최신 Roslyn community preview을 다운로드하고 C# Interactive Window과 함께 사용하는 것입니다. 시험판 소프트웨어이기 때문에 전체 C# 기능 세트를 지원하지는 않지만 꽤 가까워지고 있습니다.

2

빠른 테스트를위한 또 다른 옵션은 Scratchpad.cs입니다. 생각을 해보기 위해 명령 줄 프로젝트를 만드는 것보다 낫습니다.

2

F# interpreter을 살펴보십시오.

정기적 인 코드를 사용하여 작은 코드 샘플을 테스트합니다.

namespace ConsoleApplication5 
{ 
    public class Test 
    { 
     public Int32 Sum(int a, int b) 
     { 
      return a + b; 
     } 
    } 
    ... 
} 

화재까지 F # 대화 창, 당신의 어셈블리에 referece을 추가하고 디버깅을 시작 :

의가이 같은 일부 코드가 있다고 가정 해 봅시다!

> #I @"C:\PathToYourProject\bin\debug";; 
--> Added .... to library include path 
> #r "ConsoleApplication5.exe";; 
--> Referenced ... 
> let t = ConsoleApplication5.Test();; 
val t : ConsoleApplication5.Test 
> t.Sum(9, 7);; 
val it : int = 16 
> 
+0

유망한 것으로 보입니다 .... –

+0

하, 이건 꽤 잘됩니다! 현재 디버깅 중이며 동적으로 생성 된/채워진 폼을 사용하여 빠른 테스트를 수행했습니다. –

관련 문제