{"id":19895,"date":"2026-09-14T16:22:22","date_gmt":"2026-09-14T16:22:22","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\/"},"modified":"2026-09-14T16:22:22","modified_gmt":"2026-09-14T16:22:22","slug":"vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\/","title":{"rendered":"Vorstellung eines plattform\u00fcbergreifenden Debuggers f\u00fcr Go"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Wir verwenden Go f\u00fcr einen Gro\u00dfteil unserer Serverentwicklung hier bei Mailgun, und es ist gro\u00dfartig. Da ich allerdings von Python komme, habe ich eine Sache wirklich vermisst:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ich konnte diese kleine Zeile immer dann einf\u00fcgen, wenn ich nicht verstand, was im Code passierte, um genau zu sehen, was vor sich ging. Aber in Go? Nicht wirklich. Als ich dieses Projekt im Januar begann, versagte gdb bei jedem Programm, bei dem ich es ausprobierte. delve funktionierte nicht unter OS X und das Debuggen mit Print-Anweisungen war zu langsam und eingeschr\u00e4nkt. Was bleibt einem da anderes \u00fcbrig?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nat\u00fcrlich einen eigenen Debugger entwickeln.<\/p>\n\n\n\r\n    <nav data-content-type=\"longform\" class=\"toc-block longform-spacings px-5 py-6 px-md-6 px-lg-7 py-md-7 bg-light fs-sm rounded-lg\" aria-labelledby=\"toc-title-4985\"><p class=\"h5 m-0\" id=\"toc-title-4985\">Inhaltsverzeichnis<\/p><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">01<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#godebug\">godebug<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">02<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#wie-hat-das-funktioniert\">Wie hat das funktioniert?<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">03<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#verwendung-von-godebug\">Verwendung von godebug<\/a><a class=\"scrollme link-body-color\" href=\"#schritt-1-installieren\">Schritt 1: Installieren<\/a><a class=\"scrollme link-body-color\" href=\"#schritt-2-haltepunkte-setzen\">Schritt 2: Haltepunkte setzen<\/a><a class=\"scrollme link-body-color\" href=\"#schritt-3-programm-ausfuehren\">Schritt 3: Programm ausf\u00fchren<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">04<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#ausprobieren\">Ausprobieren<\/a><\/div><\/div><\/nav>\n\n\n<h2 class=\"wp-block-heading\">godebug<\/h2>\n\n\n    <div data-content-type=\"longform\" class=\"quote hub-quote longform-spacings d-flex flex-column rounded-lg px-5 py-6 px-md-6 py-md-7 p-lg-7 shadow-sm bg-primary\" data-theme=\"light\">\r\n\r\n        <div class=\"quote-logo mb-3\">\r\n                            <svg height=\"40\" class=\"quote-icon quote-icon-color\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/custom-icons\/quotes-right.svg\"><\/svg>\r\n                    <\/div>\r\n\r\n        <blockquote class=\"quote-content content-body m-0 text-body-color\" id=\"quote-block-4e2e4ca75e0fb9a42c1b6c48ff81612e\">\r\n            Alles, was [einem guten Go-Debugger] im Weg steht, ist das Schreiben von viel nicht portablem Low-Level-Code, der mit fehlerhaften, undokumentierten Schnittstellen kommuniziert.        <\/blockquote>\r\n\r\n                    <div class=\"d-flex gap-3 mt-5\">\r\n                                <div class=\"d-flex flex-column align-self-center fs-sm\">\r\n                    <cite class=\"mb-0 fw-bold text-accent fst-normal\" aria-describedby=\"quote-block-4e2e4ca75e0fb9a42c1b6c48ff81612e\">\r\n                        Rob Pike                    <\/cite>\r\n                                    <\/div>\r\n            <\/div>\r\n            <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/mailgun\/godebug\">godebug<\/a>\u00a0ist eine andere Art von Debugger. Herk\u00f6mmliche Debugger f\u00fcr kompilierte Sprachen verwenden Low-Level-Systemaufrufe und lesen Bin\u00e4rdateien f\u00fcr Debugging-Symbole aus. Sie sind schwer fehlerfrei zu implementieren und schwer zu portieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">godebug verfolgt einen anderen Ansatz: Es nimmt den Quellcode eines Zielprogramms, f\u00fcgt zwischen jeder Zeile Debugging-Code ein und kompiliert und f\u00fchrt stattdessen diesen aus. Das Ergebnis ist ein voll funktionsf\u00e4higer Debugger, der extrem portabel ist. In der Tat, dank\u00a0<a href=\"http:\/\/www.gopherjs.org\/\">gopherjs<\/a>\u00a0k\u00f6nnen Sie ihn direkt hier in Ihrem Browser ausf\u00fchren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sie k\u00f6nnen das Programm bearbeiten und mit der Schaltfl\u00e4che &#8222;DEBUG IT!&#8220; so oft neu starten, wie Sie m\u00f6chten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie hat das funktioniert?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hier ist ein kurzes Diagramm der obigen Demo:<\/p>\n\n\n\n\n\n<p class=\"wp-block-paragraph\">Der urspr\u00fcngliche Code wird zweimal transformiert. Zun\u00e4chst f\u00fcgte godebug\u00a0die Debugging-Instrumentierung ein. Anschlie\u00dfend kompilierte gopherjs das Ergebnis zu JavaScript.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sehen wir uns den Instrumentierungsschritt genauer an. (Um mehr \u00fcber den Teil mit gopherjs zu erfahren (der fantastisch ist), besuchen Sie dessen\u00a0<a href=\"http:\/\/www.gopherjs.org\/\">Website<\/a>.) Hier sind einige der Aufrufe, die godebug einf\u00fcgt:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>godebug.EnterFunc\u00a0<\/code>teilt der godebug-Laufzeitbibliothek mit, dass wir eine Funktion betreten. Da \u201enext\u201c nicht innerhalb von Funktionsaufrufen anh\u00e4lt, merkt sich die Laufzeitbibliothek diese Aufrufe, um zu wissen, wann Zeilen \u00fcbersprungen werden m\u00fcssen.<\/li>\n\n\n\n<li><code>godebug.ExitFunc\u00a0<\/code>teilt der Laufzeitbibliothek mit, dass wir eine Funktion verlassen. In\u00a0<code>main<\/code> weggelassen.<\/li>\n\n\n\n<li><code>godebug.Line\u00a0<\/code>bewirkt, dass das Programm pausiert und auf eine Eingabe wartet, jedoch nur dann, wenn ein Nutzerbefehl oder ein Haltepunkt dies verlangt. Wenn es pausiert, fordert es den Nutzer zur Eingabe auf und reagiert auf alle Befehle.<\/li>\n\n\n\n<li><code>godebug.Declare\u00a0<\/code>zeichnet die Zuordnung von Variablennamen zu ihren Werten auf. Diese Zuordnung wird vom Print-Befehl verwendet.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Dies ist eine verk\u00fcrzte \u00dcbersicht. Es gibt weitere Funktionen, die godebug einf\u00fcgt, und viele Details der oben genannten Funktionen wurden weggelassen. Aber dies sind die Grundlagen, wie godebug funktioniert.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verwendung von godebug<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">All das (ohne den Server- und JavaScript-Teil) ist in dem Kommandozeilen-Tool\u00a0<code>godebug<\/code>\u00a0zusammengefasst. Und so wird es verwendet:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><em>Schritt 1: Installieren<\/em><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>$ go get -u github.com\/mailgun\/godebug<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><em>Schritt 2: Haltepunkte setzen<\/em><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcgen Sie diese Markierung \u00fcberall dort ein, wo Sie einen Haltepunkt setzen m\u00f6chten:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>_ = \"breakpoint\"<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Anweisung wird zu einem Haltepunkt, wenn sie unter godebug ausgef\u00fchrt wird, und ist andernfalls ein No-Op.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Da Haltepunkte Teil des Quellcodes sind, k\u00f6nnen Sie Ihre eigene Logik um sie herum aufbauen. Angenommen, Sie f\u00fchren einen\u00a0<a href=\"http:\/\/dave.cheney.net\/2013\/06\/09\/writing-table-driven-tests-in-go\">tabellengesteuerten Test<\/a>\u00a0mit Dutzenden von F\u00e4llen aus, und einer der Testf\u00e4lle schl\u00e4gt fehl: derjenige, der die Eingabe\u00a0<code>\"weird string\"<\/code>\u00a0getestet hat. Sie k\u00f6nnen diesen Haltepunkt zu Ihrem Test hinzuf\u00fcgen:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>for _, tt := range myTestCases { if tt.in == \"weird string\" { _ = \"breakpoint\" } ... }<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>godebug test<\/code>\u00a0pausiert das Programm an der Markierungsanweisung, die praktischerweise genau vor der Ausf\u00fchrung des fehlschlagenden Testfalls positioniert ist.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><em>Schritt 3: Programm ausf\u00fchren<\/em><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Verwenden Sie den Befehl godebug run:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>godebug run <\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Oder verwenden Sie f\u00fcr Tests den Befehl godebug test:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>godebug test<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Standardm\u00e4\u00dfig f\u00fcgt godebug nur dem Paket main (f\u00fcr godebug run) oder dem getesteten Paket (f\u00fcr godebug test) Debugging-Instrumentierung hinzu. Importierte Pakete werden nicht instrumentiert. Dies dient dazu, den Overhead des Debuggers zu verringern\u00a0\u2013 alle Pakete, an denen Sie nicht interessiert sind, laufen wie gewohnt bei voller Geschwindigkeit.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das bedeutet, dass Sie\u00a0<strong>standardm\u00e4\u00dfig nicht in Funktionsaufrufe von importierten Paketen hineinspringen k\u00f6nnen<\/strong>. Manchmal ist dies jedoch erforderlich. Um andere Pakete zu debuggen, \u00fcbergeben Sie das Flag\u00a0<code>-instrument<\/code>\u00a0an\u00a0<code>godebug run<\/code>\u00a0oder\u00a0<code>godebug test<\/code>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>godebug test -instrument=pkgA,pkgB,pkgC pkg\/under\/test<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der obige Befehl instrumentiert\u00a0<code>pkgA<\/code>,\u00a0<code>pkgB<\/code>,\u00a0<code>pkgC<\/code>\u00a0und\u00a0<code>pkg\/under\/test<\/code>\u00a0(und erm\u00f6glicht es Ihnen somit, in diese hineinzuspringen). Anschlie\u00dfend werden die Tests f\u00fcr\u00a0<code>pkg\/under\/test<\/code>\u00a0erstellt und ausgef\u00fchrt. F\u00fcr\u00a0<code>godebug run<\/code>\u00a0gilt eine \u00e4hnliche Semantik.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ausprobieren<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn Sie das n\u00e4chste Mal verstehen m\u00f6chten, was in einem Go-Programm passiert, probieren Sie\u00a0<a href=\"https:\/\/github.com\/mailgun\/godebug\">godebug<\/a>. Bedenken Sie, dass es sich noch um ein neues Tool handelt, das etwas Feinschliff ben\u00f6tigt. Einige bekannte Einschr\u00e4nkungen sind insbesondere:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Performance-Overhead<\/li>\n\n\n\n<li>Kann Lesekonflikte verursachen, wenn Ihr Programm von stdin liest<\/li>\n\n\n\n<li>Kann nicht an einen laufenden Prozess angeh\u00e4ngt werden<\/li>\n\n\n\n<li>Die Pakete, die Sie debuggen m\u00f6chten, m\u00fcssen vor dem Start der Sitzung bekannt sein<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Abgesehen davon bin ich von diesem Tool begeistert und hoffe, dass es der Go-Community einen gro\u00dfen Mehrwert bieten kann. Probieren Sie es aus und lassen Sie mich wissen, was Sie davon halten. Falls Sie auf Probleme sto\u00dfen, w\u00fcrde ich mich freuen, davon zu erfahren. Erstellen Sie ein Issue unter\u00a0<a href=\"https:\/\/github.com\/mailgun\/godebug\/issues\">https:\/\/github.com\/mailgun\/godebug\/issues<\/a>\u00a0oder senden Sie eine E-Mail an: dev@godebug.rocks<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ich hoffe, es gef\u00e4llt Ihnen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">https:\/\/github.com\/mailgun\/godebug<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>M\u00f6chten Sie mehr \u00fcber godebug erfahren? Hier ist ein Vortrag, den ich auf der GoSF gehalten habe und der tiefer auf Code-Generierung und Nebenl\u00e4ufigkeitsverwaltung eingeht:<\/em><\/p>\n\n\n\t<div class=\"custom-video\">\r\n\t\t\t\t\t                    <div class=\"iframe-responsive-container lazy-video rounded-lg overflow-hidden \">\r\n                <a href=\"https:\/\/www.youtube.com\/watch?v=qo4RAPxCTa0\" class=\"lazy-video-link\" data-lazy-video=\"qo4RAPxCTa0\" target=\"_blank\" rel=\"nofollow\" role=\"button\" data-source=\"youtube\" data-language=\"de\" data-thumb=\"https:\/\/img.youtube.com\/vi\/qo4RAPxCTa0\/maxresdefault.jpg\" title=\"Sinch-Video\">\r\n                    <div class=\"btn btn-light btn-light-social btn-play btn-play-circle\">\r\n                                                    <svg aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/play.svg\"><\/svg>\r\n                                            <\/div>\r\n                    <img decoding=\"async\"  src=\"https:\/\/img.youtube.com\/vi\/qo4RAPxCTa0\/maxresdefault.jpg\" alt=\"Godebug and the Wonders of Code Generation\">\r\n                <\/a>\r\n            <\/div>\r\n                        <script type=\"application\/ld+json\">\r\n            {\n    \"@context\": \"http:\/\/schema.org\",\n    \"@type\": \"VideoObject\",\n    \"@id\": \"https:\/\/www.youtube.com\/watch?v=qo4RAPxCTa0#VideoObject\",\n    \"thumbnailUrl\": \"https:\/\/img.youtube.com\/vi\/qo4RAPxCTa0\/maxresdefault.jpg\",\n    \"embedUrl\": \"https:\/\/www.youtube.com\/embed\/qo4RAPxCTa0\",\n    \"contentUrl\": \"https:\/\/www.youtube.com\/watch?v=qo4RAPxCTa0\",\n    \"name\": \"Godebug and the Wonders of Code Generation\",\n    \"description\": \"Full post here: Hakkalabs.co\/articles\/godebug-and-the-wonders-of-code-generation\\n\\nABOUT DATA COUNCIL: \\nData Council (https:\/\/www.datacouncil.ai\/) is a community and conference series that provides data professionals with the learning and networking opportunities they need to grow their careers. Make sure to subscribe to our channel for more videos, including DC_THURS, our series of live online interviews with leading data professionals from top open source projects and startups. \\n\\nFOLLOW DATA COUNCIL:\\nTwitter: https:\/\/twitter.com\/DataCouncilAI \\nLinkedIn: https:\/\/www.linkedin.com\/company\/datacouncil-ai \\nFacebook: https:\/\/www.facebook.com\/datacouncilai\\nEventbrite: https:\/\/www.eventbrite.com\/o\/data-council-30357384520 -\\n\\n\\ud83c\\udf9f\\ufe0f GET YOUR TICKET TO AI COUNCIL 2026 \\ud83c\\udf9f\\ufe0f\\nMeet the world's top AI infrastructure minds where architects of AI share what works. Three days of high-quality technical talks and meaningful interactions.\\n\\n\\u2192 https:\/\/aicouncil.com\/sf-2026\\n\\n\\u26a1 FIND US:\\nX: https:\/\/x.com\/AICouncilConf\\nLinkedIn: https:\/\/www.linkedin.com\/company\/aicouncilconf\/\\nWebsite: https:\/\/aicouncil.com\/\",\n    \"uploadDate\": \"2015-04-03T16:52:07+00:00\",\n    \"duration\": \"PT27M20S\"\n}        <\/script>\r\n        \t\t\r\n\t\t\t<\/div>\r\n\r\n\t\r\n","protected":false},"excerpt":{"rendered":"<p>Wir verwenden Go f\u00fcr einen Gro\u00dfteil unserer Serverentwicklung hier bei Mailgun, und es ist gro\u00dfartig. Da ich allerdings von Python komme, habe ich eine Sache wirklich vermisst:<\/p>\n","protected":false},"author":13,"featured_media":3952,"menu_order":0,"template":"","meta":{"_acf_changed":true,"footnotes":""},"blog_category":[19],"class_list":["post-19895","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog_category-dev-life"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Vorstellung eines plattform\u00fcbergreifenden Debuggers f\u00fcr Go - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"Godebug ist ein neuer interaktiver Debugger f\u00fcr Go, der auf allen Plattformen funktioniert. Er nutzt Quellcode-Generierung anstelle von Syscalls. Jetzt ausprobieren\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Vorstellung eines plattform\u00fcbergreifenden Debuggers f\u00fcr Go - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Godebug ist ein neuer interaktiver Debugger f\u00fcr Go, der auf allen Plattformen funktioniert. Er nutzt Quellcode-Generierung anstelle von Syscalls. Jetzt ausprobieren\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"448\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\\\/\",\"name\":\"Vorstellung eines plattform\u00fcbergreifenden Debuggers f\u00fcr Go - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"datePublished\":\"2026-09-14T16:22:22+00:00\",\"description\":\"Godebug ist ein neuer interaktiver Debugger f\u00fcr Go, der auf allen Plattformen funktioniert. Er nutzt Quellcode-Generierung anstelle von Syscalls. Jetzt ausprobieren\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"width\":720,\"height\":448},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Vorstellung eines plattform\u00fcbergreifenden Debuggers f\u00fcr Go\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"description\":\"Leistungsstarke Transaktions-E-Mail-APIs, mit denen Sie E-Mails senden, empfangen und nachverfolgen k\u00f6nnen, speziell f\u00fcr Entwickler konzipiert. Erfahren Sie noch heute mehr!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#organization\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"width\":512,\"height\":512,\"caption\":\"Transactional Email API Service For Developers | Mailgun\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Vorstellung eines plattform\u00fcbergreifenden Debuggers f\u00fcr Go - Transactional Email API Service For Developers | Mailgun","description":"Godebug ist ein neuer interaktiver Debugger f\u00fcr Go, der auf allen Plattformen funktioniert. Er nutzt Quellcode-Generierung anstelle von Syscalls. Jetzt ausprobieren","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\/","og_locale":"de_DE","og_type":"article","og_title":"Vorstellung eines plattform\u00fcbergreifenden Debuggers f\u00fcr Go - Transactional Email API Service For Developers | Mailgun","og_description":"Godebug ist ein neuer interaktiver Debugger f\u00fcr Go, der auf allen Plattformen funktioniert. Er nutzt Quellcode-Generierung anstelle von Syscalls. Jetzt ausprobieren","og_url":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","og_image":[{"width":720,"height":448,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\/","url":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\/","name":"Vorstellung eines plattform\u00fcbergreifenden Debuggers f\u00fcr Go - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","datePublished":"2026-09-14T16:22:22+00:00","description":"Godebug ist ein neuer interaktiver Debugger f\u00fcr Go, der auf allen Plattformen funktioniert. Er nutzt Quellcode-Generierung anstelle von Syscalls. Jetzt ausprobieren","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/de\/blog\/dev-life\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","width":720,"height":448},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/vorstellung-eines-neuen-plattformuebergreifenden-debuggers-fuer-go\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/de\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.mailgun.com\/de\/blog\/"},{"@type":"ListItem","position":3,"name":"Vorstellung eines plattform\u00fcbergreifenden Debuggers f\u00fcr Go"}]},{"@type":"WebSite","@id":"https:\/\/www.mailgun.com\/de\/#website","url":"https:\/\/www.mailgun.com\/de\/","name":"Transactional Email API Service For Developers | Mailgun","description":"Leistungsstarke Transaktions-E-Mail-APIs, mit denen Sie E-Mails senden, empfangen und nachverfolgen k\u00f6nnen, speziell f\u00fcr Entwickler konzipiert. Erfahren Sie noch heute mehr!","publisher":{"@id":"https:\/\/www.mailgun.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mailgun.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.mailgun.com\/de\/#organization","name":"Transactional Email API Service For Developers | Mailgun","url":"https:\/\/www.mailgun.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","width":512,"height":512,"caption":"Transactional Email API Service For Developers | Mailgun"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/19895","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/users\/13"}],"version-history":[{"count":0,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/19895\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media\/3952"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media?parent=19895"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog_category?post=19895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}