<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jordan.Liggitt(.net) &#187; Java</title>
	<atom:link href="http://jordan.liggitt.net/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://jordan.liggitt.net</link>
	<description>A slice of Liggitt life</description>
	<lastBuildDate>Sun, 20 Feb 2011 05:46:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Let Me Hear Your Version</title>
		<link>http://jordan.liggitt.net/2007/10/31/let-me-hear-your-version/</link>
		<comments>http://jordan.liggitt.net/2007/10/31/let-me-hear-your-version/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 19:47:04 +0000</pubDate>
		<dc:creator>Jordan</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://jordan.liggitt.net/2007/10/31/let-me-hear-your-version/</guid>
		<description><![CDATA[If you don&#8217;t know or care about the tooling platform Eclipse, stop reading. If do you care, you may have had this problem: You install a new version of a feature you already have installed by copying the files into the &#8220;features&#8221; and &#8220;plugins&#8221; folders, and Eclipse doesn&#8217;t recognize the newer version. This usually happens [...]]]></description>
			<content:encoded><![CDATA[<img src='http://jordan.liggitt.net/wp-content/uploads/2007/10/debug.jpg' alt='debug.jpg' align='right' /> If you don&#8217;t know or care about the tooling platform <a href='http://www.eclipse.org'>Eclipse</a>, stop reading. If do you care, you may have had this problem:
<br /><br />
You install a new version of a feature you already have installed by copying the files into the &#8220;features&#8221; and &#8220;plugins&#8221; folders, and Eclipse doesn&#8217;t recognize the newer version. This usually happens on Windows machines with a FAT32 filesystem. That filesystem doesn&#8217;t update folder timestamps nicely when the content of a folder changes, so Eclipse doesn&#8217;t know to rescan for newer versions.
<br /><br />
To enable a newer version of a feature you manually installed, start Eclipse, go to &#8220;Help > Software Updates > Manage Configuration&#8221;. Select the existing version of the feature, click &#8220;Replace With Another Version&#8221;, then choose the newer version.
<br /><br />
The good news is that <a href='http://bugs.eclipse.org/66120'>this bug</a> will go away after Eclipse 3.3. If you start a newer version of Eclipse using the command-line argument &#8220;-clean&#8221;, it will force a rescan of the features on the disk, regardless of timestamp.]]></content:encoded>
			<wfw:commentRss>http://jordan.liggitt.net/2007/10/31/let-me-hear-your-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Here we go</title>
		<link>http://jordan.liggitt.net/2007/02/26/here-we-go/</link>
		<comments>http://jordan.liggitt.net/2007/02/26/here-we-go/#comments</comments>
		<pubDate>Tue, 27 Feb 2007 03:33:40 +0000</pubDate>
		<dc:creator>Jordan</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://jordan.liggitt.net/2007/02/26/here-we-go/</guid>
		<description><![CDATA[Enough time has been spent fixing bugs and getting basic things working. Hopefully, this site will help fix that. I mostly work with Java and Eclipse, but do enough web stuff to beat my head against a wall every once in a while. This site will have tips, tutorials, bug workarounds, and anything else I [...]]]></description>
			<content:encoded><![CDATA[Enough time has been spent fixing bugs and getting basic things working. Hopefully, this site will help fix that.
<br /><br />
I mostly work with Java and Eclipse, but do enough web stuff to beat my head against a wall every once in a while. This site will have tips, tutorials, bug workarounds, and anything else I can think of that people might find worthwhile.
<br /><br />
I suppose I could start with the simplest and most embarrassing debugging problem I ever hit&#8230;
<br /><br />
<span id="more-88"></span>
In Eclipse (and most interactive debuggers), you can set up expressions that are evaluated whenever the debugged process halts. Because these expressions are evaluated in the current thread context, they have full access to read (or write to) local variables. I happened to put a typo in one of these expressions, and did the ol&#8217; &#8220;assign instead of compare&#8221; trick, evaluating &#8220;str = null&#8221; instead of &#8220;str == null&#8221;.
<br /><br />
I didn&#8217;t really notice the bug, and didn&#8217;t end up needing to see whether str was null or not, so I went back to another view, hiding the debug expressions I had set (out of sight, out of mind, right?). It was about that time I started noticing a bizarre new bug&#8230; whenever I would hit a breakpoint, str would be null, even if the code I was stepping through didn&#8217;t do a <em>thing</em> with str! Fancy that!
<br /><br />
Lesson 1: If there is weird behavior when debugging, check to see if expressions are being evaluated without you knowing.
<br /><br />
Lesson 2: Use &#8220;null == str&#8221; instead of &#8220;str == null&#8221; to avoid assignment vs. compare bugs. (this actually doesn&#8217;t work in all languages&#8230; wait for a future post)]]></content:encoded>
			<wfw:commentRss>http://jordan.liggitt.net/2007/02/26/here-we-go/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

