{"id":953,"date":"2014-01-07T11:25:00","date_gmt":"2014-01-07T11:25:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/2014\/01\/07\/code-debugging-topics-on-msdn\/"},"modified":"2019-02-18T18:40:45","modified_gmt":"2019-02-18T18:40:45","slug":"code-debugging-topics-on-msdn","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/code-debugging-topics-on-msdn\/","title":{"rendered":"Code Debugging Topics on MSDN"},"content":{"rendered":"<p>The <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/60k1461a.aspx\">MSDN Library<\/a> is a rich source of information about Microsoft products and technologies including Visual Studio and Visual C++. This post calls out some of the great code debugging topics available for Visual C++ native code developers.<\/p>\n<p>The best starting point for (re)visiting debugging topics is the <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/k0k771bt.aspx\">Debugger Roadmap<\/a>. It contains links to many different task-based topics focused on debugging:<\/p>\n<ul>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dn457346.aspx\">Just My Code<\/a>. The Just My Code debugger feature steps over system, framework, and other non-user calls and collapses those calls in the call stack windows. It is new for Visual C++ in Visual Studio 2013.<\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/y740d9d3.aspx\">Start, Break, Step, Run through Code, and Stop Debugging in Visual Studio<\/a>. Review the many ways you can use the debugger to control the execution of your application. F10, F11 and Shift-F11 FTW!<\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/d5zhxt22.aspx\">Use Dump Files to Debug App Crashes and Hangs in Visual Studio<\/a>. Dumps are primarily used for debugging issues that occur on machines that the developer doesn&#8217;t have access to. Included in the topic are requirements and limitations.<\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/esta7c62.aspx\">Viewing Data in the Debugger<\/a>. <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ea46xwzd.aspx\">Data Tips<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/zayyhzts.aspx\">Visualizers<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/4dt5w8ta.aspx\">Variable Windows<\/a> and a table of other mechanisms like the <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/62680774.aspx\">Registers Window<\/a>.<\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/bcew296c.aspx\">Edit and Continue<\/a>. Edit and Continue is a time-saving feature that enables you to make changes to your source code while your program is in break mode. There are some <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/esaeyddf.aspx\">differences<\/a> in Visual C++ edit and continue.<\/li>\n<\/ul>\n<p>Another good starting point for information about debugging in Visual Studio is (surprise!) <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/sc65sadd.aspx\">Debugging in Visual Studio<\/a>.<\/p>\n<ul>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-US\/windows\/apps\/\">Windows Store Apps<\/a>. The Visual Studio debugger provides complete support for debugging Windows Store apps that run on Windows 8. See <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/hh441481.aspx\">Debugging and testing Windows Store apps with Visual Studio<\/a> and <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/hh441472.aspx\">Debug Windows Store apps in Visual Studio<\/a>.<\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/01xdt7cs.aspx\">What&#8217;s New for the Debugger in Visual Studio 2013<\/a>. Hopefully you are already familiar with Just My Code for Visual C++ and other new stuff in Visual Studio 2013.<\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ms242231.aspx\">Debugger Security<\/a>. The ability to debug another process gives you extremely broad powers that you would not otherwise have, especially when debugging remotely. A malicious debugger could do bad stuff on the target machine, so there are restrictions on who can do debugging. Visit the topic for all the details.<\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/hh873126.aspx\">Debugging GPU Code<\/a>. Describes how to debug C++ code that is running on the graphics processing unit (GPU).<\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/hh315751.aspx\">Debugging DirectX Graphics<\/a>. This topic contains almost a dozen links exploring different elements of DX graphics debugging &#8212; <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/hh873207.aspx\">Graphics Diagnostics Overview<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/hh708963.aspx\">Capturing Graphics Information<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/hh873194.aspx\">Graphics Pipeline Stages<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/hh873197.aspx\">HLSL Debugger<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/hh873204.aspx\">Graphics Diagnostics Examples<\/a> and much more. Graphics experts should start here!<\/li>\n<\/ul>\n<p>Native code developers can start with <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/k70yt3e2.aspx\">Debugging Native Code<\/a>.<\/p>\n<ul>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/606cbtzs.aspx\">How To: Debug Optimize Code<\/a>. Find bugs that appear only in optimized code.<\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/7sx52ww7.aspx\">MFC Debugging Techniques<\/a>. Start here if you are new to MFC or need tips and techniques for troubleshooting MFC code.<\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/c91k1xcf.aspx\">How to: Debug Native DLLs<\/a>. Short and to the point!<\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dd554943.aspx\">Walkthrough: Debugging a Parallel Application<\/a>. Learn how to use the <strong>Parallel Tasks<\/strong> and <strong>Parallel Stacks<\/strong> tool to debug a parallel application.<\/li>\n<\/ul>\n<p>Is content missing? Share your debugging tricks, pointers and ideas for future articles in the comments below or hit me up at <a href=\"mailto:ebattali@microsoft.com\">ebattali@microsoft.com<\/a>.<\/p>\n<p>Thanks!<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The MSDN Library is a rich source of information about Microsoft products and technologies including Visual Studio and Visual C++. This post calls out some of the great code debugging topics available for Visual C++ native code developers. The best starting point for (re)visiting debugging topics is the Debugger Roadmap. It contains links to many [&hellip;]<\/p>\n","protected":false},"author":264,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[55,212],"class_list":["post-953","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","tag-debugging","tag-link-a-thon"],"acf":[],"blog_post_summary":"<p>The MSDN Library is a rich source of information about Microsoft products and technologies including Visual Studio and Visual C++. This post calls out some of the great code debugging topics available for Visual C++ native code developers. The best starting point for (re)visiting debugging topics is the Debugger Roadmap. It contains links to many [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/953","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/264"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=953"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/953\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35994"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=953"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=953"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=953"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}