Limitierung von Serial.print() in Klassen?

Hallo zusammen,
ich habe ein merkwürdiges Problem auf das ich momentan keine Lösung finde. Und zwar habe ich ein Programm welches zwei Klassen benutzt. Bei instantiiert die eine Klasse die andere Klasse mehrfach. Durch Initialisierungsfunktionen werden beide Klassen dann später korrekt "gestartet" wobei sie eigentlich einen Status via Serial.Print() ausgeben sollen.
Das interessante ist nun das das Programm nicht durchläuft, bzw sich aufhängt wenn ich es so definiere wie unten beschrieben.
Kommentiere ich jedoch die folgende Zeile aus: "Serial.println("CurrentArrayPosition:aaaaaaaaaaaaaaaaaaaaaaaaaaa");" funktioniert es.

#include <vector>
#include "DHT.h"
using std::vector;
//--------------------------------------------------------------------------------------------------------------------------------------------------------
class TemperatureSensor
{
public:
	TemperatureSensor(unsigned int sensorPin, unsigned int amountOfTempValues);
	void init();

private:
	DHT* m_sensor;
	unsigned int			m_sensorPin;
	float					m_defaultTempValue;
	double					m_defaultTimeStampValue;
	unsigned int			m_amountOfTempValues;
	vector<double>			m_timeStamp;
	vector<float>			m_temperature;
	vector<bool>			m_temperatureFailure;
	unsigned int m_currentArrayPosition;
};

TemperatureSensor::TemperatureSensor(unsigned int sensorPin, unsigned int amountOfTempValues) :
	m_sensorPin(sensorPin), m_amountOfTempValues(amountOfTempValues), m_defaultTempValue(-999.9), m_defaultTimeStampValue(1000.0)
{
	m_temperature.assign(m_amountOfTempValues, m_defaultTempValue);
	m_timeStamp.assign(m_amountOfTempValues, m_defaultTimeStampValue);
	m_sensor = new DHT(m_sensorPin, DHT11);
}

void TemperatureSensor::init()
{
	m_sensor->begin();	
	Serial.println(" started.");
	Serial.println("CurrentArrayPosition:aaaaaaaaaaaaaaaaaaaaaaaaaaa");
	Serial.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
	Serial.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
}

//--------------------------------------------------------------------------------------------------------------------------------------------------------
class TemperatureMeasurement
{
public:
	TemperatureMeasurement(unsigned int amoutOfSensors, unsigned int temperatureSensorPins[], unsigned int amountOfTempValues);
	void init();

private:
	vector <unsigned int> m_sensorPinArray;
	vector <TemperatureSensor> m_temperatureSensor;
	unsigned int m_amountOfSensors;
	unsigned int m_amountOfTempValues;
};

TemperatureMeasurement::TemperatureMeasurement(unsigned int amountOfSensors, unsigned int temperatureSensorPins[], unsigned int amountOfTempvalues) :
	m_amountOfSensors(amountOfSensors), m_amountOfTempValues(amountOfTempvalues)
{
	for (int i = 0; i < amountOfSensors; ++i)
	{
		unsigned int Zwischenwert = temperatureSensorPins[i];
		m_sensorPinArray.push_back(Zwischenwert);
		m_temperatureSensor.push_back(TemperatureSensor(Zwischenwert, m_amountOfTempValues));
	}
}

void TemperatureMeasurement::init()
{
	for (int i = 0; i < m_amountOfSensors; ++i)
	{
		m_temperatureSensor[i].init();
	}
	//Serial.print("Temperature Measurement: Measurement started with ");
	//Serial.print(m_amountOfSensors);
	//Serial.println(" Temperature Sensors");	
	Serial.println("ab");
}
//--------------------------------------------------------------------------------------------------------------------------------------------------------
unsigned int amoutOfSensors=3; 
unsigned int temperatureSensorPins[] = { 2,3,4 };
unsigned int amountOfTempValues=10;
TemperatureMeasurement TestObjekt(amoutOfSensors, temperatureSensorPins, amountOfTempValues);
void setup()
{
	Serial.begin(9600);
	Serial.println("Before Init");
	TestObjekt.init();
	Serial.println("After Init");
}
void loop()
{
	Serial.println("Loop");
}

Ich verzweifle gerade ein wenig. Auch wenn die Lösung es einfach Auskommentiert zu lassen wäre natürlich nahe liegend, jedoch würde ich gerne den Grundfehler kennen.

Beste Grüße

KA, was du meinst...

Ausgabe bei mir:

Before Init
 started.
CurrentArrayPosition:aaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 started.
CurrentArrayPosition:aaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 started.
CurrentArrayPosition:aaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
ab
After Init

Was erwartest du stattdessen?

Hi, lauft der Sketch bei dir durch?
Ich kriege nur den folgenden Output:

Opening port
Port open
Opening port
Port open

Das sehe ich nicht.

Millionen von "Loop" folgen der vorher von mir genannten Ausgabe.
Also ja, ich würde sagen: Läuft durch.

Aber vielleicht ist deine "Läuft durch" Definition ja eine andere, als meine.

Genau, es war nur eine Vereinfachung des Codes, entsprechend erfüllt das Ganze keinen sinnvollen Zweck. Ich habe jetzt auch in die Arduino IDE gegeben und hier läuft es auch für mich durch. Bisher habe ich das Ganze über eine Erweiterung in Visual Studio laufen lassen und da blieb es stecken und ich habe das Loop nie zu sehen bekommen.
Damit wird es wohl ein Fehler in der Erweiterung von Visual Studio sein und wir können es die Frage schließen. Aber vielen Dank für die Hilfe :wink: