Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Terabyte

unregistriert

1

16.04.2009, 11:55

[C#] Kein Fehler doch Absturz?

Hi,

ich lerne grad die Sprache Csharp und da gibts ein kleines Problem:

Ich habe den Quellcode richtig geschrieben, der Compiler spuckte keine Fehler aus und totzdem stürzt das Programm sofort ab, wenn ich es ausführe...

Hier der Code:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
using System;

public class Übungsprogramm
{
    public static void Main(string [] args)
    {
        Console.WriteLine(
            "Anzahl der Parameter: " + args.Length + "\n"
                + "Erster : " + args[0] + "\n"
                + "Zweiter: " + args[1] + "\n"
                + "Dritter: " + args[2]);
    }
}

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

2

16.04.2009, 11:57

Übergibts du dem Programm denn auch 2 Parameter?
Und bist du sicher, dass es abstürzt und sich nicht einfach beendet, weil es fertig ist ?

Terabyte

unregistriert

3

16.04.2009, 12:02

@Ja, das mein' ich da steht auf Französisch: "Cessé de fonctionner".

Hmmm... Ich hab das gleiche Beispiel gemacht wie ich es hier fand:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
using System;
public class Parameter
{
public static void Main(string [] args)
{
Console.WriteLine("Anzahl der Parameter: " + args.Length + "\n"
+ "Erster Parameter:" + args[0]+ "\n"
+ "Zweiter Parameter:" + args[1]+ "\n"
+ "Dritter Parameter:" + args[2]);
}
}

Asmodiel

Treue Seele

Beiträge: 150

Wohnort: Schweiz

Beruf: Applikationsentwickler

  • Private Nachricht senden

4

16.04.2009, 12:08

Sicher, dass es abstürzt? Nicht normal beendet?

Ansonsten:
Mit wie vielen Parametern startest Du das Programm?
Überhaupt Parameter? ;)
Du greifst in dem Code auf args[0], args[1] und args[2] zu.
Wenn Du keine Parameter übergibst, wird da auf nicht vorhandene
Array-Elemente zugegriffen -> Absturz.
Eat a beaver - Save a tree.

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

5

16.04.2009, 12:11

Zitat von »"Terabyte"«

@Ja, das mein' ich da steht auf Französisch: "Cessé de fonctionner".


Google sagt, dass heißt "Funktioniert nichtmehr", das heißt du startest das Programm nicht aus der IDE raus, sondern normal per Doppelklick. Starte aus der IDE raus, dann solltest du sehen warum es abstürzt.

Terabyte

unregistriert

6

16.04.2009, 12:15

Zitat von »"Asmodiel"«

Sicher, dass es abstürzt? Nicht normal beendet?

Ansonsten:
Mit wie vielen Parametern startest Du das Programm?
Überhaupt Parameter? ;)
Du greifst in dem Code auf args[0], args[1] und args[2] zu.
Wenn Du keine Parameter übergibst, wird da auf nicht vorhandene
Array-Elemente zugegriffen -> Absturz.


Welche Parameter? Die eckigen Klammern?

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

7

16.04.2009, 12:16

Und da haben wir den Fehler ;)
Du startest das Programm per Doppelklick, oder ?
Wenn du das machst, dann gibts in args nichts (oder höchstens ein Element mit dem Programmnamen ka ob das is .NET so ist).

Das heißt args[1] ist ungültig und deswegen stürzt es ab.

Terabyte

unregistriert

8

16.04.2009, 12:23

Zitat von »"Sylence"«

Und da haben wir den Fehler ;)
Du startest das Programm per Doppelklick, oder ?
Wenn du das machst, dann gibts in args nichts (oder höchstens ein Element mit dem Programmnamen ka ob das is .NET so ist).

Das heißt args[1] ist ungültig und deswegen stürzt es ab.


Nein, ich starte das Programm unter "Debuggen -> Starten ohne Debuggen"

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

9

16.04.2009, 12:25

Dann mach doch einfach mal mit debuggen...
Aber das wird trotzdem der Fehler sein, es sei denn du hast in den Projektoptionen programmparameter angegeben.

Chef-Koch

Treue Seele

Beiträge: 115

Wohnort: Ulm

  • Private Nachricht senden

10

16.04.2009, 12:27

das isses gleiche :lol:
du musst 2Parameter übergeben, damit es nichtmehr Abstürtzt

Werbeanzeige