{"id":3383,"date":"2013-02-15T18:08:00","date_gmt":"2013-02-15T18:08:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/visualstudioalm\/2013\/02\/15\/mixed-native-and-managed-debugging-improvements-for-windows-store-apps\/"},"modified":"2022-07-20T01:01:36","modified_gmt":"2022-07-20T09:01:36","slug":"mixed-native-and-managed-debugging-improvements-for-windows-store-apps","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/devops\/mixed-native-and-managed-debugging-improvements-for-windows-store-apps\/","title":{"rendered":"Mixed Native and Managed Debugging Improvements for Windows Store Apps"},"content":{"rendered":"<p><span style=\"font-family: Calibri;font-size: small\">In Visual Studio 2012 RTM, there was limited support for mixed managed and native debugging of Windows Store apps.\u00a0 This support was greatly enhanced in <\/span><a href=\"http:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=35774\"><span style=\"color: #0563c1;font-family: Calibri;font-size: small\">Update 1<\/span><\/a><span style=\"font-size: small\"><span style=\"font-family: Calibri\">.<\/span><\/span><\/p>\n<h2><span style=\"color: #2e74b5\"><span style=\"font-family: Calibri Light\">Setup<\/span><\/span><\/h2>\n<p><span style=\"font-family: Calibri;font-size: small\">Enabling mixed mode debugging is simple.\u00a0 All you need to do is select your project and choose \u201cProperties\u201d from the context menu.\u00a0 Then click on the Debug properties tab.\u00a0 Then on the debugger type, select \u201cMixed (Managed and Native)\u201d. <\/span><span style=\"font-family: Calibri;font-size: small\">Then hit F5 as usual.<\/span><\/p>\n<p><span style=\"font-size: small\"><span style=\"font-family: Calibri\">Here is what this looks like when configuring a managed project.<\/span><\/span><\/p>\n<p><span style=\"font-family: Calibri;font-size: small\">\u00a0<a href=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/02\/3058.1.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/02\/3058.1.png\" alt=\"\" border=\"0\" \/><\/a><\/span><\/p>\n<p>\u00a0<\/p>\n<p><span style=\"font-size: small\"><span style=\"font-family: Calibri\">And here is what the project configuration looks like on a native application.<\/span><\/span><\/p>\n<p><span style=\"font-size: small\"><span style=\"font-family: Calibri\"><a href=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/02\/2185.2.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/02\/2185.2.png\" alt=\"\" border=\"0\" \/><\/a><\/span><\/span><\/p>\n<p>\u00a0<\/p>\n<h2><span style=\"color: #2e74b5\"><span style=\"font-family: Calibri Light\">Inspection of Native WinRT objects<\/span><\/span><\/h2>\n<p><span style=\"font-size: small\"><span style=\"font-family: Calibri\">When stopped at a breakpoint, it was very difficult or impossible to view the object in the locals window, watch window, etc.\u00a0 As you can see, there is not a lot of interesting information when you are looking at Button1 using the RTM release of VS2012.<\/span><\/span><\/p>\n<p><span style=\"font-family: Calibri;font-size: small\">\u00a0<a href=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/02\/7167.3.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/02\/7167.3.png\" alt=\"\" border=\"0\" \/><\/a><\/span><\/p>\n<p>\u00a0<span style=\"font-size: small\"><span style=\"font-family: Calibri\">With the Update 1 release, the object inspection experience is exactly the same as it is when debugging only native code and you can now see the properties that you expect when you expand button1.<\/span><\/span><\/p>\n<p><span style=\"font-family: Calibri;font-size: small\">\u00a0<a href=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/02\/1541.4.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/02\/1541.4.png\" alt=\"\" border=\"0\" \/><\/a><\/span><\/p>\n<p>\u00a0<span style=\"font-family: Calibri;font-size: small\">Additionally, the new <\/span><a href=\"http:\/\/blogs.msdn.com\/b\/vcblog\/archive\/2012\/07\/12\/10329460.aspx\"><span style=\"color: #0563c1;font-family: Calibri;font-size: small\">Debugger Type Visualizers<\/span><\/a><span style=\"font-size: small\"><span style=\"font-family: Calibri\"> for Visual Studio 2012 now also apply when mixed debugging a Windows Store app.<\/span><\/span><\/p>\n<h2><span style=\"color: #2e74b5\"><span style=\"font-family: Calibri Light\">Remote Debugging<\/span><\/span><\/h2>\n<p><span style=\"font-family: Calibri;font-size: small\">It is now possible to remote debug a Windows Store application using the mixed mode debugger when the target is an x86 or x64 machine.\u00a0 This is accomplished by just using the standard procedures for <\/span><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/hh441469.aspx\"><span style=\"color: #0563c1;font-family: Calibri;font-size: small\">running Windows Store apps on a remote machine<\/span><\/a><span style=\"font-size: small\"><span style=\"font-family: Calibri\">.<\/span><\/span><\/p>\n<p><span style=\"font-size: small\"><span style=\"font-family: Calibri\">This is not currently supported on ARM machines.<\/span><\/span><\/p>\n<p>\u00a0<\/p>\n<h2><span style=\"color: #2e74b5\"><span style=\"font-family: Calibri Light\">Reliability in Execution Control<\/span><\/span><\/h2>\n<p><span style=\"font-size: small\"><span style=\"font-family: Calibri\">One noticeable area of improvement was in stepping between WinRT components.\u00a0 Let\u2019s say that you were stopped here:<\/span><\/span><\/p>\n<p><span style=\"font-family: Calibri;font-size: small\">\u00a0<a href=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/02\/2548.5.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/02\/2548.5.png\" alt=\"\" border=\"0\" \/><\/a><\/span><\/p>\n<p>\u00a0<\/p>\n<p><span style=\"font-size: small\"><span style=\"font-family: Calibri\">\u2026and you wanted to step into your native component.\u00a0 While before with the RTM release you would end up here:<\/span><\/span><\/p>\n<p><span style=\"font-size: small\"><span style=\"font-family: Calibri\"><a href=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/02\/5773.6.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/02\/5773.6.png\" alt=\"\" border=\"0\" \/><\/a><\/span><\/span><\/p>\n<p>\u00a0<\/p>\n<p><span style=\"font-size: small\"><span style=\"font-family: Calibri\">\u2026now with these improvements in Update 1, you will land where you would expect:<\/span><\/span><\/p>\n<p><span style=\"font-size: small\"><span style=\"font-family: Calibri\"><a href=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/02\/7380.7.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/02\/7380.7.png\" alt=\"\" border=\"0\" \/><\/a><\/span><\/span><\/p>\n<p>\u00a0<\/p>\n<p><span style=\"font-family: Calibri;font-size: small\">We would love to hear any questions or comments you have on the mixed debugging experience for Windows Store applications in the comments below or in our <\/span><a href=\"http:\/\/social.msdn.microsoft.com\/Forums\/en\/vsdebug\/threads\"><span style=\"color: #0563c1\"><span style=\"font-size: small\"><span style=\"font-family: Calibri\">MSDN forum<\/span><\/span><\/span><\/a><span style=\"font-size: small\"><span style=\"font-family: Calibri\">.<\/span><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Visual Studio 2012 RTM, there was limited support for mixed managed and native debugging of Windows Store apps.\u00a0 This support was greatly enhanced in Update 1. Setup Enabling mixed mode debugging is simple.\u00a0 All you need to do is select your project and choose \u201cProperties\u201d from the context menu.\u00a0 Then click on the Debug [&hellip;]<\/p>\n","protected":false},"author":75,"featured_media":45953,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,225],"tags":[],"class_list":["post-3383","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","category-git"],"acf":[],"blog_post_summary":"<p>In Visual Studio 2012 RTM, there was limited support for mixed managed and native debugging of Windows Store apps.\u00a0 This support was greatly enhanced in Update 1. Setup Enabling mixed mode debugging is simple.\u00a0 All you need to do is select your project and choose \u201cProperties\u201d from the context menu.\u00a0 Then click on the Debug [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/3383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/users\/75"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/comments?post=3383"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/3383\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media\/45953"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media?parent=3383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/categories?post=3383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/tags?post=3383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}