2012-06-14 26 views
8

Często potrzebuję debugowania/testowania mojego kodu lub jego niewielkiej części.Kod debugowania C# bez uruchamiania aplikacji

Jednym ze sposobów jest oczywiście uruchomienie aplikacji, którą tworzę, lub podczas tworzenia biblioteki klas, tworząc małą aplikację testową.

Innym sposobem jest utworzenie testu jednostki tylko do celów debugowania i uruchomienia go w Visual Studio.

Ale jeśli nie chcę pisać dodatkowego kodu (np. Jednorazowe testy jednostkowe) i nie chcę uruchamiać całej aplikacji (zajmie to trochę czasu, aby rozpocząć i przejść do kodu, który chcę debugować)?

Czy istnieje sposób, aby uruchomić małą część kodu w Visual Stuio odpowiednio interpretować kod C#?

EDIT

wiem o LINQPad.

Ale czasami chcę wiedzieć np. jak wygląda Form podczas pracy lub czy komponent może rozmawiać z bazą danych. Tak więc LINQPad nie odpowiada moim potrzebom w takich przypadkach ...

+1

Może to być trudne, jeśli kod jest zależny od innego kodu. W przypadku naprawdę małych niezależnych fragmentów, dlaczego nie utworzyć projektu wiersza poleceń od podstaw i skopiować i wkleić tam kod? – Vlad

+0

Możesz użyć opcji QuickWatch w visual studio. Jeśli chcesz przetestować kilka różnych instrukcji w tym samym kodzie, umieść punkt przerwania w pozycji i otwórz okno szybkiego podglądu. możesz znaleźć wynik wyciągu, pisząc go w oknie szybkiego podglądu. –

+0

To osobny projekt? lub część w całym projekcie? – crassr3cords

Odpowiedz

8

Używam linqpad http://www.linqpad.net/ do szybkiego testowania kodu C#.

+0

Używałem go do wykonywania poważnych manipulacji za pomocą ciągów, które zajęłyby mi tyle lat, aby dostać się do mojej aplikacji - to jest niesamowite! – MoonKnight

+1

Darmowa wersja nie zawiera intellisense, ale jeśli kopiujesz kod z VS to nie powinno to mieć znaczenia .. jednak warte każdego grosza za pełną wersję :) (niezrzeszone, po prostu szczęśliwy klient) – Jake1164

+0

Tak, ja znać i używać linqpad. Ale nie możesz np.pokaż 'Windows.Form' dla celów debugowania ... –

2

Spójrz na LINQPad. To super, jeśli chodzi o wypróbowywanie fragmentów kodu. Nie zniechęcaj się przez nazwę, ma wsparcie dla programów i wyrażeń C#/F #.

3

Inną opcją jest pobranie najnowszej wersji Roslyn community preview i skorzystanie z niej pod numerem C# Interactive Window. Jest to oprogramowanie przedpremierowe, więc nie obsługuje całego zestawu funkcji C#, ale jest coraz bliżej.

2

Inną opcją szybkiego testowania jest Scratchpad.cs. Często jest to lepsze niż tworzenie projektów wiersza poleceń tylko po to, by spróbować pomysłu.

2

Spójrz na F# interpreter.

Używam go regularnie do testowania małych próbek kodu.

Powiedzmy masz trochę kodu:

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

odpalić okno F # Interactive, dodać referece do swoich zespołów i rozpocząć debugowanie!

> #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

Wydaje się być obiecującym ... –

+0

Ha, działa to całkiem nieźle! Zrobiłem szybki test z dynamicznie utworzonym/zaludnionym formularzem, w którym obecnie debuguję i działało! –

Powiązane problemy