{"id":2406,"date":"2023-06-11T18:02:36","date_gmt":"2023-06-11T18:02:36","guid":{"rendered":"http:\/\/www.goncalo.pt\/por\/?p=2406"},"modified":"2023-10-07T02:46:56","modified_gmt":"2023-10-07T02:46:56","slug":"2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind","status":"publish","type":"post","link":"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/","title":{"rendered":"2023-06-11 &#8211; Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind&#8230;"},"content":{"rendered":"\n<p>Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind:<\/p>\n\n\n\n<p>Hoje partilho isto mais para amigos, para mostrar que o C++, apesar de ser super poderoso enquanto linguagem de programa\u00e7\u00e3o, tem algumas dificuldades que j\u00e1 todos conhecem, como a gest\u00e3o manual de mem\u00f3ria.<\/p>\n\n\n\n<p>E isto porque tenho andado super ocupado, sem tempo para outros projectos, por isso vou dando retoques finais \u00e0 vers\u00e3o nova (com GUI) do meu software de forma\u00e7\u00e3o &#8220;Knowledge Tester&#8221; (que original o nome!).<\/p>\n\n\n\n<p>Isto faz com que, mesmo que tentemos usar o menos poss\u00edvel a cria\u00e7\u00e3o de objectos na mem\u00f3ria heap (exemplo: com keywords \u201cnew\u201d), \u00e9 normal ao programarmos r\u00e1pido, termos algumas memory leaks a serem corrigidas.<\/p>\n\n\n\n<p>Eu n\u00e3o tenho tido tempo para nada hoje em dia, e programo \u00e0 pressa, e por vezes tenho mesmo de criar objectos na mem\u00f3ria heap, e quando isso acontece, no fim, acabo por usar programas como o Memcheck da Valgrind, para varrer o programa e ver onde ocorrem as falhas de mem\u00f3ria.<\/p>\n\n\n\n<p>Normalmente, deixamos o execut\u00e1ver ter todos os s\u00edmbolos, para que o programa nos ajude a identificar onde (em que ficheiro, linha, c\u00f3digo, etc), ocorre uma determinada leakage de mem\u00f3ria.<\/p>\n\n\n\n<p>O GDB n\u00e3o basta para isto, esse \u00e9 usado por vezes por alguns para fazer debugging ao programa (eu normalmente nem o uso, trabalho de outra forma), mas o Memcheck da Valgrind, ou como eu lhe chamo: \u201cO Valgrind\u201d, \u00e9 excelente neste sentido.<\/p>\n\n\n\n<p>Aqui estava eu a ver se existiam memory leaks graves por eu ter feito isto \u00e0 pressa, e corrigi tudo o que aparecia de importante, e o resto deixo para o Futuro.<\/p>\n\n\n\n<p>Aten\u00e7\u00e3o que h\u00e1 ali coisitas para corrigir hahaha, mas deixo isso para o ano que vem, pois quero estar um ano e meio sem voltar a mexer nisto, e elas n\u00e3o s\u00e3o graves.<\/p>\n\n\n\n<p>E notem que o possibly lost n\u00e3o \u00e9 s\u00e9rio, deve-se tamb\u00e9m a eu brincar com pointers de tal maneira que o programa n\u00e3o consegue ter certezas sobre se algo foi perdido ou n\u00e3o, mas n\u00e3o escapou ao meu controlo. E relembro que h\u00e1 sempre alguma fragmenta\u00e7\u00e3o n\u00e3o grave de mem\u00f3ria neste caso que \u00e9 aceit\u00e1vel dada a natureza do programa. E j\u00e1 agora, os 69% do CPU quando usado, com 8 cores, corresponde apenas a 8.6% do CPU quando em esfor\u00e7o, num port\u00e1til apenas I5 e com v\u00e1rios anos. \ud83d\ude42<\/p>\n\n\n\n<p>Pois relembro que programar em C++ ou C, n\u00e3o \u00e9 t\u00e3o f\u00e1cil quanto nas linguagens mais simples como Java, C#, Python, etc, \u00e9 bastante mais complexo, e tudo \u00e9 mais complexo, n\u00e3o apenas a gest\u00e3o da mem\u00f3ria (que nas outras \u00e9 autom\u00e1tica), como a detec\u00e7\u00e3o de erros (que nas outras indicam onde est\u00e1 o erro ao vez de vos darem potenciais milhares de linhas de c\u00f3digo de erro que n\u00e3o dizem nada, por faltar uma simples chaveta), a abstrac\u00e7\u00e3o do c\u00f3digo, o ter de saber como o hardware funciona, o lidar com hardware (low-level), a sintaxe, a complexidade, etc, e neste caso, podemos ver como \u00e9 o processo de busca de memory leaks, coisa que n\u00e3o teriam nunca de se preocupar muito se usarem C# ou Java ou outros.<\/p>\n\n\n\n<p>Tinha no canto inferior direito o Bubble Bobble, pois tenho adorado jogar a isto nos \u00faltimos tempos (vers\u00e3o PC neste caso), e o meu programa Knowledge Tester, que est\u00e1 mais r\u00e1pido e sem crashes poss\u00edveis.<\/p>\n\n\n\n<p>Isto tudo com o maravilhoso sistema operativo Linux (Fedora 35 neste caso, que ainda n\u00e3o me dei ao trabalho de fazer upgrade ao mesmo).<\/p>\n\n\n\n<p>Um dia partilho algo mais, quando tiver tempo. ?<\/p>\n\n\n\n<p>Hasta!<\/p>\n\n\n\n<p>2023-06-11.<\/p>\n\n\n\n<p>Partilhado no mesmo dia no LinkedIn, no mesmo dia, em:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/feed\/update\/urn:li:share:7073726042393198592\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.linkedin.com\/feed\/update\/urn:li:share:7073726042393198592\/<\/a><\/p>\n\n\n\n<p>Post anterior, sobre o estado do desenvolvimento, em 2023-06-03, em:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-goncalo-ferreira wp-block-embed-goncalo-ferreira\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"ZKDJIANHMn\"><a href=\"http:\/\/www.goncalo.pt\/por\/2023\/06\/03\/2023-06-03-estado-de-desenvolvimento-do-knowledge-tester-em-c\/\">2023-06-03 &#8211; Estado de desenvolvimento do Knowledge Tester, em C++&#8230;<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;2023-06-03 &#8211; Estado de desenvolvimento do Knowledge Tester, em C++&#8230;&#8221; &#8212; Gon\u00e7alo Ferreira\" src=\"http:\/\/www.goncalo.pt\/por\/2023\/06\/03\/2023-06-03-estado-de-desenvolvimento-do-knowledge-tester-em-c\/embed\/#?secret=ZKDJIANHMn\" data-secret=\"ZKDJIANHMn\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Post seguinte do mesmo projecto, em:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-goncalo-ferreira wp-block-embed-goncalo-ferreira\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"Q4ci4MXD7z\"><a href=\"https:\/\/www.goncalo.pt\/por\/2023\/06\/21\/2023-06-21-exercicios-de-programacao-em-multiplas-linguagens-no-meu-knowledge-tester-em-c-c\/\">2023-06-21 &#8211; Exerc\u00edcios de Programa\u00e7\u00e3o em m\u00faltiplas linguagens, no meu Knowledge Tester, em C\/C++&#8230;<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;2023-06-21 &#8211; Exerc\u00edcios de Programa\u00e7\u00e3o em m\u00faltiplas linguagens, no meu Knowledge Tester, em C\/C++&#8230;&#8221; &#8212; Gon\u00e7alo Ferreira\" src=\"https:\/\/www.goncalo.pt\/por\/2023\/06\/21\/2023-06-21-exercicios-de-programacao-em-multiplas-linguagens-no-meu-knowledge-tester-em-c-c\/embed\/#?secret=Q4ci4MXD7z\" data-secret=\"Q4ci4MXD7z\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"http:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project-1024x576.png\" alt=\"2023-06-11 - Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind...\" class=\"wp-image-2407\" srcset=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project-1024x576.png?v=1686506692 1024w, https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project-300x169.png?v=1686506692 300w, https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project-768x432.png?v=1686506692 768w, https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project-1536x864.png?v=1686506692 1536w, https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project.png?v=1686506692 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>2023-06-11 &#8211; Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind&#8230;<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind: Hoje partilho isto mais para amigos, para<\/p>\n","protected":false},"author":1,"featured_media":2407,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[198,197,5,3,4,238],"tags":[249,151,207,203,206,247,248,8,24,23,230,9,231,10,235,253,251,120,239,252],"class_list":["post-2406","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-formacao","category-linux","category-programacao","category-projectos","category-softwares","category-top-formacao","tag-csv","tag-debugging","tag-dev","tag-ensino","tag-estudo","tag-exames","tag-exportacao-csv","tag-formacao","tag-game-dev","tag-game-engine","tag-gui","tag-knowledge-tester","tag-libraria-gui","tag-linux","tag-low-level","tag-memcheck","tag-memory-leaks","tag-programacao","tag-softwares-c","tag-valgrind"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>2023-06-11 - Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind... - Gon\u00e7alo Ferreira<\/title>\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.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"2023-06-11 - Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind... - Gon\u00e7alo Ferreira\" \/>\n<meta property=\"og:description\" content=\"Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind: Hoje partilho isto mais para amigos, para\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/\" \/>\n<meta property=\"og:site_name\" content=\"Gon\u00e7alo Ferreira\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-11T18:02:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-07T02:46:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project.png?v=1686506692\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"gnmf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"gnmf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/\"},\"author\":{\"name\":\"gnmf\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd\"},\"headline\":\"2023-06-11 &#8211; Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind&#8230;\",\"datePublished\":\"2023-06-11T18:02:36+00:00\",\"dateModified\":\"2023-10-07T02:46:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/\"},\"wordCount\":708,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project.png?v=1686506692\",\"keywords\":[\"CSV\",\"Debugging\",\"Dev\",\"Ensino\",\"Estudo\",\"Exames\",\"Exporta\u00e7\u00e3o CSV\",\"Forma\u00e7\u00e3o\",\"Game Dev\",\"Game Engine\",\"GUI\",\"Knowledge Tester\",\"Libraria GUI\",\"Linux\",\"Low-Level\",\"Memcheck\",\"Memory Leaks\",\"Programa\u00e7\u00e3o\",\"Softwares C++\",\"Valgrind\"],\"articleSection\":[\"Forma\u00e7\u00e3o\",\"Linux\",\"Programa\u00e7\u00e3o\",\"Projectos\",\"Softwares\",\"Top Forma\u00e7\u00e3o\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/\",\"url\":\"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/\",\"name\":\"2023-06-11 - Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind... - Gon\u00e7alo Ferreira\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project.png?v=1686506692\",\"datePublished\":\"2023-06-11T18:02:36+00:00\",\"dateModified\":\"2023-10-07T02:46:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#primaryimage\",\"url\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project.png?v=1686506692\",\"contentUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project.png?v=1686506692\",\"width\":1920,\"height\":1080,\"caption\":\"2023-06-11 - Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind...\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.goncalo.pt\/por\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"2023-06-11 &#8211; Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind&#8230;\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#website\",\"url\":\"https:\/\/www.goncalo.pt\/por\/\",\"name\":\"Gon\u00e7alo Ferreira\",\"description\":\"[Game Engine\/Software\/Simulation\/Trading Systems\/Full Stack] Developer, Musician, Composer, Painter, Writer, IT Trainer, Sys Admin, Ex-Trader, Skater, Strongman, Vegan, Self-Taught Neuro-Divergent Polymath, and 1001 things more. Welcome to my world!\",\"publisher\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.goncalo.pt\/por\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\",\"name\":\"Gon\u00e7alo Ferreira\",\"url\":\"https:\/\/www.goncalo.pt\/por\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png\",\"contentUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png\",\"width\":389,\"height\":90,\"caption\":\"Gon\u00e7alo Ferreira\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"http:\/\/www.linkedin.com\/in\/GoncaloPT\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd\",\"name\":\"gnmf\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g\",\"caption\":\"gnmf\"},\"sameAs\":[\"http:\/\/www.goncalo.pt\/por\"],\"url\":\"https:\/\/www.goncalo.pt\/por\/author\/gnmf\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"2023-06-11 - Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind... - Gon\u00e7alo Ferreira","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.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/","og_locale":"en_US","og_type":"article","og_title":"2023-06-11 - Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind... - Gon\u00e7alo Ferreira","og_description":"Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind: Hoje partilho isto mais para amigos, para","og_url":"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/","og_site_name":"Gon\u00e7alo Ferreira","article_published_time":"2023-06-11T18:02:36+00:00","article_modified_time":"2023-10-07T02:46:56+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project.png?v=1686506692","type":"image\/png"}],"author":"gnmf","twitter_card":"summary_large_image","twitter_misc":{"Written by":"gnmf","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#article","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/"},"author":{"name":"gnmf","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd"},"headline":"2023-06-11 &#8211; Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind&#8230;","datePublished":"2023-06-11T18:02:36+00:00","dateModified":"2023-10-07T02:46:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/"},"wordCount":708,"commentCount":0,"publisher":{"@id":"https:\/\/www.goncalo.pt\/por\/#organization"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project.png?v=1686506692","keywords":["CSV","Debugging","Dev","Ensino","Estudo","Exames","Exporta\u00e7\u00e3o CSV","Forma\u00e7\u00e3o","Game Dev","Game Engine","GUI","Knowledge Tester","Libraria GUI","Linux","Low-Level","Memcheck","Memory Leaks","Programa\u00e7\u00e3o","Softwares C++","Valgrind"],"articleSection":["Forma\u00e7\u00e3o","Linux","Programa\u00e7\u00e3o","Projectos","Softwares","Top Forma\u00e7\u00e3o"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/","url":"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/","name":"2023-06-11 - Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind... - Gon\u00e7alo Ferreira","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#primaryimage"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project.png?v=1686506692","datePublished":"2023-06-11T18:02:36+00:00","dateModified":"2023-10-07T02:46:56+00:00","breadcrumb":{"@id":"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#primaryimage","url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project.png?v=1686506692","contentUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/06\/2023-06-11-Searching-for-memory-leaks-using-Valgrind-on-my-Cpp-training-project.png?v=1686506692","width":1920,"height":1080,"caption":"2023-06-11 - Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind..."},{"@type":"BreadcrumbList","@id":"https:\/\/www.goncalo.pt\/por\/2023\/06\/11\/2023-06-11-procurando-memory-leaks-no-knowledge-tester-em-c-com-o-memcheck-da-valgrind\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.goncalo.pt\/por\/"},{"@type":"ListItem","position":2,"name":"2023-06-11 &#8211; Procurando Memory Leaks no Knowledge Tester em C++ com o Memcheck da Valgrind&#8230;"}]},{"@type":"WebSite","@id":"https:\/\/www.goncalo.pt\/por\/#website","url":"https:\/\/www.goncalo.pt\/por\/","name":"Gon\u00e7alo Ferreira","description":"[Game Engine\/Software\/Simulation\/Trading Systems\/Full Stack] Developer, Musician, Composer, Painter, Writer, IT Trainer, Sys Admin, Ex-Trader, Skater, Strongman, Vegan, Self-Taught Neuro-Divergent Polymath, and 1001 things more. Welcome to my world!","publisher":{"@id":"https:\/\/www.goncalo.pt\/por\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.goncalo.pt\/por\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.goncalo.pt\/por\/#organization","name":"Gon\u00e7alo Ferreira","url":"https:\/\/www.goncalo.pt\/por\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/","url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png","contentUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png","width":389,"height":90,"caption":"Gon\u00e7alo Ferreira"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/www.linkedin.com\/in\/GoncaloPT\/"]},{"@type":"Person","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd","name":"gnmf","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g","caption":"gnmf"},"sameAs":["http:\/\/www.goncalo.pt\/por"],"url":"https:\/\/www.goncalo.pt\/por\/author\/gnmf\/"}]}},"_links":{"self":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/2406"}],"collection":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/comments?post=2406"}],"version-history":[{"count":8,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/2406\/revisions"}],"predecessor-version":[{"id":2426,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/2406\/revisions\/2426"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media\/2407"}],"wp:attachment":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media?parent=2406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/categories?post=2406"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/tags?post=2406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}