<?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 Programmabsturz]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich hab schon viel als &quot;stiller Teilhaber&quot; bei euch gelesen und die ich muss erstmal ein Lob aussprechen. Eure Beiträge sind immer super und haben mir bisher immer toll geholfen...</p>
<p>Aber jetzt habe ich ein Problem das ich leider nicht durch googeln und lesen gelöst bekomme. Ich habe für die Uni ein Programm geschrieben das durch das Verfahren der Histogrammspreizung Bilder verbessern soll. Und das ganze soll dann auch noch mit CUDA passieren. Eigentlich läuft alles super, solange die Bilder nicht größer werden. Die Probleme fangen so ab einer größe von 1000x800 an. Ich versuche im ersten Schritt einfach das Histogramm des Bildes zu erstellen und muss dabei natürlich eine For-Schleife über das Bild laufen lassen. Und genau die macht das Problem... Sie stürz unvorhersehbar mit eine Zugriffsverletzung einfach ab. Mal bei i=0 mal bei i=2,2Mio mal bei i=2,9Mio. Ich versteh es einfach nicht mehr.</p>
<p>Ich fände es super wenn sich das vielleicht mal jemand anschauen könnte, der besser wie ich wieß was er tut <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>Der Fehler tritt in dern Funktion BuildCPUHist in Zeile 65 auf.</p>
<p>Hier noch der Link zum VS2010 Projekt...<br />
<a href="http://dl.dropbox.com/u/35876981/cuda_image_processing.zip" rel="nofollow">http://dl.dropbox.com/u/35876981/cuda_image_processing.zip</a></p>
<p>Danke schonmal im voraus !!!<br />
Gruß<br />
Thorsten</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/301294/merkwürdiger-programmabsturz</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 03:36:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/301294.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Mar 2012 13:13:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Merkwürdiger Programmabsturz on Fri, 23 Mar 2012 13:13:21 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich hab schon viel als &quot;stiller Teilhaber&quot; bei euch gelesen und die ich muss erstmal ein Lob aussprechen. Eure Beiträge sind immer super und haben mir bisher immer toll geholfen...</p>
<p>Aber jetzt habe ich ein Problem das ich leider nicht durch googeln und lesen gelöst bekomme. Ich habe für die Uni ein Programm geschrieben das durch das Verfahren der Histogrammspreizung Bilder verbessern soll. Und das ganze soll dann auch noch mit CUDA passieren. Eigentlich läuft alles super, solange die Bilder nicht größer werden. Die Probleme fangen so ab einer größe von 1000x800 an. Ich versuche im ersten Schritt einfach das Histogramm des Bildes zu erstellen und muss dabei natürlich eine For-Schleife über das Bild laufen lassen. Und genau die macht das Problem... Sie stürz unvorhersehbar mit eine Zugriffsverletzung einfach ab. Mal bei i=0 mal bei i=2,2Mio mal bei i=2,9Mio. Ich versteh es einfach nicht mehr.</p>
<p>Ich fände es super wenn sich das vielleicht mal jemand anschauen könnte, der besser wie ich wieß was er tut <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>Der Fehler tritt in dern Funktion BuildCPUHist in Zeile 65 auf.</p>
<p>Hier noch der Link zum VS2010 Projekt...<br />
<a href="http://dl.dropbox.com/u/35876981/cuda_image_processing.zip" rel="nofollow">http://dl.dropbox.com/u/35876981/cuda_image_processing.zip</a></p>
<p>Danke schonmal im voraus !!!<br />
Gruß<br />
Thorsten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2194598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2194598</guid><dc:creator><![CDATA[faithless]]></dc:creator><pubDate>Fri, 23 Mar 2012 13:13:21 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Programmabsturz on Fri, 23 Mar 2012 13:32:34 GMT]]></title><description><![CDATA[<p>Vermutlich geht dir einfach der Speicher aus - ich sehe jede Menge malloc()s und kein einziges free().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2194604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2194604</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Fri, 23 Mar 2012 13:32:34 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Programmabsturz on Fri, 23 Mar 2012 13:50:58 GMT]]></title><description><![CDATA[<p>Danke erstmal für die Antwort:</p>
<p>Ja da hast du recht, aber die free's würde ich ja am Ende vom Programm einbauen. Und da kommt er ja nie an...</p>
<p>Und free klappt auch irgendwie nicht.<br />
Der Befehl free(h_img); bringt diesen Fehler: expression preceding parentheses of apparent call must have (pointer-to-) function type</p>
<p>Aber es sind auch zur Laufzeit noch 4GB RAM frei...</p>
<p>Sorry wenn ich mich vielleicht etwas doof anstelle, aber ich bin noch nicht so lange mit C++ zugange...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2194613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2194613</guid><dc:creator><![CDATA[faithless]]></dc:creator><pubDate>Fri, 23 Mar 2012 13:50:58 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Programmabsturz on Fri, 23 Mar 2012 14:01:53 GMT]]></title><description><![CDATA[<p>faithless schrieb:</p>
<blockquote>
<p>Der Befehl free(h_img); bringt diesen Fehler: expression preceding parentheses of apparent call must have (pointer-to-) function type</p>
</blockquote>
<p>Heißt auf deutsch: &quot;Das sieht aus wie ein Funktionsaufruf, mir ist aber nicht bekannt, dass free eine Funktion (oder ein Pointer darauf) wäre.&quot;</p>
<p>Den Code habe ich mir jetzt nicht angeschaut - wäre klasse wenn du dir die Zeit nimmst und eine gestraffte Fassung (aufs Wesentliche reduziert, aber compilierbar und mit dem gleichen Laufzeitfehler) hier postest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2194621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2194621</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 23 Mar 2012 14:01:53 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Programmabsturz on Fri, 23 Mar 2012 14:12:17 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>faithless schrieb:</p>
<blockquote>
<p>Der Befehl free(h_img); bringt diesen Fehler: expression preceding parentheses of apparent call must have (pointer-to-) function type</p>
</blockquote>
<p>Heißt auf deutsch: &quot;Das sieht aus wie ein Funktionsaufruf, mir ist aber nicht bekannt, dass free eine Funktion (oder ein Pointer darauf) wäre.&quot;</p>
</blockquote>
<p>Und noch die (vermutliche) Lösung: free wird in cstdlib deklariert und liegt im Zweifelsfall sogar im Namespace std:: (bei den Standardbibliotheken die ich so kenne aber auch global). Komisch, dass malloc funktioniert...</p>
<p>Allgemein: Wenn seldon von vielen mallocs und keinem free berichtet, dann wundern mich solche Fehler nicht zu sehr. Klingt eher nach schlechtem C, denn nach C++. In C++ hast du so viel bessere Möglichkeiten der Speicherverwaltung, bei denen, wenn du sie durchgängig benutzt, gar nichts mehr schiefgehen <em>kann</em>.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> Deine Frage ist etwas ungünstig gestellt. Du schließt gerade jeden Helfer aus, der mit VS-Projekten nichts anfangen kann (z.B. mich) und die Hemmschwelle, ein riesiges Programm runterzuladen und selbstständig auszuprobieren, weil du berichtest, dass da irgendwo ein Fehler drin ist, ist enorm hoch. Daher:</p>
<p>pumuckl schrieb:</p>
<blockquote>
<p>wäre klasse wenn du dir die Zeit nimmst und eine gestraffte Fassung (aufs Wesentliche reduziert, aber compilierbar und mit dem gleichen Laufzeitfehler) hier postest.</p>
</blockquote>
<p>+1.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2194626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2194626</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 23 Mar 2012 14:12:17 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Programmabsturz on Fri, 23 Mar 2012 14:51:55 GMT]]></title><description><![CDATA[<p>Hallo Ihr Zwei,</p>
<p>ich habe das ganze jetzt nochmal in ein neues sauberes Projekt reinkopiert. Und es auf das Bild laden und einaml drüber loopen beschränkt... das Funktioniert tadellos... Jetzt raff' ich garnix mehr...</p>
<p>Welche möglichkeiten der Speicherverwaltung meinst du denn? Ich hab' es in der FH mit malloc gelernt... Bin gern bereit was dazu zu lernen...!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2194645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2194645</guid><dc:creator><![CDATA[faithless]]></dc:creator><pubDate>Fri, 23 Mar 2012 14:51:55 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Programmabsturz on Fri, 23 Mar 2012 14:56:22 GMT]]></title><description><![CDATA[<p>new, delete, shared_ptr, unique_ptr, vector<br />
um dir mal ein paar Begriffe zu nennen, die dich bei google weiterbringen sollten<br />
Ansonsten ist jedes C++ Buch (außer von Jürgen Wolf) dein Freund</p>
<p>greetz KN4CK3R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2194647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2194647</guid><dc:creator><![CDATA[KN4CK3R]]></dc:creator><pubDate>Fri, 23 Mar 2012 14:56:22 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Programmabsturz on Fri, 23 Mar 2012 15:03:47 GMT]]></title><description><![CDATA[<p>faithless schrieb:</p>
<blockquote>
<p>Ich hab' es in der FH mit malloc gelernt... Bin gern bereit was dazu zu lernen...!</p>
</blockquote>
<p>Das kann man nicht in ein paar Worten erklären. Das braucht ein Buch mit dicken Kapiteln. malloc ist jedenfalls eher als C-Relikt anzusehen. In C++ gibt es selbstverwaltende dynamische Container mit unterschiedlichen Charakteristiken, aber (weitgehend) einheitlichem Interface. Der wichtigste dürfte std::vector sein, welcher quasi das gleiche macht wie malloc, aber ohne die Fallstricke und mit Kompatibilität zu nicht POD-Datentypen (es ist allgemein keine gute Idee, die C-Bibliothek gemischt mit C++-Mitteln zu benutzen, weil die C-Bibliothek nicht mit den komplexen C++-Datentypen zurecht kommt, viele Fehler aber nicht (wie in C++) zur Compilezeit erkannt werden können).</p>
<p>Wenn du davon aber noch nie etwas gehört hast, dann wirst du erst einmal C++-Grundlagen lernen müssen, um mit dieser Antwort überhaupt etwas anfangen zu können. Ich fürchte, du wirst auf der FH wohl entweder C gelernt haben, oder schlimmer noch, man hat dich das berüchtigte C/C++ (auch bekannt als C mit cout oder C mit Klassen) gelehrt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2194649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2194649</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 23 Mar 2012 15:03:47 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Programmabsturz on Fri, 23 Mar 2012 15:20:45 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /> na super...</p>
<p>Ich muss das blöde Projekt in ner Woche abgeben. Und offenbar muss der Fehler irgendwo in dem Context stecken und ich kann es euch nicht in einer auf das wesentliche reduzierten Datei zur verfügung stellen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Danke noch für die tipps !</p>
<p>Kann sich vielleicht trotzdem jemand erbarmen sich mal den Code an zu sehen, auch wenn es etwas viel ist ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2194653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2194653</guid><dc:creator><![CDATA[faithless]]></dc:creator><pubDate>Fri, 23 Mar 2012 15:20:45 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Programmabsturz on Fri, 23 Mar 2012 15:49:59 GMT]]></title><description><![CDATA[<p>faithless schrieb:</p>
<blockquote>
<p>Und free klappt auch irgendwie nicht.<br />
Der Befehl free(h_img); bringt diesen Fehler: expression preceding parentheses of apparent call must have (pointer-to-) function type</p>
</blockquote>
<p>Das liegt daran, dass du einen unsigned int free; definiert hast, der die Funktion free verdeckt. Du solltest ihn umbenennen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2194660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2194660</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Fri, 23 Mar 2012 15:49:59 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Programmabsturz on Fri, 23 Mar 2012 16:00:41 GMT]]></title><description><![CDATA[<p>ENTWARNUNG!!!</p>
<p>Ich hab jetzt nochmal rumgesucht und rumkopiert. Hab' die Funktionen die das Bild geladen und das Histogramm berechnet haben einfach mal in die Main-Methode kopiert. Und schon geht alles...</p>
<p>Hat dafür jemand eine erklärung ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2194668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2194668</guid><dc:creator><![CDATA[faithless]]></dc:creator><pubDate>Fri, 23 Mar 2012 16:00:41 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdiger Programmabsturz on Fri, 23 Mar 2012 16:02:09 GMT]]></title><description><![CDATA[<p>seldon schrieb:</p>
<blockquote>
<p>faithless schrieb:</p>
<blockquote>
<p>Und free klappt auch irgendwie nicht.<br />
Der Befehl free(h_img); bringt diesen Fehler: expression preceding parentheses of apparent call must have (pointer-to-) function type</p>
</blockquote>
<p>Das liegt daran, dass du einen unsigned int free; definiert hast, der die Funktion free verdeckt. Du solltest ihn umbenennen.</p>
</blockquote>
<p>Sehr geil!! 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/2194670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2194670</guid><dc:creator><![CDATA[faithless]]></dc:creator><pubDate>Fri, 23 Mar 2012 16:02:09 GMT</pubDate></item></channel></rss>