<?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[Merkwürdiger Speicherzugriffsfehler]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe einen Speicherzugriffsfehler, bin allerdings ratlos warum <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Vermutlich ist das wieder so eine simple Sache, worauf ich als Anfänger nicht komme.</p>
<pre><code>TelemetryReceiver::TelemetryReceiver(ComputeCaptureFrame computeCaptureFrame, void *cRDFParams)
{
	// Capture-Funktion merken
	_computeCaptureFrame = computeCaptureFrame;
	_cRDFParams = cRDFParams;

        CaptureFrameFunction();
}

void TelemetryReceiver::CaptureFrameFunction()
{
        // Hier tritt der Speicherzugriffsfehler auf
	_computeCaptureFrame(_cRDFParams);

}
</code></pre>
<p>Wenn diese Zeile:<br />
_computeCaptureFrame(_cRDFParams);<br />
allerdings in den Konstruktor schreibe, funktioniert alles <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":O"
      alt="😮"
    /></p>
<p>Hier noch der Header:</p>
<pre><code>class TelemetryReceiver
	{
		// Definiert die Funktion, die die Frames aufnimmt
		typedef std::vector&lt;unsigned char&gt; (* ComputeCaptureFrame)(void *);

		private:

			struct sockaddr_in;

			// Nimmt ein Frame auf
			ComputeCaptureFrame _computeCaptureFrame;

			// Objekt der Manager Klasse
			void *_cRDFParams;

			unsigned short _port;

			// TCP Daten verarbeiten
			void ComputeTCPServerData(BYTE *data, int dataLength, int clientID);

			// Neuer Client verbunden	
			void onClientConnect(int clientID);

			void CaptureFrameThread();

			// Liste mit ClientIDs
			std::map&lt;int, UDPClient&gt; UDPClientList;

		public:
			// Konstruktor
			TelemetryReceiver(ComputeCaptureFrame computeCaptureFrame, void *cRDFParams);
</code></pre>
<p>Ich hoffe jemand kann mir sagen, woran das liegt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Edit:// Mir fällt auf, dass dieser Speicherzugriffsfehler auch im Header entsteht, wenn man die Funktion unter ComputeTCPServerData schreibt.</p>
<p>Habs nich etwas genauer:</p>
<pre><code>void TelemetryReceiver::ComputeTCPServerData(BYTE *data, int dataLength, int clientID)
{

	// Wert in Map?
	if(UDPClientList.find(clientID) == UDPClientList.end())
		throw THOMASException(&quot;Die Client ID konnte nicht gefunden werden&quot;);

	switch(data[0])
	{
		// HeaderDaten
		case 1: {

			UDPClientList[clientID].CreateUDPClient(4222, &quot;127.0.0.1&quot;);
                        // Wenn es hier steht gibts ein Speicherzugriffsfehler
			CaptureFrameThread();
			break;
		}
	}

}
</code></pre>
<p>ERLEDIGT: War ein Pointer Problem, trotzdem danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/331342/merkwürdiger-speicherzugriffsfehler</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 15:51:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/331342.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 Feb 2015 15:47:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Mon, 23 Feb 2015 16:23:21 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe einen Speicherzugriffsfehler, bin allerdings ratlos warum <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Vermutlich ist das wieder so eine simple Sache, worauf ich als Anfänger nicht komme.</p>
<pre><code>TelemetryReceiver::TelemetryReceiver(ComputeCaptureFrame computeCaptureFrame, void *cRDFParams)
{
	// Capture-Funktion merken
	_computeCaptureFrame = computeCaptureFrame;
	_cRDFParams = cRDFParams;

        CaptureFrameFunction();
}

void TelemetryReceiver::CaptureFrameFunction()
{
        // Hier tritt der Speicherzugriffsfehler auf
	_computeCaptureFrame(_cRDFParams);

}
</code></pre>
<p>Wenn diese Zeile:<br />
_computeCaptureFrame(_cRDFParams);<br />
allerdings in den Konstruktor schreibe, funktioniert alles <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":O"
      alt="😮"
    /></p>
<p>Hier noch der Header:</p>
<pre><code>class TelemetryReceiver
	{
		// Definiert die Funktion, die die Frames aufnimmt
		typedef std::vector&lt;unsigned char&gt; (* ComputeCaptureFrame)(void *);

		private:

			struct sockaddr_in;

			// Nimmt ein Frame auf
			ComputeCaptureFrame _computeCaptureFrame;

			// Objekt der Manager Klasse
			void *_cRDFParams;

			unsigned short _port;

			// TCP Daten verarbeiten
			void ComputeTCPServerData(BYTE *data, int dataLength, int clientID);

			// Neuer Client verbunden	
			void onClientConnect(int clientID);

			void CaptureFrameThread();

			// Liste mit ClientIDs
			std::map&lt;int, UDPClient&gt; UDPClientList;

		public:
			// Konstruktor
			TelemetryReceiver(ComputeCaptureFrame computeCaptureFrame, void *cRDFParams);
</code></pre>
<p>Ich hoffe jemand kann mir sagen, woran das liegt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Edit:// Mir fällt auf, dass dieser Speicherzugriffsfehler auch im Header entsteht, wenn man die Funktion unter ComputeTCPServerData schreibt.</p>
<p>Habs nich etwas genauer:</p>
<pre><code>void TelemetryReceiver::ComputeTCPServerData(BYTE *data, int dataLength, int clientID)
{

	// Wert in Map?
	if(UDPClientList.find(clientID) == UDPClientList.end())
		throw THOMASException(&quot;Die Client ID konnte nicht gefunden werden&quot;);

	switch(data[0])
	{
		// HeaderDaten
		case 1: {

			UDPClientList[clientID].CreateUDPClient(4222, &quot;127.0.0.1&quot;);
                        // Wenn es hier steht gibts ein Speicherzugriffsfehler
			CaptureFrameThread();
			break;
		}
	}

}
</code></pre>
<p>ERLEDIGT: War ein Pointer Problem, trotzdem danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444007</guid><dc:creator><![CDATA[Waishon]]></dc:creator><pubDate>Mon, 23 Feb 2015 16:23:21 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Mon, 23 Feb 2015 16:22:48 GMT]]></title><description><![CDATA[<p>Dir sollte selber klar sein, dass mit den paar Zeilen eine Diagnose unmöglich ist.<br />
Wahrscheinlich existiert das, worauf cRDFParams zeigt, nicht mehr.</p>
<p>Aber die falsch deklarierte struct sockaddr_in aus deinem anderen Post kann man sehr schön sehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444014</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Mon, 23 Feb 2015 16:22:48 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Mon, 23 Feb 2015 16:44:54 GMT]]></title><description><![CDATA[<p>@manni66</p>
<p>Wie muss die denn richtig? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444019</guid><dc:creator><![CDATA[Waishon]]></dc:creator><pubDate>Mon, 23 Feb 2015 16:44:54 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Mon, 23 Feb 2015 17:20:52 GMT]]></title><description><![CDATA[<p>Waishon schrieb:</p>
<blockquote>
<p>@manni66</p>
<p>Wie muss die denn richtig? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Nathan schrieb:<br />
<a href="https://www.c-plusplus.net/forum/p2443893#2443893">https://www.c-plusplus.net/forum/p2443893#2443893</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444026</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Mon, 23 Feb 2015 17:20:52 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Mon, 23 Feb 2015 18:02:19 GMT]]></title><description><![CDATA[<p>Ok danke werde ich ändern, allerdings bin gerade etwas deprimiert, da ich jetzt einen neuen Speicherzugriffsfehler erhalte im Zusammenhand mit</p>
<pre><code>*** Error in `./udp': malloc(): memory corruption: 0x00000000025c49c0 ***
Abgebrochen (Speicherabzug geschrieben)
</code></pre>
<p>Dies passiert, sobald ich<br />
std::vector&lt;int&gt; param = std::vector&lt;int&gt;(2);<br />
in den oben genannten Header schreibe.</p>
<p>Dann gibt es den Fehler nach diesem Code:</p>
<pre><code>// Wenn Client connected TODO: In TCPServer-Klasse implementieren
void TelemetryReceiver::onClientConnect(int clientID)
{

	// Client in map speichern
	UDPClient *client = new UDPClient();
	UDPClientList.insert(std::make_pair(clientID, *client));

}
</code></pre>
<p>Wenn ich es den vector, allerdings wieder heraus lösche bzw. lokal definiere klappt es.<br />
Dies passiert bei jedem neuen Pointer.</p>
<p>Ist bestimmt so ein dummer Anfängerfehler</p>
<p>Jetzt weiß ich warum die Speicherverwaltung in C++ als schwer angesehen wird <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Hier die Auaswertung mit valgrid <a href="http://pastebin.com/HYfta8PS" rel="nofollow">http://pastebin.com/HYfta8PS</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444030</guid><dc:creator><![CDATA[Waishon]]></dc:creator><pubDate>Mon, 23 Feb 2015 18:02:19 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Mon, 23 Feb 2015 18:28:11 GMT]]></title><description><![CDATA[<p>Ja Mensch...warum machst Du es Dir denn auch so schwer?!<br />
C++ ist kein Java!<br />
new/delete und <code>void*</code> schreien nach Problemen.</p>
<pre><code class="language-cpp">void TelemetryReceiver::onClientConnect(int clientID)
{
    // Client in map speichern
    UDPClientList[clientID] = UDPCLient();  
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2444048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444048</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Mon, 23 Feb 2015 18:28:11 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Mon, 23 Feb 2015 18:48:21 GMT]]></title><description><![CDATA[<p>@Furble Wurble</p>
<p>Ja für einen Java Umsteiger ist das schon schwer <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> Muss ich mir merken, dass das so einfach geht.</p>
<p>In meinem C++ Buch (Der C++ Programmierer) stand es mit insert und make_pair. Deswegen hatte ich es so gemacht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Gibt es alternativen zu *void?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444050</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444050</guid><dc:creator><![CDATA[Waishon]]></dc:creator><pubDate>Mon, 23 Feb 2015 18:48:21 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Mon, 23 Feb 2015 19:29:08 GMT]]></title><description><![CDATA[<p>Waishon schrieb:</p>
<blockquote>
<p>Gibt es alternativen zu *void?</p>
</blockquote>
<p>Ja. Je nach Zusammenhang sind die beste Alternative meistens Templates. Manchmal aber auch anderes. Aber void* sind typisch für C und kommen in C++ so gut wie nie vor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444056</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 23 Feb 2015 19:29:08 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Mon, 23 Feb 2015 20:08:46 GMT]]></title><description><![CDATA[<p>Ok werde ich mir mal durchlesen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Wie würde das denn in diesem Beispiel aussehen, dass ich mir darunter etwas vorstellen kann</p>
<p>So?</p>
<pre><code>template&lt;typename T&gt;
TelemetryReceiver(ComputeCaptureFrame computeCaptureFrame, T *cRDFParams);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2444059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444059</guid><dc:creator><![CDATA[Waishon]]></dc:creator><pubDate>Mon, 23 Feb 2015 20:08:46 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Mon, 23 Feb 2015 20:41:10 GMT]]></title><description><![CDATA[<p>Möglicherweise. Ich werd aus deinem Eingangbeitrag nicht so ganz schlau, was hier überhaupt genau passieren soll. Was mich jedenfalls auf den ersten Blick wundert, ist der Zeiger. Ich kann mir kaum vorstellen, dass hier nicht eine Referenz oder eine Kopie besser wären.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444066</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 23 Feb 2015 20:41:10 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Mon, 23 Feb 2015 21:08:45 GMT]]></title><description><![CDATA[<p>Du meinst?</p>
<p>void *cRDFParams</p>
<p>Das hatte ich so aus dem Code von meinem Vorgänger, ich kann es ja mal anders versuchen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444069</guid><dc:creator><![CDATA[Waishon]]></dc:creator><pubDate>Mon, 23 Feb 2015 21:08:45 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Tue, 24 Feb 2015 09:57:14 GMT]]></title><description><![CDATA[<p>Nein!</p>
<p>Entweder als Referenz</p>
<pre><code class="language-cpp">T &amp; cRDFParams // evtl. zusätzlich noch const
</code></pre>
<p>oder als Kopie</p>
<pre><code class="language-cpp">T cRDFParams
</code></pre>
<p>Bei Templates würde ich aber generell eher zu Referenzen raten (da eine Kopie, je nach Typgröße, recht teuer sein kann - insb. wenn noch selbsterstellte Kopierkonstruktoren dazukommen)!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444124</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444124</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Tue, 24 Feb 2015 09:57:14 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Tue, 24 Feb 2015 13:57:40 GMT]]></title><description><![CDATA[<p>Vielen Dank für die Antworten.</p>
<p>Ich hätte noch eine Frage zum new Parameter:</p>
<p>Aktuell instanziere ich eine Klasse so:</p>
<p>Header</p>
<pre><code>TelemetryReceiver *_teleRecv;
</code></pre>
<p>File</p>
<pre><code>_teleRecv = new TelemetryReceiver();
</code></pre>
<p>Wie kann ich das ohne new lösen, da es ja böse ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Außerdem habe ich hier noch einen Thread:<br />
Wie kann ich t in den Header speichern und dann den neuen Thread zuweisen ohne new?</p>
<pre><code>std::thread t(&amp;TelemetryReceiver::CaptureFrameThread, this);
t.join();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2444162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444162</guid><dc:creator><![CDATA[Waishon]]></dc:creator><pubDate>Tue, 24 Feb 2015 13:57:40 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Tue, 24 Feb 2015 14:02:33 GMT]]></title><description><![CDATA[<p>Einfach den Stern * weglassen und dich an Memorymanagement vom feinsten erfreuen.</p>
<p>Edit: wenn es natürlich garnicht ohne pointer geht:</p>
<pre><code>shared_ptr&lt;TelemetryReceiver&gt; __teleRecv;
</code></pre>
<p>und</p>
<pre><code>__teleRecv = make_shared&lt;TelemetryReceiver&gt;();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2444165</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444165</guid><dc:creator><![CDATA[tkausl]]></dc:creator><pubDate>Tue, 24 Feb 2015 14:02:33 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Tue, 24 Feb 2015 14:23:33 GMT]]></title><description><![CDATA[<p>Das new darf aber bestehen bleiben? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":O"
      alt="😮"
    /></p>
<p>Ok habs geht ohne danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>bzw wie geht das bei den Threads?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444168</guid><dc:creator><![CDATA[Waishon]]></dc:creator><pubDate>Tue, 24 Feb 2015 14:23:33 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Tue, 24 Feb 2015 14:22:56 GMT]]></title><description><![CDATA[<p>Nein, natürlich nicht?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444169</guid><dc:creator><![CDATA[tkausl]]></dc:creator><pubDate>Tue, 24 Feb 2015 14:22:56 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Tue, 24 Feb 2015 19:07:43 GMT]]></title><description><![CDATA[<p>Waishon schrieb:</p>
<blockquote>
<p>bzw wie geht das bei den Threads?</p>
</blockquote>
<p>Wie geht was bei welchen Threads?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444216</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 24 Feb 2015 19:07:43 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Tue, 24 Feb 2015 20:42:50 GMT]]></title><description><![CDATA[<p>tkausl schrieb:</p>
<blockquote>
<p>Einfach den Stern * weglassen und dich an Memorymanagement vom feinsten erfreuen.</p>
<p>Edit: wenn es natürlich garnicht ohne pointer geht:</p>
<pre><code>shared_ptr&lt;TelemetryReceiver&gt; __teleRecv;
</code></pre>
<p>und</p>
<pre><code>__teleRecv = make_shared&lt;TelemetryReceiver&gt;();
</code></pre>
</blockquote>
<p>Der erste Instinkt ist unique_ptr. shared_ptr darf man nur mit gutem Grund verwenden. __teleRecv ist übrigens kein guter Variablenname (da reserviert).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444246</guid><dc:creator><![CDATA[ersterinstinkt]]></dc:creator><pubDate>Tue, 24 Feb 2015 20:42:50 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Sat, 28 Feb 2015 19:51:28 GMT]]></title><description><![CDATA[<p>So ich habe ein neues Problem, auch mal wieder mit Speicherzugriffsfehler:</p>
<p>Es geht um felgenden Code:</p>
<pre><code>// Joystick-Daten sperren
			_joystickMutex-&gt;lock();
			{
				// Achswerte kopieren
				memcpy(_joystickAxis, &amp;data[1], sizeof(short) * _joystickAxisCount);

				// Buttonwerte kopieren
				memcpy(_joystickButtons, &amp;data[1 + sizeof(short) * _joystickAxisCount], sizeof(BYTE) * _joystickButtonCount);
			}
			_joystickMutex-&gt;unlock();
</code></pre>
<p>Dieser Teil, ist ein Teil einer Empfangsmethode eines TCPServers.<br />
Wenn ich jedes Byte einzeln mit entsprechenden Abstand sende, klappt alles wunderbar. Auch die ersten paar Bytes, die unmittelbar nacheinander gesendet werden. Sobald man allerdings kurz wartet, kommt der gennante Speicherzugriffsfehler. Am Mutex liegt es nicht, da dieser Fehler auch entsteht, wenn dieser komplett auskommentiert ist.<br />
Ich denke es liegt an memcpy. Irgendeiner eine Idee?<br />
Es liegt am 2. memcpy. Wenn dieser auskommentiert ist klappt es<br />
Dieser Fehler tritt erst auf, seitdem ich eine neue Klasse hinzugefügt habe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444723</guid><dc:creator><![CDATA[Waishon]]></dc:creator><pubDate>Sat, 28 Feb 2015 19:51:28 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Sat, 28 Feb 2015 20:15:07 GMT]]></title><description><![CDATA[<p>Gibts nen Grund warum du bei &amp;data[1] anfängst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444724</guid><dc:creator><![CDATA[tkausl]]></dc:creator><pubDate>Sat, 28 Feb 2015 20:15:07 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Speicherzugriffsfehler on Sat, 28 Feb 2015 23:18:50 GMT]]></title><description><![CDATA[<p>Jap data[0] ist das Kommandobyte, dass in Switch Case abgefragt wird</p>
<p>Hier noch die ganze Klasse:<br />
<a href="http://pastebin.com/SYZS1Cmt" rel="nofollow">http://pastebin.com/SYZS1Cmt</a></p>
<p>EDIT:// Ich sehe gerade, wenn ich data[1] steht dort nichts, und als cast zum int 0. Normalerweise dürfte das nicht 0 sein.</p>
<p>Edit2:// Erledigt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Kollege hat im Nervana ein Zugriff auf eine Variable gesetzte, die auskommentiert war</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2444725</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2444725</guid><dc:creator><![CDATA[Waishon]]></dc:creator><pubDate>Sat, 28 Feb 2015 23:18:50 GMT</pubDate></item></channel></rss>