{"id":399,"date":"2026-06-30T12:00:17","date_gmt":"2026-06-30T12:00:17","guid":{"rendered":"https:\/\/www.donaldswelt.ch\/?p=399"},"modified":"2026-09-22T19:49:16","modified_gmt":"2026-09-22T19:49:16","slug":"der-bug-der-nur-ein-zeichen-gross-war","status":"publish","type":"post","link":"https:\/\/www.donaldswelt.ch\/index.php\/2026\/06\/30\/der-bug-der-nur-ein-zeichen-gross-war\/","title":{"rendered":"Der Bug, der nur ein Zeichen gross war"},"content":{"rendered":"<p class=\"PDq2pG_selectionAnchorContainer\" dir=\"auto\" data-section-id=\"pf4aem\" data-start=\"297\" data-end=\"324\"><strong>Die Geschichte dahinter<\/strong><\/p>\n<p class=\"PDq2pG_selectionAnchorContainer\" dir=\"auto\" data-start=\"194\" data-end=\"461\">Es gibt diese Fehler, bei denen man schon nach f\u00fcnf Minuten weiss: Das wird unangenehm. Und dann gibt es Fehler, bei denen man nach einer halben Ewigkeit feststellt, dass die eigentliche Ursache so banal ist, dass man kurz nicht weiss, ob man lachen oder weinen soll.<\/p>\n<p dir=\"auto\" data-start=\"463\" data-end=\"910\">An diesem Tag ging es um ein Touchpanel, das bei einem bestimmten Aufruf einfach abst\u00fcrzte. Also begann die \u00fcbliche Entwickler-Odyssee: MVC? Razor? JavaScript? Bootstrap? Model Binding? ViewModel? Kamera? Statische Ressourcen? Irgendwo musste sich der \u00dcbelt\u00e4ter ja verstecken. Die ersten Tests sahen sogar gut aus. Kamera weg? Kein Problem. Statische Ressource? Ebenfalls okay. Doch sobald der entsprechende RMF-Command ins Spiel kam: <strong data-start=\"898\" data-end=\"910\">Absturz.<\/strong><\/p>\n<p dir=\"auto\" data-start=\"912\" data-end=\"1014\">Irgendwann fiel der Blick auf das Passwort. Eigentlich nichts Besonderes \u2013 bis auf ein kleines Detail:<\/p>\n<p dir=\"auto\" data-start=\"1016\" data-end=\"1030\"><code data-start=\"1016\" data-end=\"1030\">pa^ssword123<\/code><\/p>\n<p dir=\"auto\" data-start=\"1032\" data-end=\"1325\">Da war dieses unscheinbare <code data-start=\"1059\" data-end=\"1062\">^<\/code>. Und genau dieses eine Zeichen machte aus einem v\u00f6llig harmlosen Passwort offenbar einen kleinen technischen Sprengsatz. Das Sonderzeichen wurde in der Command-Verarbeitung nicht einfach als normales Zeichen behandelt und f\u00fchrte dazu, dass der Aufruf schiefging.<\/p>\n<p dir=\"auto\" data-start=\"1327\" data-end=\"1595\">Die L\u00f6sung war entsprechend spektakul\u00e4r: Aus <code data-start=\"1372\" data-end=\"1386\">pa^ssword123<\/code> wurde <code data-start=\"1393\" data-end=\"1406\">password123<\/code> \u2013 und pl\u00f6tzlich funktionierte alles. Kein neues Framework. Kein grosser Umbau. Kein Patch-Marathon. Kein dreist\u00fcndiges Debugging-Finale mit dramatischer Musik. Einfach ein Zeichen weniger.<\/p>\n<p dir=\"auto\" data-start=\"1597\" data-end=\"1900\">Genau solche Momente sind vermutlich der Grund, warum Entwickler irgendwann anfangen, Bildschirme misstrauisch anzuschauen. Der Comic mit dem Hulk passt deshalb ziemlich gut: Erst w\u00fctend auf MVC, Razor, JavaScript, Bootstrap und den Rest der Welt \u2013 danach Detektivarbeit \u2013 und am Schluss die Erkenntnis:<\/p>\n<p dir=\"auto\" data-start=\"1902\" data-end=\"1964\"><strong data-start=\"1902\" data-end=\"1964\">Hulk hat Eingebung. Hulk entfernt <code data-start=\"1938\" data-end=\"1941\">^<\/code>. Hulk Problem l\u00f6sen.<\/strong><\/p>\n<p dir=\"auto\" data-start=\"1966\" data-end=\"2210\">Damit war das Ticket erledigt. Und nach so einem Sieg darf man sich nat\u00fcrlich auch entsprechend belohnen: <strong data-start=\"2072\" data-end=\"2105\">Big Mac, Pommes und McFlurry.<\/strong> Schliesslich wurde an diesem Tag nicht nur ein Bug behoben, sondern ein ganzes Sonderzeichen besiegt. \ud83d\ude04<\/p>\n<p dir=\"auto\" data-start=\"2212\" data-end=\"2309\"><strong data-start=\"2212\" data-end=\"2222\">Fazit:<\/strong><br data-start=\"2222\" data-end=\"2225\">Manchmal ist ein Fehler 500 Zeilen Code gross.<br data-start=\"2271\" data-end=\"2274\">Und manchmal genau <strong data-start=\"2293\" data-end=\"2308\">ein Zeichen<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Geschichte dahinter Es gibt diese Fehler, bei denen man  [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":400,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[13,18],"tags":[],"class_list":["post-399","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-comics","category-technikwelt"],"_links":{"self":[{"href":"https:\/\/www.donaldswelt.ch\/index.php\/wp-json\/wp\/v2\/posts\/399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.donaldswelt.ch\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.donaldswelt.ch\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.donaldswelt.ch\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.donaldswelt.ch\/index.php\/wp-json\/wp\/v2\/comments?post=399"}],"version-history":[{"count":2,"href":"https:\/\/www.donaldswelt.ch\/index.php\/wp-json\/wp\/v2\/posts\/399\/revisions"}],"predecessor-version":[{"id":403,"href":"https:\/\/www.donaldswelt.ch\/index.php\/wp-json\/wp\/v2\/posts\/399\/revisions\/403"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.donaldswelt.ch\/index.php\/wp-json\/wp\/v2\/media\/400"}],"wp:attachment":[{"href":"https:\/\/www.donaldswelt.ch\/index.php\/wp-json\/wp\/v2\/media?parent=399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.donaldswelt.ch\/index.php\/wp-json\/wp\/v2\/categories?post=399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.donaldswelt.ch\/index.php\/wp-json\/wp\/v2\/tags?post=399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}