{"id":22,"date":"2006-08-09T11:40:05","date_gmt":"2006-08-09T16:40:05","guid":{"rendered":"http:\/\/www.nynaeve.net\/?p=22"},"modified":"2019-12-13T17:41:39","modified_gmt":"2019-12-13T22:41:39","slug":"checking-if-a-binary-exists-on-a-symbol-repository","status":"publish","type":"post","link":"http:\/\/www.nynaeve.net\/?p=22","title":{"rendered":"Checking if a binary exists on a symbol repository"},"content":{"rendered":"<p>This question came up on the microsoft.public.windbg newsgroup and turned out to be more complicated\u00c2\u00a0to solve than it might appear, so I&#8217;m posting about it here.<\/p>\n<p>Someone asked if there is a way to use the DTW tools to detect if a binary is present on a symbol repository.\u00c2\u00a0 Now, you might naively assume that you can just use symchk.exe on the binary and it will work, and indeed if you try this, you might be fooled into thinking that it <em>does<\/em> work.\u00c2\u00a0 However, it really doesn&#8217;t &#8211; if you do this, all that symchk will do is verify that the <em>symbols<\/em> for the binary are on the symbol repository.<\/p>\n<p>If you need to make sure that the binary is there (i.e. so you can do dump file debugging using the symbol repository), then you need to use the &#8220;\/id\u00c2\u00a0filename&#8221;\u00c2\u00a0command line parameter\u00c2\u00a0with symchk.\u00c2\u00a0 This tells symchk that you want to verify that symbols for a <em>dump file<\/em> exist on the symbol server.\u00c2\u00a0 Because DbgEng lets you load a single PE image (.dll\/.exe\/.sys\/etc) as a dump file, and because dump files require loading the actual binary itself from the symbol path, this forces symchk to verify that the binary (and not just the symbols) exist on the symbol repository.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This question came up on the microsoft.public.windbg newsgroup and turned out to be more complicated\u00c2\u00a0to solve than it might appear, so I&#8217;m posting about it here. Someone asked if there is a way to use the DTW tools to detect if a binary is present on a symbol repository.\u00c2\u00a0 Now, you might naively assume that [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[2,5],"tags":[],"_links":{"self":[{"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=\/wp\/v2\/posts\/22"}],"collection":[{"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22"}],"version-history":[{"count":1,"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=\/wp\/v2\/posts\/22\/revisions"}],"predecessor-version":[{"id":656,"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=\/wp\/v2\/posts\/22\/revisions\/656"}],"wp:attachment":[{"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}