{"id":315,"date":"2011-03-08T22:54:41","date_gmt":"2011-03-08T22:54:41","guid":{"rendered":"http:\/\/entrian.com\/blog\/?p=315"},"modified":"2021-07-01T07:14:28","modified_gmt":"2021-07-01T07:14:28","slug":"windows-debugging-tools-gflags-beware-32-vs-64-bit","status":"publish","type":"post","link":"https:\/\/entrian.com\/blog\/windows-debugging-tools-gflags-beware-32-vs-64-bit\/","title":{"rendered":"Windows Debugging Tools: GFlags: Beware 32 vs. 64 bit!"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-316\" title=\"gflags\" src=\"https:\/\/entrian.com\/blog\/wp-content\/uploads\/2011\/03\/gflags.png\" alt=\"gflags\" width=\"296\" height=\"179\" \/><\/p>\n<p>If you&#8217;ve ever tried (as I was trying this week) to debug a loader problem on Windows, you probably know about the very useful <strong>gflags<\/strong> application.\u00a0 It&#8217;s part of the <strong>Debugging Tools for Windows<\/strong>, and one of the things it does is enables &#8220;loader snaps&#8221; for a process.\u00a0 That tells the Windows loader to send a whole bunch of useful information to the debugger console as it loads an executable and its DLLs.<\/p>\n<p>Except that it doesn&#8217;t.\u00a0 Not if you&#8217;re running on 64 bit Windows, developing a 32 bit application.\u00a0 If you just follow the obvious download links for the Debugging Tools you&#8217;ll get the 64 bit version, which will quietly ignore your request for loader snaps for your 32-bit application.\u00a0 To set the appropriate flags you&#8217;ll need to install the 32-bit Debugging Tools and use that version of <strong>gflags<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you&#8217;ve ever tried (as I was trying this week) to debug a loader problem on Windows, you probably know about the very useful gflags application.\u00a0 It&#8217;s part of the Debugging Tools for Windows, and one of the things it does is enables &#8220;loader snaps&#8221; for a process.\u00a0 That tells the Windows loader to send [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-315","post","type-post","status-publish","format-standard","hentry","category-30days"],"_links":{"self":[{"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/posts\/315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/comments?post=315"}],"version-history":[{"count":1,"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/posts\/315\/revisions"}],"predecessor-version":[{"id":1220,"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/posts\/315\/revisions\/1220"}],"wp:attachment":[{"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/media?parent=315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/categories?post=315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/tags?post=315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}