{"id":1402,"date":"2026-08-23T18:00:00","date_gmt":"2026-08-23T17:00:00","guid":{"rendered":"https:\/\/wade.one\/blog\/?p=1402"},"modified":"2026-08-23T18:00:00","modified_gmt":"2026-08-23T17:00:00","slug":"msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like","status":"publish","type":"post","link":"https:\/\/wade.one\/blog\/2026\/08\/23\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\/","title":{"rendered":"MSBuild Binlog Analyzer Is What AI Debugging Should Look Like"},"content":{"rendered":"<p>AI debugging is at its worst when a model guesses from a pasted error and confidently invents the rest of the system. It is much more useful when the model has structured evidence, purpose-built tools, and a way to prove the fix. Microsoft&#8217;s new MSBuild Binlog Analyzer is a good example of that better shape.<\/p>\n<p>The preview <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/msbuild-binlog-analyzer-vscode\/\">Binlog Analyzer for VS Code<\/a> connects Copilot Chat to a .NET MCP server that understands MSBuild binary logs. It can find failures, rank slow targets, show the critical path, compare two builds, explain incremental rebuilds, and identify package or property changes. Its answers come from the log rather than a general guess about what normally breaks.<\/p>\n<p>The verification loop is the strongest part. Copilot can apply a fix, rebuild, and load the before-and-after binlogs. Performance baselines can expose a slower target as a measured regression instead of a vague feeling that CI has become worse. The same MCP analysis engine can also run headlessly for unattended investigation in CI.<\/p>\n<p>It is still a preview and I would review any automatic fix like any other code change. The approach is right, though. Give the agent the evidence, constrain it with domain tools, and make it demonstrate the result. That is far more interesting than adding another chat box beside a wall of build output.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft&#8217;s Binlog Analyzer grounds AI answers in real build evidence and verifies fixes with before-and-after logs.<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[25],"tags":[228,160,119,227],"class_list":["post-1402","post","type-post","status-publish","format-standard","hentry","category-software-engineer","tag-build-performance","tag-dotnet","tag-github-copilot","tag-msbuild"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>MSBuild Binlog Analyzer Is What AI Debugging Should Look Like - wade.one<\/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:\/\/wade.one\/blog\/2026\/08\/23\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MSBuild Binlog Analyzer Is What AI Debugging Should Look Like - wade.one\" \/>\n<meta property=\"og:description\" content=\"Microsoft&#039;s Binlog Analyzer grounds AI answers in real build evidence and verifies fixes with before-and-after logs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wade.one\/blog\/2026\/08\/23\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\/\" \/>\n<meta property=\"og:site_name\" content=\"wade.one\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-23T17:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/Wade-Logo-cropped.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1518\" \/>\n\t<meta property=\"og:image:height\" content=\"1506\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:site\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/08\\\/23\\\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/08\\\/23\\\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\\\/\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"MSBuild Binlog Analyzer Is What AI Debugging Should Look Like\",\"datePublished\":\"2026-08-23T17:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/08\\\/23\\\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\\\/\"},\"wordCount\":231,\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"keywords\":[\"build-performance\",\"dotnet\",\"github-copilot\",\"msbuild\"],\"articleSection\":[\"Software Engineer\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/08\\\/23\\\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\\\/\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/08\\\/23\\\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\\\/\",\"name\":\"MSBuild Binlog Analyzer Is What AI Debugging Should Look Like - wade.one\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\"},\"datePublished\":\"2026-08-23T17:00:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/08\\\/23\\\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/08\\\/23\\\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/08\\\/23\\\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wade.one\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MSBuild Binlog Analyzer Is What AI Debugging Should Look Like\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/\",\"name\":\"wade.one\",\"description\":\"wade womersley - york based software engineer\",\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wade.one\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\",\"name\":\"Wade Womersley\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"width\":202,\"height\":200,\"caption\":\"Wade Womersley\"},\"logo\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MSBuild Binlog Analyzer Is What AI Debugging Should Look Like - wade.one","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:\/\/wade.one\/blog\/2026\/08\/23\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\/","og_locale":"en_GB","og_type":"article","og_title":"MSBuild Binlog Analyzer Is What AI Debugging Should Look Like - wade.one","og_description":"Microsoft's Binlog Analyzer grounds AI answers in real build evidence and verifies fixes with before-and-after logs.","og_url":"https:\/\/wade.one\/blog\/2026\/08\/23\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\/","og_site_name":"wade.one","article_published_time":"2026-08-23T17:00:00+00:00","og_image":[{"width":1518,"height":1506,"url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/Wade-Logo-cropped.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_creator":"@wadewomersley","twitter_site":"@wadewomersley","twitter_misc":{"Estimated reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wade.one\/blog\/2026\/08\/23\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\/#article","isPartOf":{"@id":"https:\/\/wade.one\/blog\/2026\/08\/23\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\/"},"author":{"name":"","@id":""},"headline":"MSBuild Binlog Analyzer Is What AI Debugging Should Look Like","datePublished":"2026-08-23T17:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/wade.one\/blog\/2026\/08\/23\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\/"},"wordCount":231,"publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"keywords":["build-performance","dotnet","github-copilot","msbuild"],"articleSection":["Software Engineer"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/wade.one\/blog\/2026\/08\/23\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\/","url":"https:\/\/wade.one\/blog\/2026\/08\/23\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\/","name":"MSBuild Binlog Analyzer Is What AI Debugging Should Look Like - wade.one","isPartOf":{"@id":"https:\/\/wade.one\/blog\/#website"},"datePublished":"2026-08-23T17:00:00+00:00","breadcrumb":{"@id":"https:\/\/wade.one\/blog\/2026\/08\/23\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wade.one\/blog\/2026\/08\/23\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wade.one\/blog\/2026\/08\/23\/msbuild-binlog-analyzer-is-what-ai-debugging-should-look-like\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wade.one\/blog\/"},{"@type":"ListItem","position":2,"name":"MSBuild Binlog Analyzer Is What AI Debugging Should Look Like"}]},{"@type":"WebSite","@id":"https:\/\/wade.one\/blog\/#website","url":"https:\/\/wade.one\/blog\/","name":"wade.one","description":"wade womersley - york based software engineer","publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wade.one\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3","name":"Wade Womersley","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","width":202,"height":200,"caption":"Wade Womersley"},"logo":{"@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png"}}]}},"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1329,"url":"https:\/\/wade.one\/blog\/2026\/06\/02\/github-copilot-coding-agent-needs-workflow-rules-not-just-access\/","url_meta":{"origin":1402,"position":0},"title":"GitHub Copilot Coding Agent Needs Workflow Rules, Not Just Access","author":"Wade","date":"June 2, 2026","format":false,"excerpt":"GitHub Copilot's coding agent is useful, but I would want explicit workflow rules around permissions, networking, and review before giving it real access.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/wade.one\/blog\/category\/ai\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1395,"url":"https:\/\/wade.one\/blog\/2026\/08\/16\/github-copilot-usage-metrics-are-becoming-cost-accounting\/","url_meta":{"origin":1402,"position":1},"title":"GitHub Copilot Usage Metrics Are Becoming Cost Accounting","author":"Wade","date":"August 16, 2026","format":false,"excerpt":"Copilot's expanded app metrics are useful, but teams should measure outcomes and cost rather than celebrate activity alone.","rel":"","context":"In &quot;Software Engineer&quot;","block_context":{"text":"Software Engineer","link":"https:\/\/wade.one\/blog\/category\/software-engineer\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1239,"url":"https:\/\/wade.one\/blog\/2026\/04\/27\/copilot-autopilot-sounds-useful-but-guardrails-matter\/","url_meta":{"origin":1402,"position":2},"title":"Copilot Autopilot Sounds Useful, but Guardrails Matter","author":"","date":"April 27, 2026","format":false,"excerpt":"Autonomous coding sessions can be useful, but only when teams are clear about permissions, tests, and what still needs a human decision.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/wade.one\/blog\/category\/ai\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1237,"url":"https:\/\/wade.one\/blog\/2026\/04\/26\/ai-code-review-should-reduce-noise-not-add-more-comments\/","url_meta":{"origin":1402,"position":3},"title":"AI Code Review Should Reduce Noise, Not Add More Comments","author":"","date":"April 26, 2026","format":false,"excerpt":"The best use of AI in code review is not adding more comments. It is finding the few things that actually matter.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/wade.one\/blog\/category\/ai\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1393,"url":"https:\/\/wade.one\/blog\/2026\/08\/14\/ai-coding-tools-need-the-same-policy-everywhere\/","url_meta":{"origin":1402,"position":4},"title":"AI Coding Tools Need the Same Policy Everywhere","author":"","date":"August 14, 2026","format":false,"excerpt":"Coding-agent governance only works when the same rules follow developers across every client and cloud task.","rel":"","context":"In &quot;Software Engineer&quot;","block_context":{"text":"Software Engineer","link":"https:\/\/wade.one\/blog\/category\/software-engineer\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1303,"url":"https:\/\/wade.one\/blog\/2026\/05\/15\/github-agent-hq-makes-ai-coding-a-platform-choice\/","url_meta":{"origin":1402,"position":5},"title":"GitHub Agent HQ Makes AI Coding a Platform Choice","author":"","date":"May 15, 2026","format":false,"excerpt":"GitHub adding Claude and Codex agent choices is a sign that AI coding is becoming a platform layer, not just a model picker.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/wade.one\/blog\/category\/ai\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1402","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/comments?post=1402"}],"version-history":[{"count":1,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1402\/revisions"}],"predecessor-version":[{"id":1423,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1402\/revisions\/1423"}],"wp:attachment":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/media?parent=1402"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/categories?post=1402"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/tags?post=1402"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}