Jump to: navigation, search

JSDT/Debug/IE

< JSDT‎ | Debug
JSDT Debug
Website
Download
Community
Mailing ListForumsIRC
Bugzilla
Open
Help Wanted
Bug Day
Contribute
Browse SourceProject Set File
Warning2.png
Experimental Project
The JSDT IE project is in the experimental phase and is not part of any official release.


Overview

The Internet Explorer project ("Crossfire Server for Internet Explorer") brings remote debugging support of Internet Explorer to JSDT using the Crossfire protocol. This support is implemented as an Internet Explorer extension that provides a Crossfire server implementation for interacting with running Internet Explorer instances.

The bundles provided by JSDT debug for the Crossfire support include:

Using Crossfire Server for Internet Explorer

  1. Download the Crossfire Server for Internet Explorer installer, and execute its contained setup.exe to install it.
  2. Crossfire Server for Internet Explorer has a runtime dependency on the Microsoft Active Script Debugger. Download it from http://www.microsoft.com/download/en/confirmation.aspx?id=22185 and install it.
  3. Launch Internet Explorer as the Administrator user (right-click > Internet Explorer > Run as administrator). IE's Command bar will now contain a new Crossfire item (screenshot below). If the Command bar is not visible then it can be shown by right-clicking to the right of IE's displayed tabs and selecting the Command bar item.

    Screenshot of Crossfire Server for Internet Explorer tool item

  4. To enable script debugging, open Internet Explorer's "Internet options" (contained in its "Tools" menu). On its "Advanced" tab ensure that the "Disable script debugging (Internet Explorer)" option is NOT checked.

    Screenshot of Internet Explorer's "Disable script debugging (Internet Explorer)" option setting

  5. Pressing this tool item will open the Crossfire Server for Internet Explorer panel (screenshot below). If desired you can change the port that the server will listen on for incoming Crossfire connections. To begin listening for connections press the Listen button.

    Screenshot of Crossfire Server for Internet Explorer panel

  6. The server is now ready to accept a connection from a client implementing the Crossfire client protocol. To connect to it from JSDT, create a new "Remote JavaScript" Debug configuration, set its Connector to "Crossfire - Remote Attach", and its port value to the port that the server is listening on. Press 'Debug' to connect to the server.

Setting up a Crossfire Server for Internet Explorer development workspace

The project is implemented in C++ and contains metadata files written by Visual Studio 2010. The following instructions assume that Visual Studio 2010 is being used.

Start by retrieving the source for this project from the Git repository:

   http://git.eclipse.org/c/jsdt/webtools.jsdt.debug.git/tree/development/org.eclipse.wst.jsdt.debug.ie
  1. This project's source has a dependency on the Microsoft Active Scripting development files. Download them from http://support.microsoft.com/kb/q223389/ (self-extracting .exe).
  2. In Visual Studio 2010 open the retrieved solution file "CrossfireServerForIE_VS2010.sln".
  3. Extract the downloaded Microsoft Active Scripting development files. The Visual Studio projects are configured by default to search for these files in c:\activescripting, so extracting them to this location simplifies the setup process. If you wish to extract these files elsewhere then you must update the properties of the solution's IECrossfireExtension and IECrossfireServer projects accordingly. The project property pages that will require updating are "C/C++ - General" and "Linker - Input".
  4. Build the project as either Debug - Win32 or Release - Win32. Note that compilation warning messages like the following are expected as a result of the active scripting library file not having accompanying debug symbols:
   ad1.lib(activdbgid.obj) : warning LNK4099: PDB 'msdbg2_comp.pdb' was not found with 'ad1.lib(activdbgid.obj)' or at 'C:\crossfire-ieserver\IECrossfireServer\Release\msdbg2_comp.pdb'; linking object as if no debug info
   ad1.lib(dbgpropid.obj) : warning LNK4099: PDB 'msdbg2_comp.pdb' was not found with 'ad1.lib(dbgpropid.obj)' or at 'C:\crossfire-ieserver\IECrossfireServer\Release\msdbg2_comp.pdb'; linking object as if no debug info
   ad1.lib(activdbgid.obj) : warning LNK4099: PDB 'msdbg2_comp.pdb' was not found with 'ad1.lib(activdbgid.obj)' or at 'C:\crossfire-ieserver\IECrossfireExtension\Release\msdbg2_comp.pdb'; linking object as if no debug info