| 

.NET C# Java Javascript Exception

5
Hallo,

Gibt es im Visual Studio eine Möglichkeit, beim Debuggen eines Array/Liste usw. mit ca. 100Objekten, die foreach Schleife z.B. bis an die 85 Stelle laufen zulassen und erst ab dann zu debuggen.
Ohne das ich irgendwelche Zähler oder Abbruchkriterien in der foreach Schleife einbauen muss.

Gruss
Daniele
News:
10.04.2012
CodingMan 168 5
m.fuchs 1,8k 2 8
Typos korrigiert
m.fuchs 10.04.2012
4 Antworten
6
Du kannst für einen Breakpoint Bedingungen bzw HitCount setzen.
Einfach Contextmenu für den Breakpoint in der Breakpoint-Liste oder auf der Breakpoint-Markierung aufrufen.

Gruß
Peter
10.04.2012
Peter Enz 76 3
Hey, und wieder etwas beim Lesen gelernt. Ich hätte mir ernsthaft einen Zähler gebaut und dann bei 85 einen Break() gesetzt.
Jens Duczmal 12.04.2012
So schön das Feature glänzt, es frisst enorm Zeit. Ich würde ganz pragmatisch den Code anpassen und bei Zutreffen der Bedingung einen Debugger.Break() aufrufen. Das geht gefühlt 100x so schnell. Trotzdem +1 für den Feature-Reveal.
ffordermaier 13.04.2012
5
Ja, das geht.
Setze in die foreach Schleife einen Breakpoint.
Klicke dann mit der rechten Maustaste auf den roten Breakpoint->Bedingung.
Wenn du eine Zählervariable N mitlaufen lässt, kannst Du in das Bedingungsfeld dann N==85 schreiben.
10.04.2012
judgy 3,0k 1 1 8
Ups, da waren ja gleich mehrere Anworten innerhalb von 2 Minuten ;-)
judgy 10.04.2012
Danke, genau so etwas habe ich gesucht.
CodingMan 10.04.2012
1
Hallo Daniele,

falls du es noch nicht wusstest, kann dir dieser Tipp vielleicht ein wenig weiterhelfen. Es gibt Möglichkeiten u.a. Bedingungen an einem Haltepunkt zu knüpfen. Leider gilt mein Beispiel nur für eine For-Schleife.


http://openbook.galileocomputing.de/visual_csharp_2010/visual_csharp_2010_09_003.htm#mj3fa42a661b862250181a21645914c96b

Kapitel 9.3.1 Debuggen im Haltemodus -> Bedingte Haltepunkte
10.04.2012
tigerentchen 92 1 5
In die Bedingung kannst du folgendes schreiben:

liste.IndexOf(item) == 25

Code:
foreach (string item in
{
Console.WriteLine(item);
}
tigerentchen 10.04.2012
List<string> liste = new List<string>();

// Liste füllen...

foreach (string item in liste)
{
Console.WriteLine(item);
}
tigerentchen 10.04.2012
0
Ja, du kannst du mit bedingten Haltepunkten machen. Wie die funktionieren ist hier beschrieben: http://support.microsoft.com/kb/308469/de

Als Bedinung musst du dann so etwas machen:
Array.IndexOf(myArray, myArray.GetEnumerator.Current) = 85

Ist jetzt leider in VB.NET, aber ist ja in C# ähnlich.
10.04.2012
m.fuchs 1,8k 2 8

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH