{"id":6293,"date":"2018-01-15T16:09:38","date_gmt":"2018-01-15T18:09:38","guid":{"rendered":"http:\/\/gianfratti.com\/?p=6293"},"modified":"2018-01-15T16:09:38","modified_gmt":"2018-01-15T18:09:38","slug":"trabalhando-com-condicionais-de-breakpoint-com-c","status":"publish","type":"post","link":"https:\/\/gianfratti.com\/index.php\/trabalhando-com-condicionais-de-breakpoint-com-c\/","title":{"rendered":"Trabalhando com condicionais de breakpoint com c#"},"content":{"rendered":"<p><span id=\"result_box\" lang=\"pt\">Considere um caso em que voc\u00ea tenha um loop para iterar atrav\u00e9s de milhares de registros. Voc\u00ea sabe que seus registros em torno da 500 itera\u00e7\u00e3o est\u00e3o corrompidos ou mal funcionais e voc\u00ea precisa depurar esse valor. A\u00ed voc\u00ea se pega em uma d\u00favida:\u00a0 Voc\u00ea vai continuar pressionando F5 at\u00e9 atingir o n\u00famero de registro 500? Claramente temos uma melhor maneira de realizar este tipo de trabalho com o Visual Studio. Aqui \u00e9 onde voc\u00ea pode usar um ponto de interrup\u00e7\u00e3o condicional. Isso \u00e9 feito configurando a condi\u00e7\u00e3o de Contagem de Bits no ponto de interrup\u00e7\u00e3o, em outras palavras, acerte o ponto de interrup\u00e7\u00e3o quando iterou 499 vezes.<\/span><!--more--><\/p>\n<p>Vamos criar um aplicativo de exemplo para entender isso. Adicione um loop for com uma itera\u00e7\u00e3o de 1000 registros e adicione uma condi\u00e7\u00e3o para acertar o ponto de interrup\u00e7\u00e3o quando a 500\u00aa grava\u00e7\u00e3o est\u00e1 sendo iterada.<\/p>\n<p>Para adicionar a condi\u00e7\u00e3o, clique com o bot\u00e3o direito do mouse no ponto de interrup\u00e7\u00e3o e selecione a condi\u00e7\u00e3o de \u201cHit Count\u201d.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6294\" src=\"http:\/\/gianfratti.com\/wp-content\/uploads\/2018\/01\/breakpoint01.jpg\" alt=\"\" width=\"650\" height=\"460\" srcset=\"https:\/\/gianfratti.com\/wp-content\/uploads\/2018\/01\/breakpoint01.jpg 650w, https:\/\/gianfratti.com\/wp-content\/uploads\/2018\/01\/breakpoint01-170x120.jpg 170w, https:\/\/gianfratti.com\/wp-content\/uploads\/2018\/01\/breakpoint01-300x212.jpg 300w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/p>\n<p><span id=\"result_box\" lang=\"pt\">sso abrir\u00e1 uma janela onde podemos definir uma condi\u00e7\u00e3o para atingir o ponto de interrup\u00e7\u00e3o somente quando ele atende aos crit\u00e9rios definidos para sua execu\u00e7\u00e3o. Aqui temos 4 condi\u00e7\u00f5es e s\u00e3o auto-explicativas. Ent\u00e3o selecionamos a condi\u00e7\u00e3o para parar quando o \u201chit count\u201d \u00e9 igual ao valor X e ajuste seu valor para 500.<\/span><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6295\" src=\"http:\/\/gianfratti.com\/wp-content\/uploads\/2018\/01\/breakpoint02.jpg\" alt=\"\" width=\"572\" height=\"237\" srcset=\"https:\/\/gianfratti.com\/wp-content\/uploads\/2018\/01\/breakpoint02.jpg 572w, https:\/\/gianfratti.com\/wp-content\/uploads\/2018\/01\/breakpoint02-300x124.jpg 300w\" sizes=\"auto, (max-width: 572px) 100vw, 572px\" \/><\/p>\n<p><span id=\"result_box\" lang=\"pt\">Passe o mouse em cima do ponto de interrup\u00e7\u00e3o e veja os detalhes ali contidos.<\/span><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6296\" src=\"http:\/\/gianfratti.com\/wp-content\/uploads\/2018\/01\/breakpoint03.jpg\" alt=\"\" width=\"650\" height=\"331\" srcset=\"https:\/\/gianfratti.com\/wp-content\/uploads\/2018\/01\/breakpoint03.jpg 650w, https:\/\/gianfratti.com\/wp-content\/uploads\/2018\/01\/breakpoint03-300x153.jpg 300w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/p>\n<p><span id=\"result_box\" lang=\"pt\">Execute o aplicativo e veja o valor da vari\u00e1vel \u2018i\u2019, quando o ponto de interrup\u00e7\u00e3o for atingido.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6297\" src=\"http:\/\/gianfratti.com\/wp-content\/uploads\/2018\/01\/breakpoint04.jpg\" alt=\"\" width=\"602\" height=\"364\" srcset=\"https:\/\/gianfratti.com\/wp-content\/uploads\/2018\/01\/breakpoint04.jpg 602w, https:\/\/gianfratti.com\/wp-content\/uploads\/2018\/01\/breakpoint04-300x181.jpg 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/span><\/p>\n<p><span id=\"result_box\" lang=\"pt\">Ent\u00e3o, aqui quando o valor de i se torna 499 (a partir de 0), ele est\u00e1 iterando a 500\u00aa grava\u00e7\u00e3o e o ponto de interrup\u00e7\u00e3o \u00e9 atingido. Defina o ponto de interrup\u00e7\u00e3o e aproveite a depura\u00e7\u00e3o!<\/span><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Considere um caso em que voc\u00ea tenha um loop para iterar atrav\u00e9s de milhares de registros. Voc\u00ea sabe que seus registros em torno da 500 itera\u00e7\u00e3o est\u00e3o corrompidos ou mal funcionais e voc\u00ea precisa depurar esse valor. A\u00ed voc\u00ea se pega em uma d\u00favida:\u00a0 Voc\u00ea vai continuar pressionando F5 at\u00e9 atingir o n\u00famero de registro <span class=\"ellipsis\">&hellip;<\/span> <span class=\"more-link-wrap\"><a href=\"https:\/\/gianfratti.com\/index.php\/trabalhando-com-condicionais-de-breakpoint-com-c\/\" class=\"more-link\"><span>Read More &rarr;<\/span><\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2,170,20,184,185],"tags":[],"class_list":["post-6293","post","type-post","status-publish","format-standard","hentry","category-net-framework","category-arquitetura","category-dicas","category-produtividade","category-visual-studio"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/gianfratti.com\/index.php\/wp-json\/wp\/v2\/posts\/6293","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gianfratti.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gianfratti.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gianfratti.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gianfratti.com\/index.php\/wp-json\/wp\/v2\/comments?post=6293"}],"version-history":[{"count":1,"href":"https:\/\/gianfratti.com\/index.php\/wp-json\/wp\/v2\/posts\/6293\/revisions"}],"predecessor-version":[{"id":6298,"href":"https:\/\/gianfratti.com\/index.php\/wp-json\/wp\/v2\/posts\/6293\/revisions\/6298"}],"wp:attachment":[{"href":"https:\/\/gianfratti.com\/index.php\/wp-json\/wp\/v2\/media?parent=6293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gianfratti.com\/index.php\/wp-json\/wp\/v2\/categories?post=6293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gianfratti.com\/index.php\/wp-json\/wp\/v2\/tags?post=6293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}