<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:html="http://www.w3.org/1999/html" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Ross Burton</title><link>http://www.burtonini.com/blog</link><description>A potted account of Ross' life</description><language>en</language><ttl>60</ttl><dc:creator>Ross Burton</dc:creator><admin:generatorAgent rdf:resource="http://pyblosxom.sourceforge.net/"/><admin:errorReportsTo rdf:resource="mailto:ross@burtonini.com"/><item><title>bprobe</title><guid isPermaLink="false">computers/bprobe-2006-12-01-10-40</guid><link>http://www.burtonini.com/blog/computers/bprobe-2006-12-01-10-40</link><description>Wow. Behdad makes a casual mention to the coolest hack in the world . Yes, there are better solutions but ...</description><content:encoded><![CDATA[    <p>
      Wow.  Behdad makes a casual mention to the <a
      href="http://cvs.gnome.org/viewcvs/bprobe/">coolest hack in the world</a>.
      Yes, there are better solutions but they are heavy, this is quick and
      lean.  Love it!  The only problem is that typically GTK+ is built with PLT
      hacks, so the probes cannot intercept the calls.  With a GTK+ built
      without the PLT manipulations, this should do exactly what you expect:
    </p>
<pre>#include &lt;gtk/gtk.h&gt;
#include &lt;bprobe.h&gt;
PKG_CONFIG_CFLAGS(gtk+-2.0)

PROBE
void
gtk_widget_show (GtkWidget *w)
{
        LOG ("gtk_widget_show");
        return SUPER(gtk_widget_show) (w);
}
</pre>
    <p>
      <small>NP: <cite>Londinium</cite>, Archive</small>
    </p>
]]></content:encoded><dc:date>2006-12-01T10:40:00Z</dc:date></item></channel></rss>