<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Probleme beim debuggen]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich habe gerade ein merkwürdiges Problem. Ich wollte gerade etwas zu Ende machen, als mein Programm in eine Art Dauerschleife fällt. Ich habe also den Debugger zu Rate gezogen, aber das hilft mir auch nicht weiter:</p>
<pre><code class="language-cpp">int _tmain(int argc, _TCHAR* argv[])
{
	int iTemp;
	HighScore-&gt;Init(&quot;HighScore.dat&quot;,10);
	Logfile-&gt;CreateLogfile();
	SDL::Framework-&gt;Init(1024,768,32,false,true);
	CIntro m_Intro;
	m_Intro.Init(0);
	m_Intro.Run();
	if(m_Intro.Quit() &gt; 0)
	{
		CGame m_Game;
		m_Game.Init();
		m_Game.Run();
		AskForName m_AskForName;
		m_AskForName.Init(m_Game.Quit());
		m_AskForName.Run();
		m_AskForName.Quit();
	}					//wenn ich hier den Breakpoint mache und dann weitersteppe, geht gar nichts mehr
	SDL::Framework-&gt;Quit();
	SDL::Framework-&gt;Del();
	HighScore-&gt;Del();
	Logfile-&gt;Del();
	return 0;
}
</code></pre>
<p>Wie bereits im Code beschrieben, kann ich bei der letzten Klammer einen Breakpoint setzen und wenn ich dann versuche weiterzusteppen, werden alle Debuggertasten zum Navigieren grau und ich kann nur noch auf Stopp drücken. Im der Titelleiste steht „running“, aber ich kann nicht mehr weitergehen. Kennt jemand dieses Problem und weiß vielleicht eine Lösung.</p>
<p>Vielleicht ist das blöd erklärt, aber ich weiß nicht, wie ich hier weiter machen soll.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/133979/probleme-beim-debuggen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 17:30:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/133979.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 22 Jan 2006 18:38:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme beim debuggen on Sun, 22 Jan 2006 18:38:02 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich habe gerade ein merkwürdiges Problem. Ich wollte gerade etwas zu Ende machen, als mein Programm in eine Art Dauerschleife fällt. Ich habe also den Debugger zu Rate gezogen, aber das hilft mir auch nicht weiter:</p>
<pre><code class="language-cpp">int _tmain(int argc, _TCHAR* argv[])
{
	int iTemp;
	HighScore-&gt;Init(&quot;HighScore.dat&quot;,10);
	Logfile-&gt;CreateLogfile();
	SDL::Framework-&gt;Init(1024,768,32,false,true);
	CIntro m_Intro;
	m_Intro.Init(0);
	m_Intro.Run();
	if(m_Intro.Quit() &gt; 0)
	{
		CGame m_Game;
		m_Game.Init();
		m_Game.Run();
		AskForName m_AskForName;
		m_AskForName.Init(m_Game.Quit());
		m_AskForName.Run();
		m_AskForName.Quit();
	}					//wenn ich hier den Breakpoint mache und dann weitersteppe, geht gar nichts mehr
	SDL::Framework-&gt;Quit();
	SDL::Framework-&gt;Del();
	HighScore-&gt;Del();
	Logfile-&gt;Del();
	return 0;
}
</code></pre>
<p>Wie bereits im Code beschrieben, kann ich bei der letzten Klammer einen Breakpoint setzen und wenn ich dann versuche weiterzusteppen, werden alle Debuggertasten zum Navigieren grau und ich kann nur noch auf Stopp drücken. Im der Titelleiste steht „running“, aber ich kann nicht mehr weitergehen. Kennt jemand dieses Problem und weiß vielleicht eine Lösung.</p>
<p>Vielleicht ist das blöd erklärt, aber ich weiß nicht, wie ich hier weiter machen soll.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/973103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/973103</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 22 Jan 2006 18:38:02 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Sun, 22 Jan 2006 18:41:23 GMT]]></title><description><![CDATA[<p>Mit dem Code, den du da geposted hast, wird dir keiner helfen können. Die Loops din da von Bedeutung (bei dir wohl die Run-Methoden). Poste die lieber mal, und dann erzähl genau, wie man den Bug reproduzieren kann, oder ob der immer auftritt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/973108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/973108</guid><dc:creator><![CDATA[Someone]]></dc:creator><pubDate>Sun, 22 Jan 2006 18:41:23 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Mon, 23 Jan 2006 09:45:53 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich weiss, dass der Code nicht besonders geeignet ist, aber ich habe ja leider keine Ahnung, wo der Fehler steckt. Alle anderen Teile bin ich eigentlich mit Debugger durchgegangen und es hat alles geklappt und dann auf ein mal das. Ich poste jetzt mal die Funktion m_AskForName.Run() vielleicht hilft das ja:</p>
<pre><code class="language-cpp">void AskForName::Run(void)
{
	while(m_bGameRun)
	{
		SDL::Framework-&gt;Clear();
		SDL::Framework-&gt;Update();
		ProcessEvents();
		if(!m_bIsInHighscore)
		{
			m_Text.Render(&quot;Sie haben leider nur &quot; + ConvertToString(m_iPoints) + &quot; erreicht.&quot;,SDL::HCENTER,400);
			m_Text.Render(&quot;Damit sind Sie nicht in der HighScore&quot;,SDL::HCENTER,450);
		}
		else
		{
			m_Text.Render(&quot;Sie haben &quot; + ConvertToString(m_iPoints) + &quot; Punkte erreicht und belegen damit den &quot; + ConvertToString(HighScore-&gt;GetPositionInHighScore(m_iPoints)) + &quot;Rang in der HighScore.&quot;,SDL::HCENTER,400);
			m_Text.Render(&quot;Bitte geben Sie Ihren Namen ein:&quot;,SDL::HCENTER,450);
			m_Text.GetInPut(m_strName);
			m_Text.Render(m_strName,SDL::HCENTER,500);
		}
		if(SDL::Framework-&gt;KeyDown(SDLK_RETURN))
		{
			if(m_strName.empty())
				m_strName = &quot;unbekannt&quot;;
			HighScore-&gt;Update(m_strName,m_iPoints);
			m_bGameRun = false;
		}
		SDL::Framework-&gt;Flip();
	}

}
</code></pre>
<p>Ich hoffe, dass Ihr damit was anfangen könnt.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/973660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/973660</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 23 Jan 2006 09:45:53 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Mon, 23 Jan 2006 11:00:06 GMT]]></title><description><![CDATA[<p>auf den ersten Blick würd ich sagen:<br />
2 Instanzen gehen aus dem Scope.<br />
2 Dtoren werden aufgerufen. hat einer ein endlos loop?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/973720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/973720</guid><dc:creator><![CDATA[b7f7]]></dc:creator><pubDate>Mon, 23 Jan 2006 11:00:06 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Mon, 23 Jan 2006 12:56:37 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>b7f7 schrieb:</p>
<blockquote>
<p>auf den ersten Blick würd ich sagen:<br />
2 Instanzen gehen aus dem Scope.<br />
2 Dtoren werden aufgerufen. hat einer ein endlos loop?</p>
</blockquote>
<p>Meinst du, dass es einem Dtor eine Endlosschleife gibt. Das ist sicher nicht der Fall.<br />
Wie kann es, dass ich einfach nicht mehr weitersteppen kann ohne das irgendeine Fehlermeldung kommt und warum ist das der Fall nachdem ich durch die Dtor gesteppt bin und nicht währenddessen.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/973848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/973848</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 23 Jan 2006 12:56:37 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Mon, 23 Jan 2006 21:10:59 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich brauch wirklich eure Hilfe. Fehlt es an Information oder wisst Ihr auch nicht weiter.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/974398</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/974398</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 23 Jan 2006 21:10:59 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Mon, 23 Jan 2006 21:57:32 GMT]]></title><description><![CDATA[<p>code solte compilierbar sein das der fehler nachvolzogen werden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/974489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/974489</guid><dc:creator><![CDATA[b7f7]]></dc:creator><pubDate>Mon, 23 Jan 2006 21:57:32 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Mon, 23 Jan 2006 22:07:30 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>b7f7 schrieb:</p>
<blockquote>
<p>code solte compilierbar sein das der fehler nachvolzogen werden kann.</p>
</blockquote>
<p>was meinst du mit dem Satz. Der Code ist compilierbar und er funktioniert uach wie gewünscht, aber eben nur solange bis ich das Programm beende, dann steht immer im Fenstertitel &quot;running&quot; und nichts passiert mehr.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/974498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/974498</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 23 Jan 2006 22:07:30 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Tue, 24 Jan 2006 00:48:19 GMT]]></title><description><![CDATA[<p>wie soll das compilierbar sein, ohne das der Compiler eine Ahnung hat was CGame oder AskForName ist.<br />
mach ein Bsp. welches auch jemand compilieren kann<br />
schmeiss alles raus was nicht zum Problem gehört je weniger um so besser.<br />
1. es ist möglich das du das Problem damit selbst findest<br />
oder<br />
2. Dann kann man dir vllt auch helfen.<br />
so rat ich nur rum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/974544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/974544</guid><dc:creator><![CDATA[b7f7]]></dc:creator><pubDate>Tue, 24 Jan 2006 00:48:19 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Tue, 24 Jan 2006 10:10:08 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/3774">@b7f7</a>: ich hatte deine Aussage nicht genau verstanden, aber nun ist es klar.</p>
<p>Ich habe nun den Fehler noch weiter eingegrenzt. Wenn ich die Schleife verlasse, werden viele Dstruktoren aufgerufen und bei einem hägnt er sich auf.</p>
<p>Ich habe in der Klasse CGame folgendes stehen:</p>
<pre><code class="language-cpp">std::vector&lt;CCube&gt; m_vCube;
</code></pre>
<p>wenn nun der Destruktor des std::vectors aufgerufen wird, bleibt er einfach hängen und zwar genau hier:</p>
<pre><code class="language-cpp">~vector()
		{	// destroy the object
		_Tidy();
		}
</code></pre>
<p>Das Programm durchläuft diese Zeilen bei einigen Vektoren vorher problemlos. Vielleicht kann jetzt jemand helfen.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/974744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/974744</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 24 Jan 2006 10:10:08 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Tue, 24 Jan 2006 10:20:36 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Da scheint es wohl ein Problem mit dem Destruktor von CCube zu geben. Wie ist denn die Klasse deklariert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/974752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/974752</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 24 Jan 2006 10:20:36 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Tue, 24 Jan 2006 13:21:46 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Eigentlich ist der Destruktor leer. Hier die hpp und cpp Dtaei:</p>
<p>h:</p>
<pre><code class="language-cpp">#pragma once

#include &lt;iostream&gt;
#include &quot;Sprite.h&quot;
#include &lt;string&gt;

class CCube
{
public:
	CCube(void);
	~CCube(void);
	void Init(int p_iBitmapPosX, int p_iBitmapPosY);
	void Dice(void);
	void Render(void);
	void SetMarkedOrNonMarked(void);
	int GetCubeState(void) const
	{
		return m_iCubeState;
	}
	int m_iCubeState;

protected:
	SDL::CSprite m_CubeSprite;
	std::string m_strFileName;

	int m_iBitmapPosX;
	int m_iBitmapPosY;
};
</code></pre>
<p>und hier die cpp Datei:</p>
<pre><code class="language-cpp">#include &quot;Cube.h&quot;

CCube::CCube(void)
{

}

CCube::~CCube(void)
{

}

void CCube::Init(int p_iBitmapPosX, int p_iBitmapPosY)
{
	m_strFileName = &quot;pictures/wuerfel_&quot;;
	m_iBitmapPosX = p_iBitmapPosX;
	m_iBitmapPosY = p_iBitmapPosY;

}

void CCube::Dice(void)
{
	m_iCubeState = rand()%6 + 1;
}

void CCube::Render(void)
{
	if(m_iCubeState&gt;6)
		m_CubeSprite.Load(m_strFileName + ConvertToString(m_iCubeState-6) + &quot;gesetzt.bmp&quot;);
	else
		m_CubeSprite.Load(m_strFileName + ConvertToString(m_iCubeState) + &quot;.bmp&quot;);
	m_CubeSprite.SetPos(static_cast&lt;float&gt;(m_iBitmapPosX),static_cast&lt;float&gt;(m_iBitmapPosY));
	m_CubeSprite.Render();
}

void CCube::SetMarkedOrNonMarked(void)
{
	if(m_iCubeState &lt; 7)
		m_iCubeState += 6;
	else
		m_iCubeState -= 6;
}
</code></pre>
<p>Vielleicht hilft das ja weiter.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/974918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/974918</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 24 Jan 2006 13:21:46 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Tue, 24 Jan 2006 13:28:51 GMT]]></title><description><![CDATA[<p>Auch wenn der Destruktor leer aussieht, packt der Compiler da noch einiges rein - nämlich die Dtor-Aufrufe der Elementvariablen (string und int dürften harmlos sein, aber was ist mit CSprite?)</p>
<p>PS: ist das richtig so, daß 'm_iCubeState' öffentlich ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/974930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/974930</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Tue, 24 Jan 2006 13:28:51 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Tue, 24 Jan 2006 13:37:37 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ja es ist richtig, dass m_iCubeState public ist. Das will ich später noch ändern, aber zum Testen geht es so einfach schneller.</p>
<p>Hier jetzt noch einmal h und cpp Datei von Sprite:</p>
<p>h Datei:</p>
<pre><code class="language-cpp">#pragma once

#include &quot;Framework.h&quot;

namespace SDL
{
	class CSprite
	{
	public:
		CSprite(void);
		~CSprite(void);
		void Load(const std::string p_strFileName);
		void Load(std::string p_strFileName, int p_iNumFrames, int p_iFrameWidth, int p_iFrameHeight);
		void SetColorKey(Uint8 p_iR, Uint8 p_iG, Uint8 p_iB);
		void SetPos(float p_fXPos, float p_fYPos);
		void Render(void);
		void Render(float p_fFrameNumber);
		SDL_Rect GetRect(void) {return m_Rect;}

	private:
		SDL_Surface* m_pScreen;		//Zeiger auf den Screen des Frameworks
		SDL_Surface* m_pImage;		//das eigentliche des Sprites
		SDL_Rect	 m_Rect;		//Rect des Sprites
		SDL_Rect	 m_FrameRect;	//Ausschnitt für Animatiomsphase
		int			 m_iNumFrames;	//Anzahl der Animationsphasen
		int			 m_iFrameWidth;	//Breite der Animationsphase
		int			 m_iFrameHeight;//Höhe einer Animatiosphase
		int			 m_iNumFramesX;	//Wie viele Animationsphasen in X-Richtung 
	};
}
</code></pre>
<p>und die cpp Datei:</p>
<pre><code class="language-cpp">#include &quot;StdAfx.h&quot;
#include &quot;.\sprite.h&quot;

using namespace SDL;

CSprite::CSprite(void)
: m_pScreen(Framework-&gt;GetScreen())
, m_pImage(NULL)
{
}

CSprite::~CSprite(void)
{
	SDL_FreeSurface(m_pImage);
}

void CSprite::Load(const std::string p_strFileName)
{
	//Bitmap laden
	m_pImage = SDL_LoadBMP(p_strFileName.c_str());

	//Prüfen ob alles glatt ging
	if(m_pImage == NULL)
	{
		Logfile-&gt;WriteTopic(&quot;Laden des Bitmaps&quot;,3);
		Logfile-&gt;TextOut(&quot;Laden des Bitmaps ist fehlgeschlagen&lt;br&gt;&quot;);
		std::string strErrorCode = SDL_GetError();
		Logfile-&gt;TextOut(&quot;Fehler: &quot; + strErrorCode + &quot;&lt;br&gt;&quot;);

		Framework-&gt;Quit();

		exit(1);
	}

	//Rect initialisieren
	m_Rect.x = 0;
	m_Rect.y = 0;
	m_Rect.w = static_cast&lt;Uint16&gt;(m_pImage-&gt;w);
	m_Rect.h = static_cast&lt;Uint16&gt;(m_pImage-&gt;h);
}

void CSprite::Load(std::string p_strFileName, int p_iNumFrames, int p_iFrameWidth, int p_iFrameHeight)
{
	Load(p_strFileName);

	m_iNumFrames	= p_iNumFrames;
	m_iFrameWidth	= p_iFrameWidth;
	m_iFrameHeight	= p_iFrameHeight;
	m_FrameRect.w	= static_cast&lt;Uint16&gt;(p_iFrameWidth);
	m_FrameRect.h	= static_cast&lt;Uint16&gt;(p_iFrameHeight);
	m_iNumFramesX	= m_pImage-&gt;w / m_iFrameWidth;
}

void CSprite::SetColorKey(Uint8 p_iR, Uint8 p_iG, Uint8 p_iB)
{
	//Colorkey einstellen
	SDL_SetColorKey(m_pImage, SDL_SRCCOLORKEY, SDL_MapRGB(m_pImage-&gt;format,p_iR, p_iG, p_iB));
}

void CSprite::SetPos(float p_fXPos, float p_fYPos)
{
	m_Rect.x = static_cast&lt;Sint16&gt;(p_fXPos);
	m_Rect.y = static_cast&lt;Sint16&gt;(p_fYPos);
}

void CSprite::Render(void)
{
	SDL_BlitSurface(m_pImage, NULL, m_pScreen, &amp;m_Rect);
}

void CSprite::Render(float p_fFrameNumber)
{
	//Ausschnitt der aktuellen Animationsphase berechnen

	//Spalte berechnen
	int iColumn = static_cast&lt;Sint16&gt;(p_fFrameNumber)%m_iNumFramesX;

	//Zeile berechnen
	int iRow = static_cast&lt;Sint16&gt;(p_fFrameNumber/m_iNumFramesX);

	//Rect berechnen
	m_FrameRect.x = static_cast&lt;Sint16&gt;(iColumn * m_iFrameWidth);
	m_FrameRect.y = static_cast&lt;Sint16&gt;(iRow * m_iFrameHeight);

	//Ausschnitt rendern
	SDL_BlitSurface(m_pImage, &amp;m_FrameRect, m_pScreen, &amp;m_Rect);
}
</code></pre>
<p>Mal schauen, ob Ihr was findet.</p>
<p>Vielen Dank für Eure Hilfe.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/974954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/974954</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 24 Jan 2006 13:37:37 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Tue, 24 Jan 2006 13:44:09 GMT]]></title><description><![CDATA[<p>Du hast keinen Kopierkonstruktor/Zuweisungsoperator für die CSprite und die Standardversion verträgt sich nicht sonderlich mit dynamischer Speicherverwaltung (wenn ein CSprite kopiert wird, zeigen m_pScreen und m_sImage auf den Bereich, den das Original angelegt hat - und anschließend versuchen beide Objekte, diesen Bereich freizugeben).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/974960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/974960</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 24 Jan 2006 13:44:09 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Tue, 24 Jan 2006 14:14:26 GMT]]></title><description><![CDATA[<p>m_pScreen sollte hier keine Probleme verursachen, da es nicht im Destruktor freigegeben wird. Wegen m_pImage ist aber natürlich ein CopyKonstruktor erforderlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/974999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/974999</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 24 Jan 2006 14:14:26 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Tue, 24 Jan 2006 14:45:04 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Sorry, aber das verstehe ich nicht. Wo wird den kopiert und außerdem habe ich in einem anderen Programm genau diese Version von CSprite benutzt ohne das es Probleme gab.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/975030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/975030</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 24 Jan 2006 14:45:04 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Wed, 25 Jan 2006 22:55:51 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich würde gerne noch einmal meine Frage vom letzten Post wiederholen. Ich habe nun noch einen Kopüierkonstruktor hinzugefügt und ich habe immernoch das selbe, oben beschriebene, Problem.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/976449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/976449</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 25 Jan 2006 22:55:51 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Thu, 26 Jan 2006 00:43:19 GMT]]></title><description><![CDATA[<p>Elemente für einen std::ector müssen Copyconstructable sein.<br />
du must im CCtor auch den inhalt des Pointers auf dein Image kopieren.<br />
<a href="http://www.cs.wisc.edu/~hasti/cs368/CppTutorial/NOTES/CLASSES-PTRS.html" rel="nofollow">http://www.cs.wisc.edu/~hasti/cs368/CppTutorial/NOTES/CLASSES-PTRS.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/976474</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/976474</guid><dc:creator><![CDATA[b7f7]]></dc:creator><pubDate>Thu, 26 Jan 2006 00:43:19 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Fri, 27 Jan 2006 16:14:37 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich bin mir nicht sicher, ob mein Copyconstructor richtig ist, weil ich sowas noch nie geschrieben habe, also zeige ich ihn Euch mit der Bitte mir den Sand aus den Augen zu waschen.</p>
<pre><code class="language-cpp">CSprite::CSprite(const CSprite&amp; rhs)
{
	m_pImage = new SDL_Surface;
	m_pImage = rhs.m_pImage;
	m_pScreen = rhs.m_pScreen;
	m_Rect = rhs.m_Rect;
	m_FrameRect = rhs.m_FrameRect;
	m_iFrameHeight = rhs.m_iFrameHeight;
	m_iFrameWidth = rhs.m_iFrameWidth;
	m_iNumFrames = rhs.m_iNumFrames;
	m_iNumFramesX = rhs.m_iNumFramesX;
}
</code></pre>
<p>Rest der Klasse siehe oben.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/978222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/978222</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 27 Jan 2006 16:14:37 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Fri, 27 Jan 2006 17:56:20 GMT]]></title><description><![CDATA[<p>Nein der ist nicht gut</p>
<pre><code class="language-cpp">CSprite::CSprite(const CSprite&amp; rhs)
{
	m_pImage = new SDL_Surface;
	m_pImage = rhs.m_pImage;
        .....
}
</code></pre>
<p>du erzeugst erst mal eine neue SDL_Surface und mit der nächsten Istruktion überschreibst du sie schon wieder --&gt; Speicherleck<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/978296</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/978296</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Fri, 27 Jan 2006 17:56:20 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Sat, 28 Jan 2006 08:10:11 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Dann kapiere ich einfach nicht, wie das gehen soll. Kann mir mal jemand einen Anstoss geben.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/978662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/978662</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 28 Jan 2006 08:10:11 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Sat, 28 Jan 2006 12:03:06 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Es weiß doch bestimmt einer von Euch, wie der korrekte Copyconstructor aussehen muss.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/978790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/978790</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 28 Jan 2006 12:03:06 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Sat, 28 Jan 2006 12:06:07 GMT]]></title><description><![CDATA[<p>Nö.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/978794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/978794</guid><dc:creator><![CDATA[Kenner des Problems]]></dc:creator><pubDate>Sat, 28 Jan 2006 12:06:07 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Sat, 28 Jan 2006 12:49:29 GMT]]></title><description><![CDATA[<p>chrische5 schrieb:</p>
<blockquote>
<p>Es weiß doch bestimmt einer von Euch, wie der korrekte Copyconstructor aussehen muss.</p>
</blockquote>
<p>Kommt ganz drauf an was SDL_Surface ist<br />
Wahrscheinlich so wenn SDL_Surface einen Copyconstructor hat.</p>
<pre><code class="language-cpp">CSprite::CSprite(const CSprite&amp; rhs)
{
    m_pImage = new SDL_Surface(*rhs.m_pImage);
        .....
}
</code></pre>
<p>das könnte eventuell auch funktionieren wenn z.B. SDL_Surface nur ein typedef für ein char array ist</p>
<pre><code class="language-cpp">CSprite::CSprite(const CSprite&amp; rhs)
{
    m_pImage = new SDL_Surface;
    memcpy(m_pImage, rhs.m_pImage , sizeof(SDL_Surface));
        .....
}
</code></pre>
<p>Langer Rede kurzer Sinn: keiner kann dir sagen wie dein copyconstructor aussehen muss wenn du uns nicht sagst woraus genau dein CSprite besteht.<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/978827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/978827</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 28 Jan 2006 12:49:29 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim debuggen on Sat, 28 Jan 2006 12:53:19 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Erstmal dank für deine Antwort. Dieses Thema ist halt noch neu für mich. Den kompletten Code der Klasse steht doch schon im Forum nur ein paar Post weiter oben (früher). Brauchst du noch mehr Information?</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/978830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/978830</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 28 Jan 2006 12:53:19 GMT</pubDate></item></channel></rss>