{"id":6594,"date":"2015-04-29T14:00:00","date_gmt":"2015-04-29T14:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/2015\/04\/29\/debugging-c-code-on-ios-with-visual-studio-2015\/"},"modified":"2021-10-07T13:22:25","modified_gmt":"2021-10-07T13:22:25","slug":"debugging-c-code-on-ios-with-visual-studio-2015","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/debugging-c-code-on-ios-with-visual-studio-2015\/","title":{"rendered":"Debugging C++ code on iOS with Visual Studio 2015"},"content":{"rendered":"<p>Following up on our previous announcement that Visual Studio added support for debugging <a href=\"http:\/\/blogs.msdn.com\/b\/visualstudioalm\/archive\/2014\/11\/12\/debugging-c-code-on-android-with-visual-studio-2015.aspx\">C++ on Android<\/a> we are excited to announce that we now support debugging C++ on iOS as well. Before continuing I would recommend reading the <a href=\"http:\/\/blogs.msdn.com\/b\/vcblog\/archive\/2015\/04\/29\/what-s-new-with-c-cross-platform-development-with-vs-2015-rc.aspx\">Visual Studio C++ support for iOS announcement<\/a> and <a href=\"https:\/\/msdn.microsoft.com\/library\/dn707598(v=vs.140).aspx#ConfigureVS\">the instructions for how to set up your environment to enable Visual Studio to deploy, build, and debug to iOS<\/a>.<\/p>\n<p>The Visual Studio 2015 RC debugging experience includes (but is not limited to): <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/y740d9d3.aspx\">F5<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/bs4c1wda.aspx\">Output window<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/5557y8b4.aspx\">Breakpoints<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ek13f001(v=vs.100).aspx\">Step Into\/Over\/Out<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dbhfa1e0(v=vs.100).aspx\">Run To Cursor<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/a3694ts5.aspx\">Call Stack<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/esta7c62.aspx\">Data and Variable windows<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/4c8f14c9.aspx\">Modules window<\/a>, Address level debugging (<a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/a3cwf295.aspx\">Disassembly<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/s3aw423e.aspx\">Memory<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/62680774.aspx\">Registers<\/a> windows), <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/w15yf86f.aspx\">Threads window<\/a>, and <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dd998398.aspx\">Parallel Stacks<\/a> and <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/hh418499.aspx\">Parallel Watch<\/a> windows.<\/p>\n<p>Below is a screenshot showing Visual Studio stopped at a breakpoint in C++ code for an iOS app.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/04\/2210.clip_image0024_thumb_74F9B8A2.jpg\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/04\/2210.clip_image0024_thumb_74F9B8A2.jpg\" alt=\"Image 2210 clip image0024 thumb 74F9B8A2\" width=\"801\" height=\"703\" class=\"aligncenter size-full wp-image-29398\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/04\/2210.clip_image0024_thumb_74F9B8A2.jpg 801w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/04\/2210.clip_image0024_thumb_74F9B8A2-300x263.jpg 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/04\/2210.clip_image0024_thumb_74F9B8A2-768x674.jpg 768w\" sizes=\"(max-width: 801px) 100vw, 801px\" \/><\/a><\/p>\n<p>In Visual Studio 2015 RC debugging using the iOS Simulator rather than a physical device will requiring the following manual steps:<\/p>\n<ol>\n<li>You must manually start the iOS simulator<\/li>\n<li>Then start debugging from Visual Studio (F5) once the Simulator is running<\/li>\n<li>Manually launch the app on the Simulator, Visual Studio will then attach and start the debugging the app<\/li>\n<\/ol>\n<p>Additionally the following debugger functionality is not supported:<\/p>\n<ul>\n<li><a href=\"http:\/\/blogs.msdn.com\/b\/visualstudioalm\/archive\/2015\/01\/16\/diagnostic-tools-debugger-window-in-visual-studio-2015.aspx\">Diagnostic Tools window<\/a><\/li>\n<li><a href=\"http:\/\/blogs.msdn.com\/b\/visualstudioalm\/archive\/2015\/01\/08\/understanding-exceptions-while-debugging-with-visual-studio.aspx\">Changing exception settings in the Exceptions window<\/a><\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/56f3kd7d.aspx\">Hexadecimal display of integers<\/a><\/li>\n<li>Breakpoint binding to multiple locations (e.g. templates, files with the exact same name)<\/li>\n<li>Show parameter values in the <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/a3694ts5.aspx\">Call Stack window<\/a><\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/3s68z0b3.aspx\">Attach to process<\/a><\/li>\n<li>Autos window<\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/vstudio\/7572ztz4(v=vs.120).aspx\">Return values<\/a><\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dn457346.aspx\">Just My Code<\/a><\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/bcew296c.aspx\">Edit and Continue<\/a><\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dd998369.aspx\">Tasks window<\/a> (including Tasks view in the <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dd998398.aspx\">Parallel Stacks window<\/a>)<\/li>\n<li>Interop debugging with other runtimes (e.g. Xamarin)<\/li>\n<\/ul>\n<p>Please try debugging Visual Studio&rsquo;s new debugging support for C++ on iOS and let us know if you find any issues not already listed above.<\/p>\n<p>Lastly, please let us know how the debugging support works for you, and report any issues or overall feedback below, through the <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/zzszcehe.aspx\">Send a Smile feature<\/a> in Visual Studio, or in our <a href=\"http:\/\/social.msdn.microsoft.com\/Forums\/en-US\/vsdebug\/threads\">MSDN forum<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Following up on our previous announcement that Visual Studio added support for debugging C++ on Android we are excited to announce that we now support debugging C++ on iOS as well. Before continuing I would recommend reading the Visual Studio C++ support for iOS announcement and the instructions for how to set up your environment [&hellip;]<\/p>\n","protected":false},"author":289,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-6594","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus"],"acf":[],"blog_post_summary":"<p>Following up on our previous announcement that Visual Studio added support for debugging C++ on Android we are excited to announce that we now support debugging C++ on iOS as well. Before continuing I would recommend reading the Visual Studio C++ support for iOS announcement and the instructions for how to set up your environment [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/6594","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\/289"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=6594"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/6594\/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=6594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=6594"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=6594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}