{"id":19990,"date":"2026-09-14T21:17:37","date_gmt":"2026-09-14T21:17:37","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/presentation-nouveau-debogueur-multiplateforme-go\/"},"modified":"2026-09-14T21:17:37","modified_gmt":"2026-09-14T21:17:37","slug":"presentation-nouveau-debogueur-multiplateforme-go","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/presentation-nouveau-debogueur-multiplateforme-go\/","title":{"rendered":"Pr\u00e9sentation d&rsquo;un d\u00e9bogueur multiplateforme pour Go"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Nous utilisons Go pour une grande partie de notre d\u00e9veloppement de serveurs ici chez Mailgun, et c&rsquo;est g\u00e9nial. Cependant, venant de Python, il y a une chose qui m&rsquo;a vraiment manqu\u00e9\u00a0:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je pouvais ins\u00e9rer cette petite ligne chaque fois que je ne comprenais pas ce qui se passait dans le code pour voir exactement ce qu&rsquo;il en \u00e9tait. Mais avec Go\u00a0? Pas vraiment. Lorsque j&rsquo;ai commenc\u00e9 ce projet en janvier, gdb a \u00e9chou\u00e9 sur tous les programmes sur lesquels je l&rsquo;ai essay\u00e9. delve ne fonctionnait pas sous OS X, et le d\u00e9bogage avec print \u00e9tait trop lent et limit\u00e9. Que faire dans ce cas\u00a0?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cr\u00e9er mon propre d\u00e9bogueur, bien s\u00fbr.<\/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-5358\"><p class=\"h5 m-0\" id=\"toc-title-5358\">Table des mati\u00e8res<\/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=\"#comment-cela-a-t-il-fonctionne\">Comment cela a-t-il fonctionn\u00e9\u00a0?<\/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=\"#utiliser-godebug\">Utiliser godebug<\/a><a class=\"scrollme link-body-color\" href=\"#etape-1-installation\">\u00c9tape\u00a01. Installation<\/a><a class=\"scrollme link-body-color\" href=\"#etape-2-definir-des-points-darret\">\u00c9tape\u00a02. D\u00e9finir des points d&rsquo;arr\u00eat<\/a><a class=\"scrollme link-body-color\" href=\"#etape-3-executer-votre-programme\">\u00c9tape 3. Ex\u00e9cuter votre programme<\/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=\"#a-vous-dessayer\">\u00c0 vous d&rsquo;essayer\u00a0!<\/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-e829e463b4ae4f022f102074b1458e0f\">\r\n            La seule chose qui s&rsquo;oppose [\u00e0 un bon d\u00e9bogueur Go] est l&rsquo;\u00e9criture de beaucoup de code de bas niveau non portable communiquant avec des interfaces non document\u00e9es et bogu\u00e9es.        <\/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-e829e463b4ae4f022f102074b1458e0f\">\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>\u00a0est un autre type de d\u00e9bogueur. Les d\u00e9bogueurs traditionnels pour les langages compil\u00e9s utilisent des appels syst\u00e8me de bas niveau et lisent des fichiers binaires pour rechercher des symboles de d\u00e9bogage. Ils sont difficiles \u00e0 configurer correctement et difficiles \u00e0 porter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">godebug adopte une approche diff\u00e9rente\u00a0: il prend le code source d&rsquo;un programme cible, ins\u00e8re du code de d\u00e9bogage entre chaque ligne, puis le compile et l&rsquo;ex\u00e9cute \u00e0 la place. Le r\u00e9sultat est un d\u00e9bogueur enti\u00e8rement fonctionnel et extr\u00eamement portable. En fait, gr\u00e2ce \u00e0\u00a0<a href=\"http:\/\/www.gopherjs.org\/\">gopherjs<\/a>, vous pouvez l&rsquo;ex\u00e9cuter directement ici dans votre navigateur\u00a0!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pouvez modifier le programme et le relancer avec le bouton \u00ab\u00a0DEBUG IT\u00a0!\u00a0\u00bb autant de fois que vous le souhaitez.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comment cela a-t-il fonctionn\u00e9\u00a0?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Voici un sch\u00e9ma rapide de la d\u00e9mo ci-dessus\u00a0:<\/p>\n\n\n\n\n\n<p class=\"wp-block-paragraph\">Le code d&rsquo;origine est transform\u00e9 deux fois. Tout d&rsquo;abord, godebug\u00a0ins\u00e8re l&rsquo;instrumentation de d\u00e9bogage. Ensuite, gopherjs compile le r\u00e9sultat en JavaScript.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Examinons l&rsquo;\u00e9tape d&rsquo;instrumentation. (Pour en savoir plus sur la partie gopherjs (qui est g\u00e9niale), consultez son\u00a0<a href=\"http:\/\/www.gopherjs.org\/\">site web<\/a>.) Voici quelques-uns des appels que godebug ins\u00e8re\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>godebug.EnterFunc\u00a0<\/code>indique \u00e0 la biblioth\u00e8que d&rsquo;ex\u00e9cution de godebug que nous entrons dans une fonction. Puisque la commande \u00ab\u00a0next\u00a0\u00bb ne s&rsquo;arr\u00eate pas \u00e0 l&rsquo;int\u00e9rieur des appels de fonction, la biblioth\u00e8que d&rsquo;ex\u00e9cution prend note de ces appels pour savoir quand ignorer des lignes.<\/li>\n\n\n\n<li><code>godebug.ExitFunc\u00a0<\/code>indique \u00e0 la biblioth\u00e8que d&rsquo;ex\u00e9cution que nous quittons une fonction. Omis dans\u00a0<code>main<\/code>.<\/li>\n\n\n\n<li><code>godebug.Line\u00a0<\/code>met le programme en pause et attend une saisie si, et seulement si, une commande utilisateur ou un point d&rsquo;arr\u00eat le lui a demand\u00e9. Lorsqu&rsquo;il est en pause, il demande une saisie et r\u00e9pond \u00e0 toutes les commandes.<\/li>\n\n\n\n<li><code>godebug.Declare\u00a0<\/code>enregistre la correspondance entre les noms des variables et leurs valeurs. Cette correspondance est utilis\u00e9e par la commande print.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Il s&rsquo;agit d&rsquo;un aper\u00e7u abr\u00e9g\u00e9. Il y a d&rsquo;autres fonctions que godebug ins\u00e8re, et de nombreux d\u00e9tails concernant les fonctions ci-dessus ont \u00e9t\u00e9 omis. Mais ce sont les \u00e9l\u00e9ments de base du fonctionnement de godebug.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Utiliser godebug<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tout ce qui pr\u00e9c\u00e8de (moins la partie serveur et JavaScript) est regroup\u00e9 dans l&rsquo;outil de ligne de commande\u00a0<code>godebug<\/code>. Voici comment l&rsquo;utiliser\u00a0:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><em>\u00c9tape\u00a01. Installation<\/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>\u00c9tape\u00a02. D\u00e9finir des points d&rsquo;arr\u00eat<\/em><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ajoutez ce marqueur partout o\u00f9 vous souhaitez un point d&rsquo;arr\u00eat\u00a0:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>_ = \"breakpoint\"<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette instruction devient un point d&rsquo;arr\u00eat lorsqu&rsquo;elle est ex\u00e9cut\u00e9e sous godebug, et n&rsquo;a aucun effet sinon.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puisque les points d&rsquo;arr\u00eat font partie du code source, vous pouvez les entourer de votre propre logique. Disons que vous ex\u00e9cutez un\u00a0<a href=\"http:\/\/dave.cheney.net\/2013\/06\/09\/writing-table-driven-tests-in-go\">test pilot\u00e9 par un tableau<\/a>\u00a0avec des dizaines de cas, et que l&rsquo;un d&rsquo;eux \u00e9choue\u00a0: celui qui a test\u00e9 l&rsquo;entr\u00e9e\u00a0<code>\\\"weird string\\\"<\/code>. Vous pouvez ajouter ce point d&rsquo;arr\u00eat \u00e0 votre test\u00a0:<\/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>\u00a0mettra le programme en pause \u00e0 l&rsquo;instruction du marqueur, id\u00e9alement plac\u00e9e juste avant l&rsquo;ex\u00e9cution du cas de test qui \u00e9choue.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><em>\u00c9tape 3. Ex\u00e9cuter votre programme<\/em><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Utilisez la commande godebug run\u00a0:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>godebug run <\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ou, pour les tests, utilisez la commande godebug test\u00a0:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>godebug test<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Par d\u00e9faut, godebug n&rsquo;ajoutera l&rsquo;instrumentation de d\u00e9bogage qu&rsquo;au package main (pour godebug run) ou au package en cours de test (pour godebug test). Il n&rsquo;instrumentera aucun package import\u00e9. Cela permet de r\u00e9duire la charge du d\u00e9bogueur\u00a0: tous les packages qui ne vous int\u00e9ressent pas s&rsquo;ex\u00e9cuteront normalement, \u00e0 pleine vitesse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cela signifie que\u00a0<strong>par d\u00e9faut, vous ne pouvez pas entrer dans les appels de fonction depuis des packages import\u00e9s<\/strong>. Mais il vous arrivera parfois d&rsquo;en avoir besoin\u00a0! Pour d\u00e9boguer d&rsquo;autres packages, passez l&rsquo;indicateur\u00a0<code>-instrument<\/code>\u00a0\u00e0\u00a0<code>godebug run<\/code>\u00a0ou\u00a0<code>godebug test<\/code>\u00a0:<\/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\">La commande ci-dessus instrumentera (et vous permettra ainsi d&rsquo;entrer dans)\u00a0<code>pkgA<\/code>,\u00a0<code>pkgB<\/code>,\u00a0<code>pkgC<\/code> et\u00a0<code>pkg\/under\/test<\/code>. Elle compilera et ex\u00e9cutera ensuite les tests pour\u00a0<code>pkg\/under\/test<\/code>. Une logique similaire s&rsquo;applique pour\u00a0<code>godebug run<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c0 vous d&rsquo;essayer\u00a0!<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La prochaine fois que vous voudrez comprendre ce qui se passe dans un programme Go, essayez\u00a0<a href=\"https:\/\/github.com\/mailgun\/godebug\">godebug<\/a>. Gardez \u00e0 l&rsquo;esprit qu&rsquo;il s&rsquo;agit encore d&rsquo;un outil r\u00e9cent qui a besoin d&rsquo;\u00eatre perfectionn\u00e9. Plus particuli\u00e8rement, certaines de ses limitations connues sont les suivantes\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>impact sur les performances<\/li>\n\n\n\n<li>peut causer des conflits de lecture si votre programme lit depuis stdin<\/li>\n\n\n\n<li>impossibilit\u00e9 de s&rsquo;attacher \u00e0 un processus en cours d&rsquo;ex\u00e9cution<\/li>\n\n\n\n<li>obligation de conna\u00eetre les packages que vous souhaitez d\u00e9boguer avant de d\u00e9marrer la session<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Cela dit, je suis ravi de cet outil et j&rsquo;esp\u00e8re qu&rsquo;il apportera beaucoup de valeur \u00e0 la communaut\u00e9 Go. Essayez-le et dites-moi ce que vous en pensez\u00a0! Si vous rencontrez des probl\u00e8mes, n&rsquo;h\u00e9sitez pas \u00e0 m&rsquo;en faire part. Signalez un probl\u00e8me sur\u00a0<a href=\"https:\/\/github.com\/mailgun\/godebug\/issues\">https:\/\/github.com\/mailgun\/godebug\/issues<\/a>\u00a0ou envoyez un email \u00e0\u00a0: dev@godebug.rocks<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En esp\u00e9rant qu&rsquo;il vous plaise\u00a0!<\/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>Vous souhaitez en savoir plus sur godebug\u00a0? Voici une pr\u00e9sentation que j&rsquo;ai donn\u00e9e \u00e0 GoSF, abordant plus en d\u00e9tail la g\u00e9n\u00e9ration de code et la gestion de la concurrence\u00a0:<\/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=\"fr\" 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>Nous utilisons Go pour une grande partie de notre d\u00e9veloppement de serveurs ici chez Mailgun, et c&rsquo;est g\u00e9nial. Cependant, venant de Python, il y a une chose qui m&rsquo;a vraiment manqu\u00e9\u00a0:<\/p>\n","protected":false},"author":13,"featured_media":3952,"menu_order":0,"template":"","meta":{"_acf_changed":true,"footnotes":""},"blog_category":[19],"class_list":["post-19990","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>Pr\u00e9sentation d&#039;un d\u00e9bogueur multiplateforme pour Go - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"Godebug est un nouveau d\u00e9bogueur interactif pour Go qui fonctionne sur toutes les plateformes. Il utilise la g\u00e9n\u00e9ration de code source au lieu des appels syst\u00e8me. Essayez-le d\u00e8s maintenant\u00a0!\" \/>\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\/fr\/blog\/dev-life\/presentation-nouveau-debogueur-multiplateforme-go\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pr\u00e9sentation d&#039;un d\u00e9bogueur multiplateforme pour Go - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Godebug est un nouveau d\u00e9bogueur interactif pour Go qui fonctionne sur toutes les plateformes. Il utilise la g\u00e9n\u00e9ration de code source au lieu des appels syst\u00e8me. Essayez-le d\u00e8s maintenant\u00a0!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/presentation-nouveau-debogueur-multiplateforme-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 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/presentation-nouveau-debogueur-multiplateforme-go\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/presentation-nouveau-debogueur-multiplateforme-go\\\/\",\"name\":\"Pr\u00e9sentation d'un d\u00e9bogueur multiplateforme pour Go - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/presentation-nouveau-debogueur-multiplateforme-go\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/presentation-nouveau-debogueur-multiplateforme-go\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"datePublished\":\"2026-09-14T21:17:37+00:00\",\"description\":\"Godebug est un nouveau d\u00e9bogueur interactif pour Go qui fonctionne sur toutes les plateformes. Il utilise la g\u00e9n\u00e9ration de code source au lieu des appels syst\u00e8me. Essayez-le d\u00e8s maintenant\u00a0!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/presentation-nouveau-debogueur-multiplateforme-go\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/presentation-nouveau-debogueur-multiplateforme-go\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/presentation-nouveau-debogueur-multiplateforme-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\\\/fr\\\/blog\\\/dev-life\\\/presentation-nouveau-debogueur-multiplateforme-go\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Pr\u00e9sentation d\u2019un d\u00e9bogueur multiplateforme pour Go\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"description\":\"Des API d\u2019emails transactionnels puissantes qui vous permettent d'envoyer, de recevoir et de suivre des emails, con\u00e7ues pour les d\u00e9veloppeurs. En savoir plus d\u00e8s aujourd'hui !\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#organization\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#\\\/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\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pr\u00e9sentation d'un d\u00e9bogueur multiplateforme pour Go - Transactional Email API Service For Developers | Mailgun","description":"Godebug est un nouveau d\u00e9bogueur interactif pour Go qui fonctionne sur toutes les plateformes. Il utilise la g\u00e9n\u00e9ration de code source au lieu des appels syst\u00e8me. Essayez-le d\u00e8s maintenant\u00a0!","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\/fr\/blog\/dev-life\/presentation-nouveau-debogueur-multiplateforme-go\/","og_locale":"fr_FR","og_type":"article","og_title":"Pr\u00e9sentation d'un d\u00e9bogueur multiplateforme pour Go - Transactional Email API Service For Developers | Mailgun","og_description":"Godebug est un nouveau d\u00e9bogueur interactif pour Go qui fonctionne sur toutes les plateformes. Il utilise la g\u00e9n\u00e9ration de code source au lieu des appels syst\u00e8me. Essayez-le d\u00e8s maintenant\u00a0!","og_url":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/presentation-nouveau-debogueur-multiplateforme-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 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/presentation-nouveau-debogueur-multiplateforme-go\/","url":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/presentation-nouveau-debogueur-multiplateforme-go\/","name":"Pr\u00e9sentation d'un d\u00e9bogueur multiplateforme pour Go - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/presentation-nouveau-debogueur-multiplateforme-go\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/presentation-nouveau-debogueur-multiplateforme-go\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","datePublished":"2026-09-14T21:17:37+00:00","description":"Godebug est un nouveau d\u00e9bogueur interactif pour Go qui fonctionne sur toutes les plateformes. Il utilise la g\u00e9n\u00e9ration de code source au lieu des appels syst\u00e8me. Essayez-le d\u00e8s maintenant\u00a0!","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/presentation-nouveau-debogueur-multiplateforme-go\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/presentation-nouveau-debogueur-multiplateforme-go\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/presentation-nouveau-debogueur-multiplateforme-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\/fr\/blog\/dev-life\/presentation-nouveau-debogueur-multiplateforme-go\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.mailgun.com\/fr\/blog\/"},{"@type":"ListItem","position":3,"name":"Pr\u00e9sentation d\u2019un d\u00e9bogueur multiplateforme pour Go"}]},{"@type":"WebSite","@id":"https:\/\/www.mailgun.com\/fr\/#website","url":"https:\/\/www.mailgun.com\/fr\/","name":"Transactional Email API Service For Developers | Mailgun","description":"Des API d\u2019emails transactionnels puissantes qui vous permettent d'envoyer, de recevoir et de suivre des emails, con\u00e7ues pour les d\u00e9veloppeurs. En savoir plus d\u00e8s aujourd'hui !","publisher":{"@id":"https:\/\/www.mailgun.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mailgun.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.mailgun.com\/fr\/#organization","name":"Transactional Email API Service For Developers | Mailgun","url":"https:\/\/www.mailgun.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mailgun.com\/fr\/#\/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\/fr\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/blog\/19990","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/users\/13"}],"version-history":[{"count":0,"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/blog\/19990\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/media\/3952"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/media?parent=19990"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/blog_category?post=19990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}