{"id":2399,"date":"2006-11-23T03:05:00","date_gmt":"2006-11-23T03:05:00","guid":{"rendered":"https:\/\/test.simple-talk.com\/uncategorized\/the-managed-stack-explorer\/"},"modified":"2016-07-28T10:48:57","modified_gmt":"2016-07-28T10:48:57","slug":"the-managed-stack-explorer","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/blogs\/the-managed-stack-explorer\/","title":{"rendered":"The Managed Stack Explorer"},"content":{"rendered":"<p>Its always nice as a developer when you find a new tool to make your life easier &#8211; understanding what is actually happening during the execution of your application (rather than what you think is happening) is key to fixing those hard to find bugs. <\/p>\n<p>Visual Studio does a pretty good job of helping with this with its condition break points, break on thrown exceptions etc however its not always quite enough, I normally have a whole series of other tools open when debugging an application &#8211; whether its one of the sysinternals tools (dbgview, filemon, regmon, handle, and pstools among others), a copy of Ants Profiler&#160;or the SQL Server Profiler.<\/p>\n<p>So its always nice when you find a new tool which makes your life even easier &#8211; I came across the <a href=\"http:\/\/www.codeplex.com\/MSE\">managed stack explorer<\/a> the other day which seems to be a great way to log how your stack changes over time &#8211; I&#8217;m not sure they have the architecture totally correct as it polls the application every x milliseconds rather than giving your a trace &#8211; personally I would&#160;rather have&#160;a trace of the stack over a period of time with the ability to explore the arguments of each call without having to step through the applicaiton &#8211; but it is certainly an interesting and potentially useful tool.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Its always nice as a developer when you find a new tool to make your life easier &#8211; understanding what is actually happening during the execution of your application (rather than what you think is happening) is key to fixing those hard to find bugs. Visual Studio does a pretty good job of helping with&#8230;&hellip;<\/p>\n","protected":false},"author":94441,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2],"tags":[],"coauthors":[],"class_list":["post-2399","post","type-post","status-publish","format-standard","hentry","category-blogs"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/2399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/94441"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=2399"}],"version-history":[{"count":2,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/2399\/revisions"}],"predecessor-version":[{"id":41453,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/2399\/revisions\/41453"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=2399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=2399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=2399"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=2399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}