<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for The Cliffs of Inanity</title>
	<atom:link href="http://tromey.com/blog/?feed=comments-rss2" rel="self" type="application/rss+xml" />
	<link>http://tromey.com/blog</link>
	<description></description>
	<lastBuildDate>Sat, 31 Mar 2012 10:41:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Comment on Emacs and Common Lisp by David</title>
		<link>http://tromey.com/blog/?p=709&#038;cpage=1#comment-157901</link>
		<dc:creator>David</dc:creator>
		<pubDate>Sat, 31 Mar 2012 10:41:54 +0000</pubDate>
		<guid isPermaLink="false">http://tromey.com/blog/?p=709#comment-157901</guid>
		<description>Rob: There&#039;s a lot of subjectivity in the experience of performance.  If you have &quot;pretty crappy computers&quot;, my guess (and I freely admit this is just a guess) would be that your expectations are low for performance -- and with low expectations, they&#039;ll get met.

(For more on subjective versus objective performance measurements, see, e.g., http://www.sigchi.org/chi95/proceedings/shortppr/gvk_bdy.htm )

I&#039;m fairly new to emacs myself, but I can definitely say there are times when I find myself waiting for it to do something.  To me, that&#039;s essentially how I define a case of &quot;experiencing performance issues&quot; -- if I&#039;m waiting for the computer, it&#039;s got a performance issue.

So, if you&#039;ve &quot;never ever experienced performance issues with Emacs&quot;, I&#039;d like to know what that means.  Or, just to have you know that others of us have, and so for Tom, this may well be a &quot;worth it&quot; pursuit.

And as for which problems to solve, well, there are a lot of us humans about.  You&#039;re welcome to go solve others.  I&#039;m glad that Tom is working on the ones that *he sees* as a problem.  If you&#039;re trying to recruit his help on one of yours, that&#039;s one thing... though perhaps he&#039;ll be more effective at helping if he&#039;s not waiting for his editor.  ;)

Anyway, Mostly what I want to say is Tom: Kudos on working on this.  I&#039;m excited to see what comes of it.  I hope you&#039;ll keep going... This seems like a lot of work, and I hope you have the persistence (and/or help, encouragement, etc.) to stick with it.</description>
		<content:encoded><![CDATA[<p>Rob: There&#8217;s a lot of subjectivity in the experience of performance.  If you have &#8220;pretty crappy computers&#8221;, my guess (and I freely admit this is just a guess) would be that your expectations are low for performance &#8212; and with low expectations, they&#8217;ll get met.</p>
<p>(For more on subjective versus objective performance measurements, see, e.g., <a href="http://www.sigchi.org/chi95/proceedings/shortppr/gvk_bdy.htm" rel="nofollow">http://www.sigchi.org/chi95/proceedings/shortppr/gvk_bdy.htm</a> )</p>
<p>I&#8217;m fairly new to emacs myself, but I can definitely say there are times when I find myself waiting for it to do something.  To me, that&#8217;s essentially how I define a case of &#8220;experiencing performance issues&#8221; &#8212; if I&#8217;m waiting for the computer, it&#8217;s got a performance issue.</p>
<p>So, if you&#8217;ve &#8220;never ever experienced performance issues with Emacs&#8221;, I&#8217;d like to know what that means.  Or, just to have you know that others of us have, and so for Tom, this may well be a &#8220;worth it&#8221; pursuit.</p>
<p>And as for which problems to solve, well, there are a lot of us humans about.  You&#8217;re welcome to go solve others.  I&#8217;m glad that Tom is working on the ones that *he sees* as a problem.  If you&#8217;re trying to recruit his help on one of yours, that&#8217;s one thing&#8230; though perhaps he&#8217;ll be more effective at helping if he&#8217;s not waiting for his editor.  <img src='http://tromey.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Anyway, Mostly what I want to say is Tom: Kudos on working on this.  I&#8217;m excited to see what comes of it.  I hope you&#8217;ll keep going&#8230; This seems like a lot of work, and I hope you have the persistence (and/or help, encouragement, etc.) to stick with it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on 9. Scripting gdb by Scripting GDB Links &#171; Constantly Underwhelmed</title>
		<link>http://tromey.com/blog/?p=548&#038;cpage=1#comment-157896</link>
		<dc:creator>Scripting GDB Links &#171; Constantly Underwhelmed</dc:creator>
		<pubDate>Fri, 09 Mar 2012 07:07:26 +0000</pubDate>
		<guid isPermaLink="false">http://tromey.com/blog/?p=548#comment-157896</guid>
		<description>[...] http://tromey.com/blog/?p=548 [...]</description>
		<content:encoded><![CDATA[<p>[...] <a href="http://tromey.com/blog/?p=548" rel="nofollow">http://tromey.com/blog/?p=548</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on 2. Writing a new gdb command by Robin</title>
		<link>http://tromey.com/blog/?p=501&#038;cpage=1#comment-157894</link>
		<dc:creator>Robin</dc:creator>
		<pubDate>Tue, 06 Mar 2012 14:42:23 +0000</pubDate>
		<guid isPermaLink="false">http://tromey.com/blog/?p=501#comment-157894</guid>
		<description>At least with GDB 7.2 I&#039;ve discovered that the source command shown above does not work.  Instead you need to use the .py file extension and emit the -p, i.e.

(gdb) source /tmp/example.py

I guess things have moved on since this tutorial was written, but I still found it very helpful.</description>
		<content:encoded><![CDATA[<p>At least with GDB 7.2 I&#8217;ve discovered that the source command shown above does not work.  Instead you need to use the .py file extension and emit the -p, i.e.</p>
<p>(gdb) source /tmp/example.py</p>
<p>I guess things have moved on since this tutorial was written, but I still found it very helpful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Quick Multi-process Debugging Update by Björn Carlsson</title>
		<link>http://tromey.com/blog/?p=790&#038;cpage=1#comment-157886</link>
		<dc:creator>Björn Carlsson</dc:creator>
		<pubDate>Fri, 02 Mar 2012 18:07:34 +0000</pubDate>
		<guid isPermaLink="false">http://tromey.com/blog/?p=790#comment-157886</guid>
		<description>I have followed gdb blog, and I have just started implementing some pretty printers for our types at work. Very nice over all.
But how can I reload my updated printers.py while in a debug sesssion in gdb?</description>
		<content:encoded><![CDATA[<p>I have followed gdb blog, and I have just started implementing some pretty printers for our types at work. Very nice over all.<br />
But how can I reload my updated printers.py while in a debug sesssion in gdb?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Debugging multiple programs at once by Tom Tromey: Quick Multi-process Debugging Update : Rutweb Technology</title>
		<link>http://tromey.com/blog/?p=734&#038;cpage=1#comment-157870</link>
		<dc:creator>Tom Tromey: Quick Multi-process Debugging Update : Rutweb Technology</dc:creator>
		<pubDate>Sat, 18 Feb 2012 12:22:07 +0000</pubDate>
		<guid isPermaLink="false">http://tromey.com/blog/?p=734#comment-157870</guid>
		<description>[...] my last post I mentioned that setting breakpoints is a pain when debugging multiple processes in GDB. While [...]</description>
		<content:encoded><![CDATA[<p>[...] my last post I mentioned that setting breakpoints is a pain when debugging multiple processes in GDB. While [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Quick Multi-process Debugging Update by tom</title>
		<link>http://tromey.com/blog/?p=790&#038;cpage=1#comment-157868</link>
		<dc:creator>tom</dc:creator>
		<pubDate>Sat, 18 Feb 2012 02:51:49 +0000</pubDate>
		<guid isPermaLink="false">http://tromey.com/blog/?p=790#comment-157868</guid>
		<description>Hmm, maybe I should write up some tips and tricks.  There are a bunch of hacks that are kicked around by gdb developers that maybe aren&#039;t generally known.</description>
		<content:encoded><![CDATA[<p>Hmm, maybe I should write up some tips and tricks.  There are a bunch of hacks that are kicked around by gdb developers that maybe aren&#8217;t generally known.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Quick Multi-process Debugging Update by tom</title>
		<link>http://tromey.com/blog/?p=790&#038;cpage=1#comment-157867</link>
		<dc:creator>tom</dc:creator>
		<pubDate>Sat, 18 Feb 2012 02:51:16 +0000</pubDate>
		<guid isPermaLink="false">http://tromey.com/blog/?p=790#comment-157867</guid>
		<description>Stopping on a SEGV will happen automatically, by default.  You can control this with the &quot;handle&quot; command.  (Eventually we&#039;re going to add a &quot;catch signal&quot; command as well, so you can attach conditions and commands to signals.)

You can use &quot;break func if expr&quot; or &quot;cond&quot; to set conditions.

Breaking on foo-after-bar is a bit tricky. This can be done with convenience variables and commands attached to breakpoints (see the &quot;commands&quot; command).  So, you&#039;d initially &quot;set var $seen_bar=0&quot;, then set $seen_bar=1 in bar&#039;s breakpoint, then &quot;break foo if $seen_bar&quot;.

You can make this more programmable by writing convenience functions in Python.  E.g., one I use sometimes is a function that looks up the stack to see what the call chain looks like: break foo if $_caller_is(&quot;bar&quot;)</description>
		<content:encoded><![CDATA[<p>Stopping on a SEGV will happen automatically, by default.  You can control this with the &#8220;handle&#8221; command.  (Eventually we&#8217;re going to add a &#8220;catch signal&#8221; command as well, so you can attach conditions and commands to signals.)</p>
<p>You can use &#8220;break func if expr&#8221; or &#8220;cond&#8221; to set conditions.</p>
<p>Breaking on foo-after-bar is a bit tricky. This can be done with convenience variables and commands attached to breakpoints (see the &#8220;commands&#8221; command).  So, you&#8217;d initially &#8220;set var $seen_bar=0&#8243;, then set $seen_bar=1 in bar&#8217;s breakpoint, then &#8220;break foo if $seen_bar&#8221;.</p>
<p>You can make this more programmable by writing convenience functions in Python.  E.g., one I use sometimes is a function that looks up the stack to see what the call chain looks like: break foo if $_caller_is(&#8220;bar&#8221;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Quick Multi-process Debugging Update by Dave Malcolm</title>
		<link>http://tromey.com/blog/?p=790&#038;cpage=1#comment-157866</link>
		<dc:creator>Dave Malcolm</dc:creator>
		<pubDate>Fri, 17 Feb 2012 23:10:48 +0000</pubDate>
		<guid isPermaLink="false">http://tromey.com/blog/?p=790#comment-157866</guid>
		<description>Very nice!

Can I get it to easily break on any segfaults that happen in subprocesses?

Also, I don&#039;t know if this already exists, but is it possible to set conditions on a breakpoint like: only break on function foo() if function bar has already been called?</description>
		<content:encoded><![CDATA[<p>Very nice!</p>
<p>Can I get it to easily break on any segfaults that happen in subprocesses?</p>
<p>Also, I don&#8217;t know if this already exists, but is it possible to set conditions on a breakpoint like: only break on function foo() if function bar has already been called?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Debugging multiple programs at once by The Cliffs of Inanity &#8250; Quick Multi-process Debugging Update</title>
		<link>http://tromey.com/blog/?p=734&#038;cpage=1#comment-157865</link>
		<dc:creator>The Cliffs of Inanity &#8250; Quick Multi-process Debugging Update</dc:creator>
		<pubDate>Fri, 17 Feb 2012 15:12:27 +0000</pubDate>
		<guid isPermaLink="false">http://tromey.com/blog/?p=734#comment-157865</guid>
		<description>[...] my last post I mentioned that setting breakpoints is a pain when debugging multiple processes in GDB. While [...]</description>
		<content:encoded><![CDATA[<p>[...] my last post I mentioned that setting breakpoints is a pain when debugging multiple processes in GDB. While [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Debugging multiple programs at once by Colin Walters</title>
		<link>http://tromey.com/blog/?p=734&#038;cpage=1#comment-157862</link>
		<dc:creator>Colin Walters</dc:creator>
		<pubDate>Thu, 16 Feb 2012 15:44:02 +0000</pubDate>
		<guid isPermaLink="false">http://tromey.com/blog/?p=734#comment-157862</guid>
		<description>That is cool.  I didn&#039;t know gdb could attach to multiple programs.

I&#039;ve been using the following hack for a while for this exact scenario:

http://people.gnome.org/~walters/gdbifmatch.c</description>
		<content:encoded><![CDATA[<p>That is cool.  I didn&#8217;t know gdb could attach to multiple programs.</p>
<p>I&#8217;ve been using the following hack for a while for this exact scenario:</p>
<p><a href="http://people.gnome.org/~walters/gdbifmatch.c" rel="nofollow">http://people.gnome.org/~walters/gdbifmatch.c</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>

