Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
JSDT/Debug/IE
JSDT Debug | |
Website | |
Download | |
Community | |
Mailing List • Forums • IRC • mattermost | |
Issues | |
Open • Help Wanted • Bug Day | |
Contribute | |
Browse Source • Project Set File |
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:
- org.eclipse.wst.jsdt.debug.crossfire - the core Crossfire implementation, provides the Crossfire-specific implementation of JSDI.
Using Crossfire Server for Internet Explorer
- Download the Crossfire Server for Internet Explorer installer, and execute its contained setup.exe to install it.
- 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.
- 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.
- 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.
- 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.
- 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
- 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).
- In Visual Studio 2010 open the retrieved solution file "CrossfireServerForIE_VS2010.sln".
- 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".
- 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