<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to EclipseDebuggerFeatures</title><link>https://sourceforge.net/p/chromedevtools/wiki/EclipseDebuggerFeatures/</link><description>Recent changes to EclipseDebuggerFeatures</description><atom:link href="https://sourceforge.net/p/chromedevtools/wiki/EclipseDebuggerFeatures/feed" rel="self"/><language>en</language><lastBuildDate>Sat, 25 Apr 2015 13:43:43 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/chromedevtools/wiki/EclipseDebuggerFeatures/feed" rel="self" type="application/rss+xml"/><item><title>Discussion for EclipseDebuggerFeatures page</title><link>https://sourceforge.net/p/chromedevtools/wiki/EclipseDebuggerFeatures/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Originally posted by: &lt;a class="" href="http://code.google.com/u/112227468724598345541" rel="nofollow"&gt;apav...@chromium.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This project is no longer actively maintained. Feel free to check out the sources and send patches for review. &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sat, 25 Apr 2015 13:43:43 -0000</pubDate><guid>https://sourceforge.net0b572293103937119b6cf59445a271c320e5e229</guid></item><item><title>Discussion for EclipseDebuggerFeatures page</title><link>https://sourceforge.net/p/chromedevtools/wiki/EclipseDebuggerFeatures/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Originally posted by: &lt;a class="" href="http://code.google.com/u/108850330705370933822" rel="nofollow"&gt;tnt9...@gmail.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I agree with jespa007 to bind pushing sources to VM to Save button. Is there possible now? &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sat, 25 Apr 2015 13:43:43 -0000</pubDate><guid>https://sourceforge.netcf6c9dfe170422f082ad0b9f5a689653cb0a2eaf</guid></item><item><title>Discussion for EclipseDebuggerFeatures page</title><link>https://sourceforge.net/p/chromedevtools/wiki/EclipseDebuggerFeatures/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Originally posted by: &lt;a class="" href="http://code.google.com/u/105027619425482786890" rel="nofollow"&gt;gunsjun...@gmail.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Great tool. For Live Editing, it seems I have to Push Source Changes to VM everytime in a debug cycle (without re-deploy with the changes)? &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sat, 25 Apr 2015 13:43:43 -0000</pubDate><guid>https://sourceforge.netfd62645c628d8550c737c21aa3e936e54fe4b301</guid></item><item><title>Discussion for EclipseDebuggerFeatures page</title><link>https://sourceforge.net/p/chromedevtools/wiki/EclipseDebuggerFeatures/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Originally posted by: &lt;a class="" href="http://code.google.com/u/112610498622514470706" rel="nofollow"&gt;peter.ry...@gmail.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hi jespa007. Thank you for your feedback. Could you add yourself to our mail group and create a thread there? So that we could see each other's answers in the one's mailboxs, not by manually checking everyday. Peter &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sat, 25 Apr 2015 13:43:43 -0000</pubDate><guid>https://sourceforge.net53145f74a10de0aa5207e53998eafdc66cefdefc</guid></item><item><title>Discussion for EclipseDebuggerFeatures page</title><link>https://sourceforge.net/p/chromedevtools/wiki/EclipseDebuggerFeatures/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Originally posted by: &lt;a class="" href="http://code.google.com/u/104025390617606369348" rel="nofollow"&gt;jespa...@gmail.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hi, My name's Jordi. Before of all, This plugin for eclipse is really great :). I've a question. There is a possibility to do binding key action, instead to doing popup "Debugging V8 --&amp;gt; Push Source Changes to VM" ? My main idea is send the changes after every saved javascript file with "Practically Macro" plugin utility. I made a quick view of the sources of your plugin, but its a bit complex make a conection of the PushChangesAction&lt;a class="" href="/p/chromedevtools/w/edit/PushChangesAction"&gt;?&lt;/a&gt; class with a handle through org.eclipse.ui.handlers :(. Thanks very much in advance :D &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sat, 25 Apr 2015 13:43:43 -0000</pubDate><guid>https://sourceforge.net4740ab7347beab0515c3e78d5a63d744d5fee296</guid></item><item><title>EclipseDebuggerFeatures modified by Anonymous</title><link>https://sourceforge.net/p/chromedevtools/wiki/EclipseDebuggerFeatures/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Features of &lt;a class="" href="../EclipseDebugger"&gt;EclipseDebugger&lt;/a&gt;. See also &lt;a class="" href="../DebuggerTutorial"&gt;DebuggerTutorial&lt;/a&gt;. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Basic Capabilities&lt;/li&gt;
&lt;li&gt;Highlights&lt;ul&gt;
&lt;li&gt;Debugging on Files That You Are Developing/Source Mapping&lt;/li&gt;
&lt;li&gt;Breakpoints&lt;/li&gt;
&lt;li&gt;Load Full Value&lt;/li&gt;
&lt;li&gt;Live Editing&lt;/li&gt;
&lt;li&gt;ToString&lt;/li&gt;
&lt;li&gt;Pin-Point Value&lt;/li&gt;
&lt;li&gt;Temporarily Format Source&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="basic-capabilities"&gt;Basic Capabilities&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Breakpoints&lt;br /&gt;
(It is important you set the right breakpoint type "Chrome/V8 breakpoints" in &lt;code&gt;Run | Breakpoint Types&lt;/code&gt; menu). &lt;/li&gt;
&lt;li&gt;Step in/over/out &lt;/li&gt;
&lt;li&gt;Stack context when suspended &lt;/li&gt;
&lt;li&gt;Mouse on-hover identifier evaluation &lt;/li&gt;
&lt;li&gt;Text selection evaluation &lt;/li&gt;
&lt;li&gt;Script sources in workspace files and downloaded from server &lt;/li&gt;
&lt;li&gt;Exception events reported into the Error Log &lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="highlights"&gt;Highlights&lt;/h1&gt;
&lt;h2 id="debugging-on-files-that-you-are-developingsource-mapping"&gt;Debugging on Files That You Are Developing/Source Mapping&lt;/h2&gt;
&lt;p&gt;By default debugger downloads all scripts and puts them under a correspoindg &lt;a class="" href="../VirtualProject"&gt;VirtualProject&lt;/a&gt;. However you typically not only want to debug a code, but in parallel to fix or develop it. You may have all your script source files on the local machine and even have them open in Eclipse under some project. In this case it is especially useful to have debugger use that (working) copy of your scripts instead of scripts in temporary project; so that you edit the same files that you debug. &lt;/p&gt;
&lt;p&gt;See &lt;a class="" href="../FeatureDebugOnRealFiles"&gt;how to set up debugger&lt;/a&gt; to do so. &lt;/p&gt;
&lt;h2 id="breakpoints"&gt;Breakpoints&lt;/h2&gt;
&lt;h3 id="provisional-breakpoints"&gt;Provisional Breakpoints&lt;/h3&gt;
&lt;p&gt;Breakpoint can be set before script is loaded or before debugger is connected. Just set a breakpoint on a source in your regular project. This works when source mapping is configured for your debug launch. &lt;/p&gt;
&lt;h3 id="break-on-exception"&gt;Break On Exception&lt;/h3&gt;
&lt;p&gt;A JavaScript VM may be instructed to stop on each exception thrown. All exceptions fall into 2 groups: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;caught&lt;/em&gt; exceptions, which are to be caught by a &lt;code&gt;catch&lt;/code&gt; clause somewhere in the script, and &lt;/li&gt;
&lt;li&gt;&lt;em&gt;uncaught&lt;/em&gt; exceptions, which terminate script execution altogether and return the control to the calling application. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both types of exceptions are controlled by &lt;em&gt;JS Exception&lt;/em&gt; breakpoint. You can create one with &lt;code&gt;Run|Add V8/Chrome JavaScript Exception Breakpoint&lt;/code&gt; menu command. &lt;/p&gt;
&lt;h3 id="selecting-breakpoint-type"&gt;Selecting Breakpoint Type&lt;/h3&gt;
&lt;p&gt;The Eclipse IDE can host several different debuggers. Such configurations often cause ambiguity when setting a breakpoint: which debugger should own the new breakpoint? Eclipse provides a UI for this case and it is now supported by ChromeDevTools. You may explicitly choose a type of breakpoint you are about to set in the menu &lt;code&gt;Run-&amp;gt;Breakpoint Types&lt;/code&gt; (choose "Chrome/V8 breakpoints" in a submenu.) &lt;/p&gt;
&lt;h2 id="load-full-value"&gt;Load Full Value&lt;/h2&gt;
&lt;p&gt;Normally, the &lt;a class="" href="../EclipseDebugger"&gt;Debugger&lt;/a&gt; truncates string values longer than 80 characters; you can tell it by a typical cut-off in the end of string: &lt;code&gt;... (length: &amp;lt;actual length&amp;gt;)&lt;/code&gt;. However the full value can be loaded on demand. In the &lt;em&gt;Variables&lt;/em&gt; or &lt;em&gt;Expressions&lt;/em&gt; view, select a truncated string value and choose &lt;em&gt;“Load Full Value”&lt;/em&gt; from its context menu. Note that the implementation is somewhat cautious: it will reload the string with a new length limit of 65536 chars. If that’s not enough for you, simply repeat the action once or twice. &lt;/p&gt;
&lt;p&gt;Note that manually entering expressions is sometimes more usable, than downloading a full value: &lt;code&gt;“value.substring(2978 - 100, 2978 + 100)”&lt;/code&gt;&lt;/p&gt;
&lt;h2 id="live-editing"&gt;Live Editing&lt;/h2&gt;
&lt;p&gt;When your scripts are already running, you can try to edit them and push changes into VM. Edit your script, save it, then choose &lt;code&gt;V8 Debugging-&amp;gt;Push Source Changes to VM&lt;/code&gt;. Additionally you can use &lt;code&gt;Preview and Push Source Changes to VM...&lt;/code&gt; menu item that gives you some insight how the change is going to be applied. &lt;/p&gt;
&lt;h2 id="tostring"&gt;ToString&lt;/h2&gt;
&lt;p&gt;In some cases exploring variables can get much easier with their values represented as strings. A single glance at &lt;code&gt;“[1, 2, 3, 4, 5, 6, 7, 8]”&lt;/code&gt; seems to be a much faster way to learn that the value is an array holding 8 numbers than expanding a tree node in the UI to see its children. &lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://chromedevtools.googlecode.com/svn/wiki/EclipseDebuggerFeatures-tostring.png" rel="nofollow" /&gt;&lt;/p&gt;
&lt;p&gt;For all primitive values, JavaScript pre-defines their string representations. You can define a string representation for your objects by implementing the “toString()” method on their prototypes, much like in Java (see the picture above). &lt;/p&gt;
&lt;h2 id="pin-point-value"&gt;Pin-Point Value&lt;/h2&gt;
&lt;p&gt;Sometimes it is important to grip a particular object and keep it for several debugger steps. For example, you may watch the &lt;code&gt;getManager()&lt;/code&gt; expression, but do you know for sure if it returns the same object every time, or the objects returned are all different? Select a value in the Variables or Expressions view and &lt;em&gt;pin-point&lt;/em&gt; it, which means &lt;strong&gt;save it as a property of the global object&lt;/strong&gt;. You can do this from the context menu: “Pin-Point Value...”: &lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://chromedevtools.googlecode.com/svn/wiki/EclipseDebuggerFeatures-pinpoint-dialog.png" rel="nofollow" /&gt;&lt;/p&gt;
&lt;p&gt;This will save your value in the global object, and you can access it at any time as &lt;code&gt;my_debug_save.manager1&lt;/code&gt; (a dialog window also lets you add similar watch expressions.) Some time later you can see how this object has changed its data or compare it with what &lt;code&gt;getManager()&lt;/code&gt; returns now: &lt;code&gt;my_debug_save.manager1 === getManager()&lt;/code&gt;. &lt;/p&gt;
&lt;h2 id="temporarily-format-source"&gt;Temporarily Format Source&lt;/h2&gt;
&lt;p&gt;You can have your file from &lt;a class="" href="../VirtualProject"&gt;VirtualProject&lt;/a&gt; formatted. This will only remain effective within the current debug session. Open the context menu on a script under &lt;a class="" href="../VirtualProject"&gt;VirtualProject&lt;/a&gt; and choose the &lt;code&gt;V8 Debugging-&amp;gt;Temporarily Format Source&lt;/code&gt; action. The JSDT formatter will be used and JSDT integration feature should be installed for this. &lt;/p&gt;
&lt;p&gt;This feature is still experimental and may not always work properly. In particular, the formatter may fail on some scripts. Currently, there is a fall-back: a secondary, very simplistic formatter that may produce an output of extremely poor quality, which can no longer be a valid JavaScript. &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sat, 25 Apr 2015 13:43:43 -0000</pubDate><guid>https://sourceforge.net73e29d53568d61f845b41f5affa97b258a0dbb4a</guid></item></channel></rss>