Channel: MSDN Blogs
Viewing all 29128 articles
Browse latest View live

eXtremeCRM Early Bird Pricing extended for BLITZ Attendees until Friday, August 9


Thanks to everyone who attended the Partner Blitz on July 31! We had a great turnout! July 31 was also the eXtremeCRM 2013 Anaheim early bird deadline, so the eXtremeCRM team has graciously agreed to extend the early bird pricing to Blitz attendees through Friday, August 9. Use discount code Blitz when registering to receive the discount.

If you haven’t seen it, check out the eXtremeCRM agenda. eXtremeCRM has really turned up the volume with close to 60% more sessions than last year. They are each custom designed to ramp your entire organization on Microsoft Dynamics CRM 2013 and to help you compete more successfully to win!

The timing couldn’t align better with our upcoming launch. This will be the time to get all your questions answered on this game changing new release. We are excited to be collaborating with the eXtremeCRM team on this official partner launch event to ensure you are ready to win with Microsoft Dynamics CRM 2013.

Get ready to ACCELERATE your business!

Use discount code Blitz to receive early bird pricing through midnight, Friday August 9, and join us at eXtremeCRM 2013 Anaheim on November 3-6, 2013.

Creating a custom shell in Compact 2013


Posted By Colin Murphy
Technical Program Manager, Microsoft’s Windows Embedded

The shell you say! What is a shell, anyway? Typically a shell application manages the base user interface of the system including access to applications and files and the ability to configure the system. In the case of an embedded device, a typical multi-function desktop shell is overkill, taking up way too much space and requiring far more overhead than a purpose-driven embedded device wants or needs.

With that in mind, one of the most noticeable changes to Window Embedded Compact 2013 is the removal of the large and dated Windows 95-style shell. The Compact team was quite torn on this decision; on the one hand, it was an excellent developer tool-- easy to launch files, everyone knew how to use it--but when that same shell appears on your refrigerator, digital sign or vending machine, people were not as impressed by its versatility. Enter MinShell. This new Compact shell offers a much smaller feature set. It is basically an application launcher that can be customized to launch any application. For developers, it comes preset to launch “CMD.EXE,” a DOS command processor, so you can copy and launch applications as needed. But MinShell is designed, and begs to be, replaced.


CommentsWindows Embedded Compact

...(read more)

Unity3D Contest!!



GameDevs of the world Unite!

Following the announcement of the close partnership between Microsoft and Unity, they have started the Unity contest for Windows and Windows Phone. You can check all the details here.


Just don't forget: 

  • Projects can be submitted for judging up to 11:59 p.m. Coordinated Universal Time (UTC), on September 30, 2013.
If you are in the Atlanta area, we will also work with the gaming community to provide tools and knowledge to have fun and submit creative projects to the contest, so, stay tuned.

DirectX using the “Windows” style form, not XAML kind of form

I have been staring at the DirectX Quickstart “ Direct2D Quickstart for Windows 8 ” for the past year from time to time and just have to put myself in the shoes of the hobbyist or student trying to figure out windows.  The initial example seems like it might work in the DirectX Templates, but where in the template do I put it?  Umm? Ha-ha, I got tricked!  Those silly C++ Quickstart writers, they got me, really, just did not see how the QuickStart that seemed like it was for XAML/C...(read more)

SAP Private and Public Cloud Infrastructure -> Survey and Customer samples





this is an experiment which I didn't try yet via this blog. So let's see if/how it works. Here is the idea behind it :

1. a better understanding of customer environments helps to set the right priorities
2. sharing SAP infrastructure architecture information should be useful for the whole community
3. therefore I had the idea to come up with a simple survey about SAP cloud / virtualization infrastructure
4. to avoid promoting certain products I just created general questions ( e.g. HA on VM level only ? )
5. in case a critical mass of people will answer the survey ( > 50 ) I will publish the results in this blog
6. depending on the amount of responses I will update the published results on a monthly basis

It's anonymous. I am just interested in the region where a customer is based. Because for certain topics
I would expect regional statistically significant differences ( sure - only works out again if there are
enough responses ).

In addition I would like to add real customer sample architectures to the blog. This is of course only
possible if there are customers out there who would be willing to do this. It can be anonymous too.
I think it would be useful for the whole SAP-Microsoft community to share this kind of information.

For those who might be interested in sharing SAP infrastructure architecture Information just contact
me directly :    hermann.daeubler@microsoft.com

And here is the survey. Well - I divided it into four surveys. You can answer only one of them or all
of them - whatever you like. It's based on simple checkboxes. Shouldn't take very long :



SAP virtualization on-premise




SAP high availability and disaster recovery solution in virtualized environments


SAP hosting / outsourcing



SAP on public cloud









Build efficient server appliances using Windows Server 2012 R2 for Embedded Systems


Posted By Partha Srinivasan
Product Manager, Windows Embedded Server and SQL Products

The following is the third in a series of posts on Windows Server 2012 for Embedded Systems.

As indicated in the previous blogs, customers of Embedded OEMs can now start testing the new Windows Server 2012 R2 for Embedded Systems (binary identical to Windows Server 2012 R2) that provides improved performance, hybrid cloud-service capabilities and innovative storage options for building robust, industry-class server appliances.

OEM manufacturers use Windows Server for Embedded Systems to build server appliances—preinstalled hardware and software combined with the operating system—which make the configuration, deployment and management of industrial devices simpler and faster. These server appliances are used in a number of industrial devices such as PACS machines in hospitals, store servers in retail stores, historian servers in manufacturing plants, and are a key enabler in developing intelligent system architectures.

Today we are going to focus on the new storage features that are included in the Windows Server 2012 R2 for Embedded Systems.


CommentsIntelligent Systems

...(read more)

Participe gratuitamente do maior evento de gerenciamento de DataCenter do Vale e concorra a um Nokia Lumia 820

Evento gratuito organizado por MVPs e com participação especial da Microsoft irá acontecer em São José dos Campos. Entre no link e inscreva-se hoje mesmo no maior evento de gerenciamento de DataCenter do Vale. Você pode ser o ganhador do Nokia Lumia 820 com Windows Phone 8, que será sorteado no final do evento para os participantes presentes! O DataCenter Management Day é um evento da Comunidade Técnica Microsoft, que tem como objetivo apresentar as melhores práticas, produtos e serviços ligados...(read more)

MVP Featured App: Presentation Next: A Cinematic HTML5 Presentation Builder


Screen shot 1

Windows Azure MVP Zia Khan, as part of a team of 11 developers, has created a free app titled Presentation Next.  Presentation Next™ enables you to create lifelike presentational visual experiences in Windows 8 and that are equally viewable on Windows, iPad, Android, Linux, and Mac.

It allows anyone to create presentations that run in a browser on any device and look nothing like traditional slides. Instead of moving through slides, the user flies over a large map of concepts, zooming and shifting between them.  It helps in creating movie like presentation shows using the latest leading edge and state of the art HTML5 based web technologies.

Presentation Next is a ‘tool’ that is meant to change the way people present their ideas in this web and mobile age.  A Presentation Next presentation consists of an extremely large canvas in which you draw your ideas spatially using a mouse, touch, keyboard or a pen.  It uses pan and zoom effects and animations to give the presentation a filmic look and feel:  a cinematic poster style presentation builder. 

For the last few year Zia's passion has been Windows 8 and HTML5 development.  He wanted to create a tool that will allow the end user to create HTML5 documents without any knowledge of software development.  Presentation Next is the manifestation of that dream.  

Zia Khan felt the MVP program was invaluable to his work on Presentation Next.  “My MVP status has allowed me to network with the best developers in my region.  All the top developers we hired I met in my MVP events.  It is a great networking and recruitment tool.  Furthermore, the information and software (MSDN) I got through the MVP program helped me a lot to get started.”

Screen shot 2

BizTalk Job: Operations_OperateOnInstances_OnMaster_BizTalkMsgBoxDb Failing


Recently, I came across an issue, in which, the Operations_OperateOnInstances_OnMaster_BizTalkMsgBoxDb job was failing with the following error:

Executed as user: ABC\UserName.
The name 'ServerName.ABC.com,portNumber.BizTalkMsgBoxDb.dbo.ops_OperateOnInstanceOnMasterMsgBox ' is not a valid identifier. [SQLSTATE 42000] (Error 203).  The step failed. 

After doing some troubleshooting using SQL Profiler, we saw that following command was getting executed at the SQL Server Side:

Exec 'ServerName.ABC.com,portNumber.BizTalkMsgBoxDb.dbo.ops_OperateOnInstanceOnMasterMsgBox 3  ID {ID }

On doing some further research, we came to know the issue was with using Fully Qualified Domain Name during the configuration of the Job.


  1. Go to the Operations_OperateOnInstances_OnMaster_BizTalkMsgBoxDb job
  2. Right Click and go to Properties
  3. Go to steps

  4. Go to OperateOnInstsOnMaster, and double click.
  5. Edit the text “ exec ops_OperateOnInstancesOnMasterMsgBox 'ServerName,Port','BizTalkMsgBoxDb' ”

Hope this helps..!!


Written by
Rasika Chaudhary

Reviewed By
Jainath V R

Microsoft GTSC India

Reason of the Day to attend GP Technical Airlift #5


Today I wanted to share with you some comments from Alice Newsam, who is a Software Engineer on the Dynamics GP development team.  She has a session at the Tech Airlift on VS Tools customizations into the GP 2013 Web Client.

Here's what she has to say about attending her session:


Do you have a Visual Studio Tools addin for Dynamics GP that you’d love to offer your customers on the GP 2013 Web Client?  Or, are you considering .NET to implement new functionality for your segment but want it to be available via the web client also?  Well with the release of GP 2013 SP2 you will be able to do exactly that.  There are two sessions during the Technical Airlift this year that will explain dynamic and customizable ways that you can move your VS Tools Addin code into the cloud.  We’ll start out with an overview session detailing the two approaches you can utilize.  The second session will take a deep dive into the implementation details on each approach to help you identify which one will work best for you.  If you have .NET addins already or you are looking to create your first one, attend to the “Web Client Customization with Visual Studio Tools – Overview” or Deep Dive sessions to get started!


Are you signed up?
YES?  Great!  We'll see you here!!

No?  What are you waiting for!!  Get signed up NOW!  And get your co-workers signed up for the other tracks!



Jay Manley

BizTalk 2013: BAM Alerts and EDI/AS2 Runtime configuration errors


Recently I came across the following error, while configuring BAM Alerts in BizTalk Server 2013:

Error configuring BAM Tools (BAMTools) Additional information: Error granting "Domain\user" permission to Microsoft Sql Notification Services bin directory. (Microsoft.BizTalk.Bam.CfgExtHelper.ToolsHelper)
Error getting Microsoft Sql Notification Services bin directory from SOFTWARE\Microsoft\Microsoft SQL Server\NotificationServices\InstalledVersions. (Microsoft.BizTalk.Bam.CfgExtHelper.DataProtector)
Error getting register key (Microsoft.BizTalk.Bam.CfgExtHelper.DataProtector) Overlapped I/O operation is in progress. (Microsoft.BizTalk.Bam.CfgExtHelper.DataProtector)

This error was resolved by adding sufficient permissions to the following folders:
C:\Program Files\Microsoft SQL Server\90\NotificationServices\9.0.242\bin
C:\Program Files (x86)\Microsoft SQL Server\90\NotificationServices\9.0.242\bin

Then we un-configured BAM Tools, BAM Alerts, BAM Portal and retried to configure BAM Alerts. This time the Alerts got configured successfully. We then tried to configure EDI\AS2 Runtime and got the following error:

Deploying Activity... Done.
ERROR: The BAM deployment failed. The alerts were not deployed. There was a failure while executing nscontrol.exe.
Error:"Microsoft Notification Services Control Utility Microsoft Corp. All rights reserved.
Notification Services failed to get the metadata for the specified instance. Instance Name: BAMAlerts
SqlServerError: Source: .Net SqlClient Data Provider 
Number: 2  State: 0  Class: 20 
Message: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) 
Line Number: 0
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)"

Considering the error message, we verified the network connectivity and retired the configuration. We still got the same error.

Next, we enabled BAM tracing in bm.exe (as per the following document: http://msdn.microsoft.com/en-us/library/bb203854(v=bts.20).aspx)

There was not detailed error message apart from the fact that the following line of error was repeated:

Notification Services failed to get the metadata for the specified instance.Instance Name: BAMAlerts
We again un-configured BAM Tools, Alert and Portal and reconfigured again. This time we used a different value in “Prefix for Alert Database Name” while configuring BAM Alerts. We were able to configure all the artifacts successfully.

On further investigation, we found that, there were services created by the name of NS$BAMAlerts. BAMAlerts was the value that we were using for “Prefix for Alert Database Name”.
We cleared the NS$BAMAlerts using the following commands:

Net Stop <ServiceName> (This is to stop the service before deleting it)

Open a Notification Services command prompt and type the following

NSControl unregister -name <ServiceName> (This will clean up the registry, window service and performance counters)

NSControl delete -name <ServiceName> -Server <SQL_Server_Name> -force ( This will clean up the databases references, if any)

After deleting the NS$<BAM Services>, we again un-configured and reconfigured BizTalk. This time we were successful in configuring BizTalk.

Hope this helps.. !!!

Written By
Rasika Chaudhary

Reviewed By
Jainath V R

Microsoft GTSC India

Featured App of the Day: Ramadan Duas for Windows Phone


Today we've a special app to be featured in reference to Muslim's holy month of Ramadan which is about to end. The app Ramadan Duas is available for both Windows Phone 7.5 and 8 and has shown good downloads in past one month since its launch and thus made its way to our featured apps. Here's what the developer of this app says about herself and the journey to this app,

1.    Could you please tell us a bit about yourself and your background?

I am Namrah Khurram, a fresh graduate from Kinnaird College for Women Lahore, holding a degree in BSc. (Hon) in Computer Sciences. A former Microsoft Student Partner, my passion for learning about new technologies and honing my skills brought me to Microsoft Innovation Center, Lahore as an intern this July.

2.    How the idea of the Ramadan Duas came to you?

This is actually interesting for me at least as to how I ended up developing this app. It so happens that I have this big chart mounted on the wall back home since a couple of years. It has all the duas and their translation printed on it. Every day I had to go upstairs to recite it and I would always come back thinking that this should be available at hand all the time instead of having to go upstairs every time I want to recite a dua. This is how I ended up deciding that I shall make this available for Muslims on windows phone devices to facilitate them during the Holy month of Ramadan.


3.    Why you decided to implement this idea specifically on Windows Phone?

Windows phone is a less worked upon and a comparatively new development platform. The remarkable features that windows phone offers is one of the reasons which got me interested in windows phone application development. The OS, layout, features, ease in development, user-friendliness that windows phone platform offers – it all engrossed me. I also searched the marketplace for a similar app but failed to come across one, thus chose WP for implementing this idea.

4.    What resources on Microsoft or community side you found most helpful while working on the app? Could you please take us on a quick tour to understand your application better?

When I started this internship on the first day of July 2013, I had no prior knowledge of windows phone application development. What I had was absolute passion and sheer thirst of learning whatever I can about this platform and getting hold of any available help in order to become adept with this development environment. The amount of help I received from technical experts at Microsoft Innovation Center Lahore, MSDN blogs, forums and channel9 tutorials resulted in making me proficient quickly enough that my app was out in the marketplace within the next ten days that followed. 

The main purpose behind Ramadan Duas was to help Muslims around the world understand more about the abundant blessings, benefits and rewards in this Holy Month through these small prayers and authentic Ahadith, which have been distributed throughout the thirty days, one dua and one hadith for each day throughout the month.

5.    What are your interests behind technology?

Technology drives me. I believe technology is now an essential part of not only human lives but has also become a vital part for the businesses and industries that want to flourish, thrive and bloom in today’s competitive world. I believe technology nowadays is one of the major factors that can bring success and prosperity to a country.

6.    Any plans for news apps or projects in general?

Yes, I do have a couple of ideas in mind and I have started working on one of them already. That too is based on the Windows Phone development platform. I won’t be disclosing or discussing the project for now. Let’s just wait for it to come out once and for all in the windows phone store (soon).

7.    What would you advise to Developers in the region who also would like to become Pakistan Hero?

Develop for Pakistan. Be proud of who you are and make your country and countrymen proud. Your success is your country’s success altogether.

8.    Where the community can catch up with you online or offline?

I can be reached at:

Email: namrahkhurram@gmail.com


在 IE11 中使用 F12 开发人员工具调试和优化网站和应用


Windows 8.1 和 Windows 7 中的 Internet Explorer 11 带有一组内置的开发人员工具,我们对这些工具进行了颠覆性重新设计和增强,可以帮助开发人员跨多种设备来构建、诊断和优化现代网站和应用。我们将这一组全新工具简称为 F12,这些工具可帮助 Web 开发人员快速、高效地完成各项工作。

F12 由 Visual Studio 团队和 IE 团队密切合作构建而成,旨在为开发人员提供可操作的数据,帮助开发人员快速找出并解决问题。全新的 F12 包含用于诊断和修复性能问题的工具以及帮助您深入了解 IE 如何布局和呈现您的应用的工具,可以帮助您提供快速而流畅的 Web 体验。F12 支持现代 Web 开发人员所使用的快速、迭代工作流。


全新的 F12 可以帮助开发人员快速找出并解决问题。最重要的一些新功能如下:

  • UI 响应能力及内存分析工具,可帮助您构建快速而流畅的 Web 应用
  • 动态 DOM 资源管理器和 CSS 检查工具,它们随页面更新,因此您可以反复检查动态内容如何影响布局和样式
  • JavaScript 调试,它无需刷新页面即可快速启动,因此您可以更快地投入工作

使用过 F12 之后,您会发现可帮助您提供快速、迭代工作流的更多增强功能:

  • 通过 [inspect element](检查元素)右键菜单项快速启动工具
  • 通过键盘来执行工具操作
  • 完美复制工具中的元素和项目并将其粘贴到所选择的编辑器中,而无需重新设置格式

最重要的是,这些工具现在可以显示最精确的综合性信息,从 DOM 资源管理器中的 @media 规则和 !important 到 UI 响应能力分析工具中每个元素的布局开销,均能全面囊括。该工具还提供可直接操作的数据;例如,内存分析工具可识别未被标记或渲染树引用的所有活动 DOM 节点。

全新的 F12 与 Visual Studio 共享其中的众多体验,因此开发人员可以在 Microsoft 的 Web 开发工具和平台体系中获得一致的体验。


使用 UI 响应能力工具分析应用

UI 响应能力工具可以帮助您了解哪些组件占用了 CPU 时间,从而帮助您最大限度地改善应用性能。该工具以可视化形式显示 HTML、CSS 和 JavaScript 的执行情况以及对布局和垃圾回收等方面的重要边际影响,帮助您深入了解 IE 的内部工作情况。您可以高屋建瓴地准确了解您的应用的响应性以及呈现的流畅性。从而识别出影响应用性能的具体原因,更加有针对性地对应用进行优化。

F12 UI 响应能力工具 - Internet Explorer 11



内存工具可以帮助您避免内存泄露或内存的过度消耗。要构建可供消费者长期运行的 Web 应用或复杂的交互式应用,您必须重点关注应用的内存使用情况。

尽管 JavaScript 具有完善的垃圾回收环境,但如果应用引用的对象未能及时释放或无法释放,通常会导致应用消耗过多的内存。内存工具可以显示页面中每一个对象的相关信息,无论该对象是 JavaScript 对象还是 DOM 对象,从而帮助您发现这些问题。例如,利用这些信息,您可以查看 <img> 占用了多少内存以及哪些对象使其处于活动状态。最佳做法是,您可以比较两个快照之间的差异,定位发生变化的点,从而找出应用占用过多内存的原因并予以修正。

F12 内存工具 - Internet Explorer 11

显示已断开连接的 DOM 元素的堆快照


为了帮助您快速识别正在运行的页面中的性能问题,IE11 配备了一个名为性能仪表板的页面小组件,您可以通过 Ctrl+Shift+U 或通过“工具”(Alt+T) 菜单选项来访问性能仪表板。性能仪表板在 IE 中绘制呈现,可提供关键性能指标(例如,绘制时间、内存、每秒帧数 (FPS) 和 CPU 使用率)的实时统计信息。性能仪表板不需要 F12,也可以在沉浸式浏览器中使用。

利用性能仪表板,您可以快速识别导致帧率下降或 CPU 使用率提高的页面交互操作。然后,您可以切换到 F12 工具重现该问题并找出解决方法。

F12 工具 - 性能仪表板 - Internet Explorer 11
绘制时间性能仪表板 - Internet Explorer 11

使用 DOM 资源管理器检查元素以及修改布局和样式

DOM 资源管理器可以简化交互过程,优化 @media 查询和 CSS 规则及其属性,确保您的应用的 UI 能够跨多种设备正常工作并作出响应。通过右键单击网页中的元素可以快速对该元素进行检查,此时将启动 F12 并在 DOM 资源管理器中显示所选择的元素,并实时显示 DOM 和应用的 CSS 规则。所显示的 DOM 和 CSS 均为实时信息,因此您可以了解 IE 如何具体解释您的标记、样式和 CSS 规则。在与页面进行交互或通过 DOM 资源管理器编辑页面之后,所做的更改会立即反映到页面中。

F12 DOM 资源管理器 - Internet Explorer 11


对 CSS 进行更改后,DOM 资源管理器可以利用 IntelliSense 轻松地确定正确的属性或属性值。您可以轻松辨别哪些属性存在错误或无法识别,然后复制规则并应用到源代码中。

使用调试器和控制台调试 JavaScript

全新的 JavaScript 调试器为您提供了快速查找并修正易于出错的代码的工具。JavaScript 调试器可以打开和查看多个文件(即使您的库脚本已进行了压缩也可查看),设置断点和跟踪点,检查 JavaScript 对象、值、作用域链,并查看堆栈跟踪。在启动 F12 时会立即启动 JavaScript 调试器,以便您能够立即开始工作。

在调试过程中,您可能希望与您的网站进行交互。控制台是执行此操作的关键工具。您可以随时访问控制台并使用交互式环境,该环境包含 IntelliSense 和大量可视化工具。控制台还提供了各种专用 API,您可以利用这些 API 来记录输出信息,了解特定代码所花费的时间;当您需要对 JavaScript 对象进行深入检查时,还可以使用控制台提供的对象可视化工具。


本博文只是对 F12 中的新增功能进行了简要介绍。请参阅 IE11“F12 工具新增功能”和 IE11“Preview 开发人员指南”,了解面向开发人员的新功能的完整列表。您还可以观看“F12 Adventure”IE 体验演示了解更多信息。

请通过 Windows 应用商店安装 Windows 8.1 Preview并试用 IE11,或者试用 IE11 Developer Preview for Windows 7

我们期待收到您的反馈并与开发人员社区互动。请通过 IE11 的“发送反馈”工具或者在 Connect上提供建议或意见。

— PJ Hough
Visual Studio 副总裁

Debuggen und Optimieren von Websites und Apps mit F12-Entwicklungstools in IE11


Internet Explorer 11 enthält unter Windows 8.1 und Windows 7 eine vollständig neuentwickelte und erweitere Suite von browserinternen Entwicklungstools, die Entwickler beim Erstellen sowie der Diagnose und Optimierung von modernen Websites und Apps auf zahlreichen Geräten unterstützen. Die neuen Tools, von uns kurz als F12 bezeichnet, ermöglichen Webentwicklern ein schnelles und effizientes Arbeiten.

Die Visual Studio- und IE-Teams haben F12 gemeinsam und mit dem Grundgedanken erstellt, Ihnen eine umgehende Problemlösung anhand aussagekräftiger Daten zu ermöglichen. Die neue F12-Suite ermöglicht Ihnen mithilfe von Tools zur Diagnose und zur Behebung von Leistungsproblemen sowie weiteren Tools, die Ihnen als Entwickler einen tieferen Einblick in Layout und Rendering Ihrer App durch IE bietet, das Erstellen schneller und innovativer Websites. F12 unterstützt den schnellen iterativen Workflow moderner Webentwickler.

Umfassendes Toolset

Die neue F12-Suite hilft Entwicklern bei der raschen Problemlösung. Einiger der herausragenden, neuen Funktionen umfassen:

  • Tools für die Reaktionsfähigkeit der Benutzeroberfläche sowie die Speicherprofilerstellung zur Entwicklung schneller, innovativer Web-Apps
  • Live DOM-Explorer- und CSS-Inspektionstools, die mit der Seite aktualisiert werden, sodass Entwickler iterativ untersuchen können, wie sich dynamische Inhalte auf Layout oder Formate auswirken
  • JavaScript-Debugging mit schnellem Start ohne Seitenaktualisierung, sodass Sie schneller arbeiten können

Beim Arbeiten mit F12 werden Sie zahlreiche andere Verbesserungen entdecken, die einen schnellen, iterativen Workflow ermöglichen:

  • Schneller Einstieg in die Tools mit einem Kontextmenüpunkt zum Untersuchen von Elementen.
  • Praktische Tastaturbedienung.
  • Elemente und Codebestandteile lassen sich aus den Tools problemlos und ohne erneute Formatierung direkt in einen beliebigen Editor einfügen.

Besonders wichtig: Die Tools bieten ab sofort genaue und umfassende Informationen – von „@media“-Regeln und „!important“-Direktiven im DOM-Explorer bis hin zur auf Elementebene benötigten Leistung im Profiler für die Reaktionsfähigkeit der Benutzeroberfläche. Darüber hinaus stellen die Tools aussagekräftige Daten bereit. Beispielsweise kann die Speicherprofilerstellung alle aktiven DOM-Knoten ermitteln, auf die weder im Markup noch in der Renderingstruktur verwiesen wird.

Die neue F12-Suite hat viele dieser Features mit Visual Studio gemeinsam, sodass Entwickler in den Webentwicklungstools und -plattformen von Microsoft stets von der vertrauten Bedienung profitieren.

Werfen wir nun einen Blick auf ein paar Tools im praktischen Einsatz.

Optimieren einer App mit dem Tool für die Reaktionsfähigkeit der Benuteroberfläche

Dieses Tool hilft Ihnen beim Ermitteln der Elemente mit hoher CPU-Last, um Ihre App hinsichtlich der Leistung zu optimieren. Das Tool bietet die notwendigen Einblicke in die internen Prozesse von IE. Hierbei wird die Ausführung von HTML, CSS und JavaScript und wichtiger Seiteneffekte, wie beispielsweise Layout oder Speicherbereinigung (Garbage Collection), an einer Zeitachse grafisch verdeutlicht. So erkennen Sie auf einen Blick die Reaktionsfähigkeit Ihrer App und mögliche Probleme beim Rendering. Dadurch können Sie optimierungsbedürftigen Quellcode besser ermitteln und anpassen.

F12-Tool für Reaktionsfähigkeit der Benutzeroberfläche – Internet Explorer 11

Optimieren einer Website

Erkennen des Speicherbedarfs der App mit der Speicherprofilerstellung

Das Speichertool unterstützt Sie beim Verhindern von Arbeitsspeicherverlusten oder übermäßigem Speicherverbrauch. Das Erstellen von Webanwendungen, die Benutzer den ganzen Tag ausführen, oder von komplexen interaktiven Apps erfordert von Ihnen oft eine größere Aufmerksamkeit hinsichtlich des Speicherbedarfs dieser Apps.

Obwohl JavaScript über eine integrierte Speicherbereinigung verfügt, belegen Apps in der Regel mehr Speicher als notwendig. Dies liegt daran, dass Objektreferenzen nicht freigegeben werden und die Speicherbereinigung folglich nicht zum Einsatz kommt. Das Speichertool ermittelt derartige Probleme, indem Informationen zu allen Objekten einer Seite angezeigt werden (JavaScript-Code und DOM-Elemente). Mit diesen Informationen können Sie beispielsweise erkennen, wie viel Speicher ein „<img>“-Element belegt und aufgrund welcher Objekte es aktiv bleibt. Das Beste: Sie k��nnen zwei Snapshots vergleichen und die Änderungen anzeigen. Dadurch können Sie ermitteln, warum Ihre App mehr Speicher benötigt und das Problem anschließend beheben.

F12-Speichertool – Internet Explorer 11

Heap-Snapshot mit einzelnen DOM-Elementen

Unmittelbarer Einblick in die Leistung der App mit dem Leistungsdashboard

IE11 verfügt über ein Leistungsdashboard-Widget. Diese dient zum raschen Ermitteln von Leistungsproblemen auf der ausgeführten Seite. Das Widget wird direkt auf der Seite angezeigt, wenn dieses über STRG+UMSCHALT+U oder über die Menüoption ALT+T aufgerufen wird. Das Widget stellt in IE Echtzeitstatistiken zu wichtigen Leistungskennzahlen bereit, z. B. Renderingdauer, Speicherbedarf, Anzahl der Frames pro Sekunde (FPS) und CPU-Auslastung. Für das Leistungsdashboard ist F12 nicht erforderlich. Außerdem kann es im immersiven Browser verwendet werden.

Das Leistungsdashboard bietet Ihnen einen raschen Überblick über die Vorgänge auf der Seite, die Frameratedrops oder eine hohe CPU-Auslastung verursachen. Sie können anschließend zu den F12-Tools wechseln, um das Problem zu reproduzieren und zu beheben.

F12-Tools – Leistungsdashboard – Internet Explorer 11
Leistungsdashboard mit Renderingdauer – Internet Explorer 11

Untersuchen von Elementen und Bearbeiten von Layout und Formaten im DOM-Explorer

Der DOM-Explorer vereinfacht die interaktive Optimierung von „@media“-Abfragen und zugehöriger CSS-Regeln sowie deren Eigenschaften deutlich. Dadurch reagiert die Benutzeroberfläche Ihrer App geräteübergreifend reibungslos. Sie können direkt auf der Webseite ein Element überprüfen, indem Sie per Rechtsklick auf dieses die F12-Tools starten. Das Element ist im DOM-Explorer dann bereits ausgewählt – mit Live-DOM und angewendeten CSS-Regeln. DOM und CSS werden in Echtzeit angezeigt. So sehen Sie, wie IE Markup, Formate und CSS-Regeln interpretiert. Beim Testen der Seite oder der Bearbeitung über den DOM-Explorer werden Änderungen unmittelbar dargestellt.

F12-DOM-Explorer – Internet Explorer 11

Untersuchen von Markup und Formaten

Der DOM-Explorer erleichtert das Bearbeiten von CSS-Regeln durch die Auswahl von erwünschten Eigenschaften oder Werten mit IntelliSense. Sie erkennen Sie sofort, welche Eigenschaften Probleme verursachen. Sie können das Problem beheben und die geänderte Regel anschließend wieder in den Quellcode einfügen.

Debuggen von JavaScript mit Debugger und Konsole

Der neue JavaScript-Debugger stellt Ihnen die erforderlichen Werkzeuge bereit, um fehlerhaften Code schnell zu ermitteln und zu korrigieren. Im JavaScript-Debugger können Sie mehrere Dateien öffnen und anzeigen, selbst wenn das Skript komprimiert ist. Sie können Halte- und Ablaufverfolgungspunkte setzen, JavaScript-Objekte, Werte und Bereichsketten überprüfen sowie Stapelüberwachungen anzeigen. Beim Starten von F12 wird der JavaScript-Debugger ebenfalls gestartet – so können Sie sofort mit der Arbeit beginnen

Vermutlich möchten Sie Ihre Website während des Debuggens testen. Hierfür eignet sich die Konsole. Sie können jederzeit auf die Konsole zugreifen und die interaktive Umgebung mit IntelliSense und Objektvisualisierungen verwenden. Die Konsole stellt gleichzeitig eine Reihe spezifischer APIs zur Verfügung, die das Protokollieren von Ausgaben ermöglichen, die benötigte Zeit in bestimmten Codeabschnitten ermitteln oder Objektvisualisierungen anzeigen können, wenn Sie JavaScript-Objekte eingehender prüfen möchten.


Diese Beitrag kratzt nur an der Oberfläche der neuen Funktionen von F12. Eine vollständige Liste aller neuen Funktionen für Entwickler finden Sie in Neues bei den F12-Tools und unter Internet Explorer 11 Preview: Handbuch für Entwickler. Weitere Informationen finden Sie auch im IE Test Drive F12 Adventure.

Installieren Sie die Windows 8.1 Preview aus dem Windows Store und testen Sie IE11 oder verwenden Sie die Internet Explorer 11 Developer Preview für Windows 7.

Wir freuen uns auf Ihr Feedback und Ihre Beteiligung an der Entwickler-Community. Teilen Sie uns Ihre Vorschläge über das IE11-Tool „Feedback senden“ oder über Connect mit.

— PJ Hough
Vice President, Visual Studio

Débogage et optimisation des sites et des applications Web dans IE11 à l'aide des Outils de développement F12


Internet Explorer 11 sur Windows 8.1 et Windows 7 offre une série d'outils de développement intégrés au navigateur entièrement repensés et optimisés. Ainsi, les développeurs peuvent facilement créer et diagnostiquer des sites et des applications Web modernes, et les optimiser pour tous types d'appareils. Ces outils, appelés « outils F12 », permettent aux développeurs Web de travailler plus rapidement et plus efficacement.

Les équipes Visual Studio et IE ont travaillé main dans la main pour mettre au point des outils F12 spécialement conçus pour vous aider à passer rapidement du problème à la solution, à l'aide de données sur lesquelles vous pouvez agir. Ces outils vous permettent de proposer des expériences Web rapides et fluides, grâce à des outils permettant de diagnostiquer et de corriger les problèmes de performances et à d'autres outils qui fournissent un point de vue plus détaillé sur la manière dont IE génère la disposition et le rendu de votre application. Les outils F12 prennent en charge le workflow rapide et itératif qu'utilisent les développeurs Web actuels.

Un ensemble d'outils extrêmement complet

Les nouveaux outils F12 aident les développeurs à passer rapidement du problème à la solution. Voici quelques-unes des principales nouveautés :

  • Les outils d'amélioration de la réactivité de l'interface utilisateur et de profilage de mémoire vous aident à créer des applications Web rapides et fluides.
  • Les outils d'exploration directe du DOM et d'inspection des feuilles CSS, mis à jour en même temps que la page, vous permettent d'explorer de façon itérative la manière dont le contenu dynamique influe sur la disposition ou les styles.
  • Les outils de débogage JavaScript démarrent rapidement sans actualiser la page, pour vous permettre de commencer à travailler plus rapidement.

En utilisant les outils F12, vous remarquerez certainement d'autres améliorations qui vous permettront de mettre en place un workflow rapide et itératif :

  • Fonctionnalité de saisie rapide dans les outils, grâce à une commande de menu contextuel permettant d'inspecter l'élément
  • Expérience entièrement contrôlable au clavier
  • Fonctionnalités avancées de copie d'éléments à partir des outils, pour vous permettre de les coller dans l'éditeur de votre choix sans être obligé de les remettre en forme

Plus important encore, les outils affichent désormais les informations les plus précises et les plus complètes possible : règles @media et propriété !important dans l'explorateur DOM, coûts liés à la disposition de chaque élément dans l'outil de profilage de la réactivité de l'interface utilisateur, etc. Les outils fournissent aussi des données sur lesquelles vous pouvez agir directement. Par exemple, l'outil de profilage de mémoire identifie tous les nœuds DOM qui sont actifs, mais qui ne sont pas référencés dans le code ou dans l'arborescence de rendu.

Les nouveaux outils F12 partagent bon nombre de ces expériences avec Visual Studio, et les développeurs profitent donc d'une expérience cohérente sur l'ensemble des outils et des plateformes de développement Web de Microsoft.

Observons maintenant de plus près comment fonctionnent certains de ces outils.

Profilage d'une application à l'aide de l'outil d'amélioration de la réactivité de l'interface utilisateur

L'outil d'amélioration de la réactivité de l'interface utilisateur vous aide à mieux identifier les opérations consommant le plus de temps processeur, de sorte que le potentiel de performance de votre application soit exploité au mieux. L'outil vous offre toutes les informations dont vous avez besoin sur le fonctionnement interne d'IE, en mettant à votre disposition une représentation chronologique de l'exécution du code HTML, CSS et JavaScript, mais aussi des données sur les principaux effets secondaires (disposition et nettoyage de mémoire, par exemple). Vous pouvez ainsi voir d'un coup d'œil si votre application est réactive et dans quelle mesure le rendu est fluide. Fort de ces informations, vous pouvez identifier précisément la source des éventuels goulots d'étranglement, ce qui vous permet de prendre des décisions plus avisées en vue d'une optimisation.

Outil F12 d'amélioration de la réactivité de l'interface utilisateur - Internet Explorer 11

Profilage d'un site Web

Comprendre comment une application consomme de la mémoire, à l'aide de l'outil de profilage de mémoire

L'outil de profilage de mémoire vous aide à éviter les fuites de mémoire et les utilisations excessives de mémoire. Si vous développez des applications Web que les utilisateurs exécutent en permanence ou des applications interactives complexes, vous devez faire d'autant plus attention à la consommation de mémoire de votre application.

Bien que l'environnement JavaScript fasse l'objet d'un nettoyage de mémoire, les applications consomment généralement plus de mémoire, car leurs références à des objets n'ont pas été débloquées et ne peuvent pas être libérées. L'outil de profilage de mémoire vous aide à identifier ces problèmes en vous fournissant des informations sur l'ensemble des objets de la page, qu'ils se trouvent dans le code JavaScript ou dans le DOM. Grâce à ces informations, vous pouvez par exemple savoir combien de mémoire conserve tel ou tel élément <img>, et quels objets le maintiennent actif. Encore mieux, vous pouvez effectuer une recherche différentielle entre deux clichés et identifier les changements, pour mieux comprendre pourquoi votre application utilise plus de mémoire et corriger le problème.

Outil F12 de profilage de mémoire - Internet Explorer 11

Instantané de segment de mémoire montrant les éléments DOM

Obtenir un point de vue immédiat sur les performances d'une application à l'aide du tableau de bord des performances

Pour vous aider à identifier rapidement les problèmes de performances affectant une page en cours d'exécution, IE11 possède un widget de page : le tableau de bord des performances. Pour y accéder, appuyez sur Ctrl+Maj+U ou utilisez l'option de menu Outils (Alt+T). Il s'affiche dans IE et fournit des statistiques en temps réel sur des statistiques de performances clés : durée de traçage, mémoire, fréquence d'images, utilisation du processeur, etc. Le tableau de bord des performances ne nécessite pas les outils F12 et peut être utilisé également dans le navigateur immersif.

Grâce au tableau de bord des performances, vous pouvez identifier rapidement les interactions de page qui créent des saccades au niveau de la fréquence d'images ou qui entraînent une consommation élevée de ressources processeur. Vous pouvez ensuite accéder aux outils F12 pour reproduire le problème et trouver une solution.

Outils F12 - Tableau de bord des performances - Internet Explorer 11
Tableau de bord des performances de traçage - Internet Explorer 11

Inspection des éléments et modification de la disposition et des styles à l'aide de l'explorateur DOM

L'explorateur DOM simplifie le processus interactif d'optimisation des requêtes @media, mais aussi des règles CSS et de leurs propriétés, de façon à ce que l'interface utilisateur de votre application soit optimale et parfaitement réactive sur l'ensemble des appareils. Vous pouvez démarrer rapidement l'explorateur à partir de la page Web en cliquant avec le bouton droit de la souris et en inspectant un élément. Les outils F12 s'ouvrent alors. L'élément concerné est automatiquement sélectionné dans l'explorateur DOM, le DOM actuel est appliqué et les règles CSS sont affichées. Le DOM et le code CSS apparaissent en direct, pour vous permettre de comprendre comment IE interprète les spécificités de votre code, de vos styles et de vos règles CSS. Lorsque vous interagissez avec la page ou que vous la modifiez via l'explorateur DOM, les modifications sont répercutées immédiatement.

Explorateur DOM des outils F12 - Internet Explorer 11

Inspection du code et des styles

Lorsque vous apportez des modifications au code CSS, l'explorateur DOM vous permet d'obtenir facilement la propriété ou la valeur de propriété adéquate grâce à IntelliSense. Vous pouvez voir facilement quelles propriétés comportent une erreur ou ne sont pas reconnues, puis copier la règle afin de l'appliquer à la source.

Débogage du code JavaScript à l'aide du débogueur et de la console

Le nouveau débogueur JavaScript met à votre disposition les outils dont vous avez besoin pour localiser les parties de code qui génèrent des erreurs et les corriger rapidement. Le débogueur JavaScript peut ouvrir et afficher plusieurs fichiers, même si votre script de bibliothèque a été réduit, mais aussi définir des points d'arrêt et des points de trace, inspecter des objets, des valeurs et des chaînes de portée JavaScript, et afficher des arborescences d'appels de procédure. Lorsque vous lancez les outils F12, le débogueur JavaScript démarre immédiatement, pour vous permettre de travailler sans attendre

Dans de nombreux cas, il peut être utile d'interagir avec votre site Web au cours du débogage. Pour cela, la console est un outil essentiel. Vous pouvez accéder à la console à tout moment, pour utiliser son environnement interactif avec IntelliSense et ses nombreux outils de visualisation des objets. La console offre également toute une série d'API spécifiques permettant d'enregistrer les sorties dans un journal, d'identifier le temps consacré au traitement des différents éléments du code et d'afficher des outils de visualisation des objets lorsque vous avez besoin d'inspecter en profondeur vos objets JavaScript.


Ce billet évoque uniquement une petite partie des nouveautés des outils F12. La liste complète des nouveautés proposées aux développeurs est disponible dans l'article Nouveautés des outils de développement F12 et dans le document Preview Developer Guide, tous deux consacrés à IE11. Pour en savoir plus, vous pouvez également utiliser la démonstration IE Test Drive F12 Adventure.

N'hésitez pas à installer Windows 8.1 Previewà partir du Windows Store et à essayer IE11, ou à essayer IE11 Developer Preview pour Windows 7.

Nous sommes impatients de connaître votre avis et de poursuivre notre collaboration avec la communauté des développeurs. N'hésitez pas à nous faire part de vos suggestions, soit par le biais de l'outil d'envoi de commentaires d'IE11, soit via Connect.

— PJ Hough
Vice-président, Visual Studio

IE11 の F12 開発者ツールによる Web サイトおよびアプリのデバッグとチューニング


Windows 8.1 と Windows 7 の Internet Explorer 11 では、根本的に再設計され強化された開発者ツールをブラウザー内で利用できます。開発者はこのツールを使用して、最新の Web サイトおよびアプリの開発、診断、最適化を複数のデバイスで実行することができます。Web 開発者の迅速で効率的な作業を可能するこの新しいツールは、略して F12 と呼ばれます。

Visual Studio チームと IE チームの共同開発によって生まれた F12 の核となる原則は、実用的なデータを提供して問題の特定から解決までをスムーズに導くことです。新しい F12 は、パフォーマンスの問題の診断および修正ツールと、IE によるアプリのレイアウトとレンダリングの状況を詳細に理解できるツールを通して、高速で滑らかな Web エクスペリエンスの提供を可能にします。F12 は、最先端の Web 開発者が求める高速で反復的なワークフローをサポートします。


開発者の皆様は、新しい F12 を使用して、特定した問題をすばやく解決することができます。いくつかの重要な新機能を以下に示します。

  • UI の応答性およびメモリのプロファイリング ツール: 高速で滑らかな Web アプリの開発を支援します。
  • リアルタイムの DOM エクスプローラーと CSS 検査ツール: ページと同時に更新されるため、レイアウトとスタイルに対する動的コンテンツの影響を反復的に確認できます。
  • JavaScript デバッグ機能: ページを更新しなくても開始されるため、必要な作業にすばやく着手できます。


  • ツールをすばやく呼び出せる [要素の検査] 右クリック メニュー項目
  • キーボード操作対応のエクスペリエンス
  • ツールから要素や項目をコピーする際の多様なオプション。書式を設定し直すことなく、使用中のエディターへの貼り付けが可能

最も優れた点は、DOM Explorer の @media ルールおよび !important から UI 応答性のプロファイリング ツールの要素別レイアウト コストまで、ツールを通して高精度で包括的な情報を得られることです。これらのツールは、すぐに役立つ実用的なデータを提供します。たとえばメモリ プロファイラーは、有効であるもののマークアップやレンダリング ツリーから参照されていない DOM ノードをすべて特定します。

新しい F12 の機能の多くは Visual Studio と共通しているため、Microsoft が提供する一連の Web 開発ツールおよびプラットフォーム全体で、一貫性のあるエクスペリエンスが提供されます。


UI の応答ツールを使ってアプリをプロファイリングする

UI の応答ツールを使うと、CPU 時間の消費領域を把握することで、アプリで可能なパフォーマンスを最大限に引き出せるようになります。HTML、CSS、JavaScript の実行状況と、レイアウトやガベージ コレクションなどの重要な副次的要素をタイムライン上に可視化することで、パフォーマンス最大化に必要な IE の内部動作の詳細を提供します。このツールをひとめ見るだけでアプリの応答性とレンダリングのスムーズさを正確に理解できるので、ボトルネックの具体的な原因を特定し、さまざまな情報に基づく最適化を実施できるようになります。

F12 の UI の応答ツール - Internet Explorer 11

Web サイトのプロファイリング

メモリ プロファイラーを使ってアプリのメモリ消費を把握する

メモリ ツールを使用すると、メモリ リークや過剰なメモリ消費を回避することができます。コンシューマーが 1 日中使い続ける Web アプリや複雑な対話型アプリの多くは、アプリのメモリ消費に対する特別な注意を必要とします。

JavaScript はガベージ コレクションが実行される環境ですが、一般的にはアプリはそれ以上のメモリを消費します。これは、オブジェクトへの参照は解放されず再フィードもできないという単純な理由によります。メモリ ツールでは、JavaScript 内または DOM 内にかかわらずページ上のすべてのオブジェクトに関する情報を提供することで、こうした問題を特定できるようにします。この情報が提供されることで、たとえば <img> が保持しているメモリ量と、それを有効な状態で保持しているオブジェクトがわかります。特に便利なのが、2 つのスナップショットの差分を比較して変更内容を確認し、アプリがメモリを多く使用している理由を特定して修正できる機能です。

F12 のメモリ ツール - Internet Explorer 11

切断された DOM 要素を示すヒープ スナップショット

パフォーマンス ダッシュボードを使ってアプリの詳細なパフォーマンスを瞬時に把握する

IE11 では、実行中ページのパフォーマンスに関する問題を瞬時に特定するためのウィジェットがページ上に表示されます。このウィジェットはパフォーマンス ダッシュボードと呼ばれ、Ctrl + Shift + U または [ツール] メニュー (Alt + T) のオプションからアクセスできます。このウィジェットは IE の情報を収集して、描画時間、メモリ、フレーム率 (FPS)、CPU 使用率などの重要なパフォーマンス指標をリアルタイム統計情報として提供します。パフォーマンス ダッシュボードは F12 なしで利用でき、イマーシブなブラウザー内にも表示されます。

パフォーマンス ダッシュボードを使うと、フレーム率低下や CPU 使用率上昇の原因となるページ インタラクションを簡単に特定できます。その後 F12 ツールに切り替えれば、問題を再現して解決策を見つけることができます。

F12 のツール - パフォーマンス ダッシュボード - Internet Explorer 11
描画時間のパフォーマンス ダッシュボード - Internet Explorer 11

DOM Explorer を使って要素を検査し、レイアウトとスタイルを変更する

DOM Explorer を使うと、@media クエリ、および CSS ルールとそのプロパティを対話型のプロセスで簡単にチューニングし、アプリ UI の複数のデバイスにわたる応答性を完全に実現することができます。Web ページを右クリックして [要素の検査] をクリックすると F12 をすぐに起動できます。この F12 は、対象の要素が DOM Explorer に選択され、ライブ DOM と適用された CSS ルールが表示された状態で表示されます。DOM と CSS はリアルタイムで表示されるため、マークアップ、スタイル、CSS ルールが IE でどのように解釈されているかが個別にわかります。ページの操作や DOM Explorer 内での編集を実行した場合は、変更内容が瞬時に反映されます。

F12 の DOM Explorer - Internet Explorer 11


DOM Explorer における CSS の変更では、IntelliSense によって適切なプロパティまたはプロパティ値を簡単に確認できます。エラーになるプロパティや認識されないプロパティを簡単に特定して、このルールをソースにコピーすることができます。

デバッガーとコンソールを使って JavaScript をデバッグする

新しい JavaScript デバッガーが提供するツールを通して、エラーが発生しやすいコードを簡単に特定して修正できます。JavaScript デバッガーでは、ライブラリ スクリプトが縮小されている場合でも、複数のファイルのオープンと表示、ブレークポイントとトレースポイントの設定、JavaScript オブジェクト、値、スコープ チェーンの検査、スタック トレースの表示を行うことができます。F12 の起動と同時に JavaScript デバッガーも起動するため、すぐに作業に着手できます。

Web サイトを操作しながらデバッグも進めるには、コンソールを使用します。コンソールにはいつでもアクセスでき、IntelliSense と豊富なオブジェクト ビジュアライザーを活用できます。さらに、このコンソールが提供するさまざまな API を使って、出力のログ記録、特定のコードに費やされた時間の追跡、オブジェクト ビジュアライザーを使用した JavaScript オブジェクトの詳細な検査などを行うことができます。


今回の記事では、F12 の新機能についてほんの一部を紹介しました。開発者の皆様が利用できる新機能の完全な一覧は、IE11 の「F12 ツールでの新機能」および「Internet Explorer 11 Preview 開発者向けガイド」を参照してください。IE Test Drive の F12 Adventure (英語) でも詳細をご覧いただけます。

ぜひ IE11 をお試しください。Windows ストアから Windows 8.1 Previewをダウンロードするか、Windows 7 向け IE11 Developer Previewとしてご利用いただけます。

私たちは今後も皆様のフィードバックをお願いすると同時に、開発者のコミュニティと連携して取り組みを続けてまいります。ご意見をお寄せいただく場合は、IE11 のフィードバック送信ツールまたは Connectのいずれかをお使いください。

— PJ Hough
Visual Studio 担当バイス プレジデント

IE11의 F12 개발자 도구를 사용한 디버깅과 웹 사이트 및 앱 조정


Windows 8.1 및 Windows 7용 Internet Explorer 11은 완전히 새로워지고 더욱 강력해진 브라우저 내 개발자 도구를 제공합니다. 개발자들은 이 도구를 사용하여 다양한 장치에서 사용할 수 있는 세련된 웹 사이트와 앱을 개발, 진단, 최적화할 수 있습니다. 간단히 F12라고 부르는 이 새로운 도구를 사용하면 웹 개발자들은 빠르고 효율적인 작업을 할 수 있습니다.

Visual Studio와 IE팀은 실행 가능한 데이터에 대한 문제점과 해결책을 빠르게 찾을 수 있도록 지원하겠다는 핵심 원칙을 가지고 F12 개발에 협력해왔습니다. 새로운 F12를 통해 빠르고 유연한 웹 환경을 제공할 수 있습니다. F12에는 성능 문제를 진단하고 수정하는 도구와 IE가 어떻게 앱을 배치하고 렌더링하는지 더 깊이 이해할 수 있도록 도와주는 도구가 있습니다. F12는 현대의 웹 개발자들이 사용하는 빠르고 반복적인 워크플로를 지원합니다.

포괄적인 도구 집합

새로운 F12를 이용하여 개발자들은 문제점과 해결책을 신속하게 찾을 수 있습니다. 새로운 기능의 몇 가지 대표적인 내용을 소개합니다.

  • 빠르고 유연한 웹 앱을 개발할 수 있도록 도와주는 UI 응답성 및 메모리 프로파일링 도구
  • 동적 콘텐츠가 레이아웃과 스타일에 주는 영향을 반복해서 살펴볼 수 있도록 페이지와 함께 업데이트되는 Live DOM Explorer 및 CSS 검사 도구
  • 페이지 새로 고침 없이 신속하게 시작되므로 더욱 빠르게 작업을 시작할 수 있는 JavaScript 디버깅

F12를 사용해 보면 빠르고 반복적인 워크플로를 가능하게 하는 그 외 많은 향상 기능을 확인할 수 있습니다.

  • '검사 요소' 오른쪽 클릭 메뉴 항목을 통해 간편하게 도구 시작 가능
  • 키보드를 이용할 때와 같은 환경
  • 도구에서 요소와 항목 리치 복사로 다시 포맷하지 않고도 원하는 편집기로 붙여넣기 가능

가장 중요한 점은 현재 도구가 DOM Explorer의 @media 규칙 및 !important부터 UI 응답성 프로파일러의 요소별 레이아웃 비용까지 가장 정확하고 종합적인 정보를 보여준다는 것입니다. 도구는 또한 실행 가능한 데이터를 직접 제공합니다. 예를 들어, 메모리 프로파일러는 사용할 수 있지만 마크업이나 렌더 트리에서 참조되지 않은 모든 DOM 노드를 식별합니다.

새로운 F12는 대부분의 환경을 Visual Studio와 공유합니다. 따라서 개발자는 Microsoft의 연속적인 웹 개발 도구 및 플랫폼의 일관된 환경에서 작업할 수 있습니다.

이제 이 도구들 중 몇 가지의 실제 활용에 대해 간단히 알아보겠습니다.

UI 응답성 도구를 사용한 앱 프로파일링

UI 응답성 도구를 사용하면 CPU 시간이 어디에 사용되었는지 파악할 수 있어 앱이 가진 최대한의 잠재력을 발휘할 수 있습니다. 이 도구는 HTML, CSS, JavaScript 실행 타임라인을 시각적으로 보여주고 레이아웃 및 가비지 수집과 같은 중요한 부작용을 알려주어 IE의 내부 동작에 필요한 이해를 돕습니다. 앱의 응답 속도가 정확히 어느 정도인지, 얼마나 유연하게 렌더링되는지 한눈에 파악할 수 있습니다. 이를 통해, 구체적인 병목 현상의 원인을 확인할 수 있어, 더욱 객관적으로 최적화할 수 있습니다.

F12 UI 응답성 도구 - Internet Explorer 11

웹 사이트 프로파일링

메모리 프로파일러를 통한 앱 메모리 사용량 파악

메모리 도구를 사용하면 메모리가 낭비되거나 과도하게 사용되는 것을 방지할 수 있습니다. 소비자가 하루 종일 계속 실행하는 웹 앱이나 복잡한 대화형 앱을 개발하는 경우 앱의 메모리 사용량에 더욱 주의를 기울여야 합니다.

JavaScript는 가비지가 수집된 환경이지만, 개체에 대한 참조가 발표되지 않았고 개방될 수 없다는 이유만으로 일반적으로 더 많은 메모리를 사용합니다. 메모리 도구는 JavaScript든 DOM이든 페이지의 모든 개체에 대한 정보를 제공하여 이러한 문제들을 찾아내는 데 도움이 됩니다. 이 정보가 있으면 예를 들어 <img>가 얼마나 많은 메모리를 차지하고 있는지, 어느 개체들이 이것을 사용 가능하게 하는지 확인할 수 있습니다. 무엇보다 두 개의 스냅샷을 비교하여 변경된 부분을 확인할 수 있기 때문에 앱이 지나치게 많은 메모리를 사용하고 있는 이유를 찾아 수정할 수 있습니다.

F12 메모리 도구 - Internet Explorer 11

연결이 끊긴 DOM 요소를 보여주는 힙 스냅샷

성능 대시보드를 통해 앱 성능 즉시 파악

IE11에는 실행 페이지에서 성능 문제를 빠르게 파악할 수 있도록 페이지상에 성능 대시보드라는 위젯이 있습니다. Ctrl+Shift+U 또는 도구(Alt+T) 메뉴 옵션을 통해 액세스할 수 있습니다. 성능 대시보드는 IE를 파악하여 페인트 시간, 메모리, 초당 프레임 수(FPS), CPU 사용률 등 핵심 성능 메트릭에 대한 실시간 통계를 제공합니다. 성능 대시보드에는 F12가 반드시 필요하지는 않고 몰입형 브라우저에서도 사용할 수 있습니다.

성능 대시보드를 사용하면 프레임 속도 저하나 높은 CPU 사용률의 원인이 되는 페이지의 상호 작용 방식을 빠르게 확인할 수 있습니다. 그 다음 F12 도구로 전환하여 문제를 재현하고 해결책을 찾을 수 있습니다.

F12 도구 - 성능 대시보드 - Internet Explorer 11
페인트 시간 성능 대시보드 - Internet Explorer 11

DOM Explorer를 사용한 요소 검사와 레이아웃 및 스타일 수정

DOM Explorer는 @media 쿼리와 CSS 규칙 및 속성을 조정하는 대화형 프로세스를 단순화하여 앱의 UI가 여러 장치 전반에 걸쳐 완벽하고 빠르게 반응할 수 있도록 합니다. 웹 페이지에서 빠르게 시작할 수 있는데, 요소를 오른쪽 클릭하고 검사하면 F12가 DOM Explorer에서 선택한 요소와 함께 시작되고 Live Dom과 적용 CSS 규칙이 표시됩니다. 표시되는 DOM과 CSS가 사용 가능한 것이므로, IE가 마크업, 스타일, CSS 규칙의 구체성을 어떻게 해석하는지 파악할 수 있습니다. 페이지를 보고 상호 작용하거나 DOM Explorer를 통해 편집하면 변경 사항이 즉시 반영됩니다.

F12 DOM Explorer - Internet Explorer 11

마크업과 스타일 검사

CSS를 변경할 때, DOM Explorer는 IntelliSese로 적절한 속성이나 속성 값을 쉽게 찾을 수 있게 합니다. 어느 속성에 오류가 있는지 또는 어느 속성이 인식되지 않는지 쉽게 확인한 다음 소스에 다시 적용할 규칙을 복사할 수 있습니다.

디버거와 콘솔을 사용한 JavaScript 디버깅

새로운 JavaScript 디버거는 오류가 발생하기 쉬운 코드를 빠르게 찾아 수정할 수 있는 도구들을 제공합니다. JavaScript 디버거는 라이브러리 스크립트가 축소되었더라도 여러 개의 파일을 열어보고, 중단점과 추적점을 설정하고, JavaScript 객체, 값, 범위 체인을 검사하고 스택 추적을 확인할 수 있습니다. F12를 시작하면 JavaScript 디버거가 즉시 시작되어 바로 작업을 시작할 수 있습니다.

디버깅 중인 웹 사이트와 상호 작용이 필요할 때가 있을 수 있습니다. 그러려면 콘솔을 필수 도구로 사용해야 합니다. 언제든지 콘솔을 액세스할 수 있고 IntelliSense로 대화형 환경과 다양한 개체 시각화 도구를 활용할 수 있습니다. 콘솔은 출력을 기록하거나 특정 코드에 소비된 시간을 파악하거나 JavaScript 개체를 깊이 있게 검사해야 할 때 개체 시각화 도구를 제공할 수 있는 다양한 전용 API도 제공합니다.


이 글에서는 F12의 새로운 기능을 간략하게만 소개했습니다. 'F12 도구의 새로운 기능'과 IE11 '개발자용 프리뷰 가이드'에서 개발자를 위한 새로운 기능의 전체 목록을 확인할 수 있습니다. IT 테스트 드라이브, 'F12 Adventure'에서도 더 자세한 내용을 알아볼 수 있습니다.

Windows 스토어에서 Windows 8.1 Preview를 다운로드하여 IE11를 직접 체험해 보거나 Windows 7용 IE11 개발자 프리뷰를 사용해 보시기 바랍니다.

앞으로도 개발자 커뮤니티에 활발히 참여해 주시고 많은 의견을 남겨 주시기 바랍니다. IE11 의견 보내기 도구나 Connect를 통해 의견을 보내주십시오.

- Visual Studio 부사장,
PJ Hough

Depurando e ajustando sites e aplicativos com as Ferramentas de Desenvolvedor F12 no IE11


O Internet Explorer 11 no Windows 8.1 e Windows 7 vem com um pacote avançado e totalmente reformulado de ferramentas de desenvolvimento dentro do navegador que ajudam os desenvolvedores a criar, diagnosticar e otimizar aplicativos e sites modernos em vários dispositivos. As novas ferramentas, que chamamos de F12 para simplificar, permitem aos desenvolvedores da Web trabalhar com rapidez e eficiência.

As equipes do Visual Studio e do IE trabalharam juntas para criar o F12 com o princípio fundamental de ajudá-lo a solucionar problemas rapidamente com dados aplicáveis. O novo F12 permite que você proporcione experiências na Web rápidas e fluidas com ferramentas para diagnosticar e corrigir problemas de desempenho e ferramentas que oferecem informações aprofundadas sobre como o IE está exibindo o layout e renderizando o seu aplicativo. O F12 dá suporte ao fluxo de trabalho rápido e interativo usado por desenvolvedores da Web modernos.

Um conjunto de ferramentas abrangente

O novo F12 ajuda os desenvolvedores a solucionar problemas rapidamente. Estas são algumas das novas funcionalidades principais:

  • Ferramentas de criação de perfil de memória e capacidade de resposta de interface do usuário para ajudá-lo a criar aplicativos Web fluidos e rápidos
  • Ferramentas de inspeção CSS e do Live DOM Explorer que são atualizadas com a sua página para que você possa explorar de forma iterativa como o conteúdo dinâmico está afetando o layout ou os estilos
  • Depuração de JavaScript que começa rapidamente sem a atualização de uma página para que você possa entrar em ação com mais rapidez

Conforme usar o F12, você observará muitas outras melhorias que contribuirão para um fluxo de trabalho rápido e iterativo:

  • Entrada rápida nas ferramentas por meio de um item de menu acionável pelo botão direito do mouse de inspeção de elemento
  • Uma experiência que pode ser conduzida pelo teclado
  • Cópia com formatação de elementos e itens das ferramentas, para que você possa colar no editor que preferir sem reformatar

O mais importante é que as ferramentas agora mostram as informações mais abrangentes e precisas, incluindo as regras do @media e !important no DOM Explorer, os custos de layout por elemento no criador de perfil com capacidade de resposta da interface do usuário. As ferramentas também fornecem dados diretamente aplicáveis; por exemplo, o criador de perfil de memória identifica todos os nós DOM que são dinâmicos, mas não especificados pela árvore de marcação ou de renderização.

O novo F12 compartilha muitas dessas experiências com o Visual Studio, para que os desenvolvedores tenham uma experiência uniforme em todas as plataformas e ferramentas de desenvolvimento da Web da Microsoft.

Vejamos agora algumas dessas ferramentas em ação.

Criando o perfil de um aplicativo com a ferramenta de capacidade de resposta da interface do usuário

Essa ferramenta o ajuda a identificar onde é gasto o tempo da CPU, para que o seu aplicativo possa atingir seu desempenho máximo. A ferramenta fornece as informações aprofundadas necessárias sobre o funcionamento interno do IE oferecendo uma visualização em linha do tempo da execução de JavaScript, CSS e HTML, juntamente com importantes efeitos colaterais, como coleta de lixo e layout. Em um instante, você pode ver exatamente como está a capacidade de resposta do seu aplicativo e se a sua renderização está sendo fluida. Isso permite que você identifique a origem específica de afunilamentos, de forma que possa fazer otimizações mais embasadas.

Ferramenta de capacidade de resposta F12 - Internet Explorer 11

Criando perfil de um site

Entendendo o consumo de memória de um aplicativo com o criador de perfil de memória

A ferramenta de memória ajuda a evitar perda ou uso excessivo da memória. A criação de aplicativos Web que ficam em uso o dia todo ou de aplicativos interativos complexos exige mais atenção ao uso da memória no seu aplicativo.

Embora o JavaScript seja um ambiente de coleta de lixo, os aplicativos normalmente consomem mais memória simplesmente porque referências a objetos não foram e nem podem ser liberadas. A ferramenta de memória ajuda a localizar esses problemas oferecendo informações sobre cada objeto da página, seja no JavaScript ou no DOM. Com essas informações, por exemplo, você pode ver a quantidade de memória que uma <img> está usando e quais objetos estão mantendo seu dinamismo. E o melhor de tudo é que você pode distinguir dois instantâneos e ver o que foi alterado para que possa descobrir por que o seu aplicativo está usando mais memória e corrigir o problema.

Ferramenta de memória F12 - Internet Explorer 11

Um instantâneo de heap mostrando elementos do DOM desconectados

Obtendo informações imediatas sobre o desempenho de um aplicativo no painel de desempenho

Para ajudar a identificar rapidamente os problemas de desempenho na página em execução, o IE11 possui um widget na página chamado painel de desempenho que pode ser acessado pelo atalho Ctrl + Shift + U ou pela opção de menu Ferramentas (Alt+T). Ele é aberto no IE e fornece estatísticas dinâmicas sobre métricas de desempenho fundamentais, como o tempo de pintura, a memória, quadros/s e utilização da CPU. O painel de desempenho não exige o F12 e pode ser usado no navegador imersivo também.

Com o painel de desempenho, você pode identificar rapidamente as interações da página que causam a queda na taxa de quadros ou o aumento na utilização da CPU. É possível alternar para o F12 para reproduzir o problema e achar a solução.

Ferramentas F12 - Painel de desempenho - Internet Explorer 11
Painel de desempenho do tempo da pintura - Internet Explorer 11

Inspecionando elementos e modificando o layout e os estilos com o DOM Explorer

O DOM Explorer simplifica o processo interativo de ajustar as suas consultas do @media, as suas regras CSS e suas propriedades, para que a interface do usuário do seu aplicativo fique perfeita e com maior capacidade de resposta em diferentes aplicativos. Você pode começar rapidamente na página da Web clicando com o botão direito do mouse e inspecionando um elemento. Isso abrirá o F12 com esse elemento selecionado no DOM Explorer e a exibição do DOM dinâmico e as regras CSS aplicadas. O DOM e CSS exibidos são dinâmicos, de forma que você possa entender como o IE está interpretando a especificação das regras CSS, sua marcação e os seus estilos. Quando você interagir com a página ou editá-la pelo DOM Explorer, as suas alterações se refletirão imediatamente.

DOM Explorer do F12 - Internet Explorer 11

Inspecionando a marcação e os estilos

Quando você fizer alterações de CSS, o DOM Explorer facilitará a obtenção da propriedade certa ou do valor da propriedade com o IntelliSense. Você poderá ver facilmente quais propriedades estão erradas ou não foram reconhecidas e depois copiar a regra para aplicar novamente na sua fonte.

Depurando o JavaScript com o depurador e o console

O novo depurador do JavaScript fornece as ferramentas para localizar e corrigir códigos propensos a erro rapidamente. O depurador do JavaScript pode abrir e exibir vários arquivos, mesmo que o script da sua biblioteca tenha sido reduzido, definir pontos de interrupção e de rastreamento, inspecionar cadeias de escopo, valores e objetos JavaScript e ver rastreamentos de pilha. Quando se inicia o F12, o depurador do JavaScript é iniciado imediatamente, para que seja possível começar a trabalhar logo

Você provavelmente desejará interagir com o seu site enquanto estiver fazendo a depuração. Para fazer isso, o console é a ferramenta fundamental. Você pode sempre acessá-lo usando bastante seu ambiente interativo com o IntelliSense e os visualizadores de objeto. O console também oferece uma série de APIs específicas que permitem registrar a saída, saber a quantidade do tempo gasto em código específico ou fornecer visualizadores de objeto quando você precisa inspecionar os seus objetos JavaScript profundamente.


Esta postagem apenas mostra uma pequena parte das novidades do F12. Você pode encontrar uma lista completa dos novos recursos disponíveis para os desenvolvedores em “Novidades nas Ferramentas F12” do IE11 e em “Guia para desenvolvedores do Internet Explorer 11 Preview.” Você também pode aprender mais com o Test Drive do IE, “F12 Adventure.”

Instale o Windows 8.1 Preview na Windows Store e experimente o IE11 ou o IE11 Developer Preview para Windows 7.

Esperamos os seus comentários e participação na comunidade de desenvolvedores. Compartilhe as suas sugestões por meio da ferramenta de envio de comentários do IE11 ou pelo Connect.

— PJ Hough
Vice-presidente, Visual Studio

Отладка и настройка веб-сайтов и приложений с помощью средства разработчика F12 в Internet Explorer 11


Internet Explorer 11 в Windows 8.1 и Windows 7 поставляется с полностью переработанным и усовершенствованным набором средств разработчика, встроенных в браузер, помогающих разработчикам создавать, диагностировать и оптимизировать работ�� современных веб-сайтов и приложений на многих устройствах. Новые средства, которые мы ради краткости называем просто F12, позволяют веб-разработчикам работать быстро и эффективно.

Рабочие группы Visual Studio и Internet Explorer работали совместно, чтобы создать средства F12, в основу которых заложен принцип помочь разработчикам быстро переходить от проблемы к решению с использованием значимых данных. Новый набор F12 обеспечивает быстрое и гибкое взаимодействие с Интернетом с помощью средств для диагностики и исправления проблем производительности, а также средств, которые помогут вам глубже понять, как Internet Explorer выполняет разметку и отрисовку веб-приложений. Средства F12 поддерживает быстрый интерактивный рабочий процесс, используемый современными веб-разработчиками.

Универсальный набор средств

Новый набор F12 помогает разработчикам быстро переходить от проблемы к решению. Среди новых впечатляющих возможностей можно отметить следующие:

  • Средства анализа отклика пользовательского интерфейса и профилирования памяти, помогающие разработчикам создавать быстрые и гибкие веб-приложения.
  • Live DOM Explorer и средство проверки CSS, обновляемые вместе со страницей, чтобы разработчики могли в интерактивном режиме исследовать, как динамический контент влияет на разметку и стили
  • Возможность отладки JavaScript, быстро запускаемой без обновления страницы, чтобы разработчики могли быстрее приступить к работе

По мере использования средств F12 вы заметите и многие другие усовершенствования, которые помогут вам обеспечить быстрый интерактивный рабочий процесс:

  • Быстрый доступ к этим средствам посредством щелчка правой кнопкой мыши пункта меню с помощью "элемента проверки"
  • Эффективное взаимодействие с клавиатурой
  • Широкие возможности копирования элементов и компонентов из инструментальных средств, благодаря чему их можно вставлять в любой редактор без дополнительного форматирования

Самое главное при этом состоит в том, что эти средства теперь отображают наиболее полную и точную информацию — от правил @media и !important в DOM Explorer до поэлементной структуры затрат в профилировщике отклика пользовательского интерфейса. Эти инструментальные средства также предоставляют непосредственно значимые данные; например, профилировщик памяти определяет узлы DOM, которые являются "живыми", но на которые нет ссылок из разметки или дерева отрисовки.

Возможности нового набора F12 представлены и в Visual Studio, поэтому разработчикам обеспечен согласованный и непрерывный опыт работы со всеми нашими инструментами и платформами веб-разработки.

Давайте теперь коротко рассмотрим эти инструменты в действии.

Профилирование приложений с помощью средства анализа отклика пользовательского интерфейса

Средство анализа отклика пользовательского интерфейса помогает вам понять, где именно тратится время ЦП, чтобы ваше приложение смогло полностью реализовать свой потенциал в области производительности. Данное средство дает вам необходимое понимание внутренних особенностей работы Internet Explorer, обеспечивая визуализацию во времени выполнения кодов HTML, CSS и JavaScript, а также важных сопутствующих эффектов, таких как разметка и сборка мусора. С одного взгляда вы сможете точно увидеть, какова скорость отклика вашего приложения и его отрисовки. Это позволит вам определить конкретные источники узких мест и более осмысленно подойти к его оптимизации.

Средство анализа отклика пользовательского интерфейса F12 - Internet Explorer 11

Профилирование веб-сайта

Анализ использования памяти приложения с помощью профилировщика памяти

Данное средство анализа памяти поможет вам избежать утечек памяти или чрезмерного ее потребления. Создание веб-приложений, которые работают у клиентов в круглосуточном режиме, или же сложных интерактивных приложений часто означает, что их разработчик должен уделять особое внимание вопросам использования памяти.

Хотя JavaScript является средой, в которой осуществляется сбор мусора, приложения обычно потребляют больше памяти просто из-за того, что ссылки на объекты не были (и не могут быть) освобождены. Средство анализа памяти поможет вам выявить эти проблемы, предоставив информацию по каждому объекту на странице, независимо от того, является ли он объектом JavaScript или DOM. С помощью этой информации вы сможете, например, увидеть, сколько памяти удерживается элементом <img> и какие объекты поддерживают его сохранение. Но самое главное, вы можете сравнить два моментальных снимка и увидеть, что изменилось. Это позволит вам понять, почему ваше приложение стало использовать больше памяти, и исправить это положение.

Средство анализа памяти F12 - Internet Explorer 11

Снимок памяти типа ''куча'', показывающий отключенные элементы DOM

Быстрое понимание особенностей производительности приложения с помощью панели мониторинга производительности

Чтобы помочь вам быстро выявить проблемы, влияющие на производительность работы вашей страницы, в Internet Explorer 11 имеется "настраничный" виджет, называемый панелью мониторинга производительности, доступ к которой осуществляется с помощью сочетания клавиш Ctrl+Shift+U или соответствующего пункта меню "Инструменты" (Alt+T). Эта панель отображает в Internet Explorer в динамическом режиме статистики для основных метрик производительности, таких как время отрисовки, память, количество кадров в секунду (кадров/с) и использование ЦП. Панель мониторинга производительности не требует использования средств F12 и может также использоваться в современных браузерах.

С помощью панели мониторинга производительности вы сможете быстро выявить взаимодействия страницы, которые вызывают перебои в частоте кадров или высокую загрузку ресурсов ЦП. Вы можете затем переключиться на средства F12, чтобы воспроизвести проблему и найти для нее решение.

Средства F12 - Панель мониторинга производительности - Internet Explorer 11
Время отрисовки Панель мониторинга производительности - Internet Explorer 11

Проверка элементов и изменение разметки и стилей с помощью DOM Explorer

DOM Explorer упрощает интерактивный процесс настройки запросов @media и правил CSS и их свойства. Поэтому пользовательский интерфейс вашего приложения становится высокоэффективным средством взаимодействия с несколькими устройствами, обладающим быстрым откликом. Вы можете быстро начать работу на веб-странице, щелкнув правой кнопкой мыши и проверив нужный элемент, что приводит к запуску средств F12 вместе с этим элементом, выбранным в DOM Explorer, с динамическим отображением DOM и примененных правил CSS. Отображаемая модель DOM и таблицы CSS являются динамическими, что позволяет понять, как Internet Explorer интерпретирует особенности вашей разметки, стилей и правил CSS. По мере вашего взаимодействия со страницей или ее изменения с использованием DOM Explorer, вносимые вами изменения будут немедленно отображаться.

F12 DOM Explorer - Internet Explorer 11

Проверка разметки и стилей

DOM Explorer при внесении изменений в таблицу CSS упрощает получение правильного значения свойства или свойств с помощью IntelliSense. Вы сможете легко увидеть, какие свойства являются ошибочными или оказались нераспознанными, и затем копируете правило, чтобы повторно применить его к вашему источнику.

Отладка JavaScript с помощью отладчика и консоли

Новый отладчик JavaScript предоставляет вам средства для определения расположения и быстрого исправления ненадежного кода. Отладчик JavaScript может открыть и просмотреть несколько файлов, даже если ваша библиотека скриптов была минимизирована, задать точки останова и трассировки, проверить объекты JavaScript, значения, цепочки областей и просмотреть содержимое стека. При запуске средств F12 отладчик JavaScript также немедленно запустится, поэтому вы сможете сразу же приступить к работе

При выполнении отладки вам, вероятно, захочется наладить взаимодействие со своим веб-сайтом. Консоль является ключевым инструментом для выполнения этой задачи. Вы можете получить доступ к консоли в любое время, что делает использование этой интерактивной среды с IntelliSense и визуализаторами объектов эффективным. Консоль также предоставляет широкий диапазон специализированных API, что позволяет вам вести журнал вывода, анализировать величину затраченного времени в определенном коде и предоставлять визуализаторы объектов, когда потребуется провести углубленную проверку объектов JavaScript.

Подводя итоги

В этой записи блога просто содержится эскиз описания новых элементов в средствах F12. Вы можете найти полный список новых функциональных возможностей, доступных разработчикам в Internet Explorer 11 в статье "Новые возможности средств F12" и в "руководстве по Internet Explorer 11 Preview для разработчиков." Вы можете также получить дополнительные сведения в тестовой демонстрации по Internet Explorer, "F12 Adventure".

Установите Windows 8.1 Previewиз Магазина Windows и попробуйте поработать с Internet Explorer 11 или с Internet Explorer 11 Developer Preview для Windows 7.

С нетерпением ждем ваших отзывов и надеемся на длительное сотрудничество с сообществом разработчиков. Поделитесь вашими предложениями через средство отправки отзывов и предложений в Internet Explorer 11 или на сайте Connect.

— П. Дж. Хуг (PJ Hough)
, вице-президент, Visual Studio

Using WinVerifyTrust API to verify detached signatures for executable files



Writing today to discuss an interesting issue that our Microsoft developer support received recently on usage of the WinVerifyTrust API. The support case was opened to report a memory leak was being observed when calling the WinVerifyTrust API. Specifically, the leak was observed when doing verification of signatures of executable code using the WinVerifyTrust API with the dwStateAction flags set to WTD_STATEACTION_VERIFY. From debugging and reviewing the code further, a call was missing to free the memory allocated by the WinVerifyTrust call. Specifically, another call to WinVerifyTrust needs to be made after the allocation with setting the dwStateAction flag to WTD_STATEACTION_CLOSE.


Below is a code snippet that was posted from the community over on the sysinternals site that shows how to call the API and free the memory accordingly.


#include <Softpub.h>#include <wincrypt.h>#include <wintrust.h>#include <mscat.h>#include <wchar.h>#pragma comment(lib, "wintrust")

        BOOLEAN IsFileDigitallySigned(PWCHAR FilePath)
            //Author: AD, 2009PVOID Context;
            HANDLE FileHandle;
            DWORD HashSize = 0;
            PBYTE Buffer;
            PVOID CatalogContext;
            CATALOG_INFO InfoStruct;
            WINTRUST_DATA WintrustStructure;
            WINTRUST_CATALOG_INFO WintrustCatalogStructure;
            WINTRUST_FILE_INFO WintrustFileStructure;
            PWCHAR MemberTag;
            BOOLEAN ReturnFlag = FALSE;
            ULONG ReturnVal;
            GUID ActionGuid = WINTRUST_ACTION_GENERIC_VERIFY_V2;//Zero our structures.memset(&InfoStruct, 0, sizeof(CATALOG_INFO));
            InfoStruct.cbStruct = sizeof(CATALOG_INFO);
            memset(&WintrustCatalogStructure, 0, sizeof(WINTRUST_CATALOG_INFO));
            WintrustCatalogStructure.cbStruct = sizeof(WINTRUST_CATALOG_INFO);
            memset(&WintrustFileStructure, 0, sizeof(WINTRUST_FILE_INFO));
            WintrustFileStructure.cbStruct = sizeof(WINTRUST_FILE_INFO);//Get a context for signature verification.if( !CryptCATAdminAcquireContext(&Context, NULL, 0) )
            {return FALSE;
            }//Open file.FileHandle = CreateFileW(FilePath, GENERIC_READ, 7, NULL, OPEN_EXISTING, 0, NULL);if( INVALID_HANDLE_VALUE == FileHandle )
                CryptCATAdminReleaseContext(Context, 0);return FALSE;
            }//Get the size we need for our hash.CryptCATAdminCalcHashFromFileHandle(FileHandle, &HashSize, NULL, 0);if( HashSize == 0 )
            {//0-sized has means error!CryptCATAdminReleaseContext(Context, 0);
                CloseHandle(FileHandle);return FALSE;
            }//Allocate memory.Buffer = (PBYTE)calloc(HashSize, 1);//Actually calculate the hashif( !CryptCATAdminCalcHashFromFileHandle(FileHandle, &HashSize, Buffer, 0) )
                CryptCATAdminReleaseContext(Context, 0);
                CloseHandle(FileHandle);return FALSE;
            }//Convert the hash to a string.MemberTag = (PWCHAR)calloc((HashSize * 2) + 1, sizeof(WCHAR));for( unsigned int i = 0; i < HashSize; i++ )
                swprintf(&MemberTag[i * 2], L"%02X", Buffer[i ]);
            }//Get catalog for our context.CatalogContext = CryptCATAdminEnumCatalogFromHash(Context, Buffer, HashSize, 0, NULL);if ( CatalogContext )
            {//If we couldn't get informationif ( !CryptCATCatalogInfoFromContext(CatalogContext, &InfoStruct, 0) )
                {//Release the context and set the context to null so it gets picked up below.CryptCATAdminReleaseCatalogContext(Context, CatalogContext, 0);
                    CatalogContext = NULL;
            }//If we have a valid context, we got our info.  
            //Otherwise, we attempt to verify the internal signature.if( !CatalogContext )
                WintrustFileStructure.cbStruct = sizeof(WINTRUST_FILE_INFO);
                WintrustFileStructure.pcwszFilePath = FilePath;
                WintrustFileStructure.hFile = NULL;
                WintrustFileStructure.pgKnownSubject = NULL;

                WintrustStructure.cbStruct = sizeof(WINTRUST_DATA);
                WintrustStructure.dwUnionChoice = WTD_CHOICE_FILE;
                WintrustStructure.pFile = &WintrustFileStructure;
                WintrustStructure.dwUIChoice = WTD_UI_NONE;
                WintrustStructure.fdwRevocationChecks = WTD_REVOKE_NONE;
                WintrustStructure.dwStateAction = WTD_STATEACTION_IGNORE;
                WintrustStructure.dwProvFlags = WTD_SAFER_FLAG;
                WintrustStructure.hWVTStateData = NULL;
                WintrustStructure.pwszURLReference = NULL;
            } else{//If we get here, we have catalog info!  Verify it.WintrustStructure.cbStruct = sizeof(WINTRUST_DATA);
                WintrustStructure.pPolicyCallbackData = 0;
                WintrustStructure.pSIPClientData = 0;
                WintrustStructure.dwUIChoice = WTD_UI_NONE;
                WintrustStructure.fdwRevocationChecks = WTD_REVOKE_NONE;
                WintrustStructure.dwUnionChoice = WTD_CHOICE_CATALOG;
                WintrustStructure.pCatalog = &WintrustCatalogStructure;WintrustStructure.dwStateAction = WTD_STATEACTION_VERIFY;
                WintrustStructure.hWVTStateData = NULL;
                WintrustStructure.pwszURLReference = NULL;
                WintrustStructure.dwProvFlags = 0;
                WintrustStructure.dwUIContext = WTD_UICONTEXT_EXECUTE;//Fill in catalog info structure.WintrustCatalogStructure.cbStruct = sizeof(WINTRUST_CATALOG_INFO);
                WintrustCatalogStructure.dwCatalogVersion = 0;
                WintrustCatalogStructure.pcwszCatalogFilePath = InfoStruct.wszCatalogFile;
                WintrustCatalogStructure.pcwszMemberTag = MemberTag;
                WintrustCatalogStructure.pcwszMemberFilePath = FilePath;
                WintrustCatalogStructure.hMemberFile = NULL;
            }//Call our verification function.ReturnVal = WinVerifyTrust(0, &ActionGuid, &WintrustStructure);//Check return.ReturnFlag = SUCCEEDED(ReturnVal);//Free context.if( CatalogContext )
                CryptCATAdminReleaseCatalogContext(Context, CatalogContext, 0);//If we successfully verified, we need to free.if( ReturnFlag )
            {WintrustStructure.dwStateAction = WTD_STATEACTION_CLOSE;
                WinVerifyTrust(0, &ActionGuid, &WintrustStructure);
            }//Free memory.free(MemberTag);
            CryptCATAdminReleaseContext(Context, 0);return ReturnFlag;



For more information, visit these resources:







Viewing all 29128 articles
Browse latest View live

Latest Images