﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-JavaCS</title><link>http://www.cppblog.com/JavaCS/</link><description>专注于 C++ 与 Symbian S60</description><language>zh-cn</language><lastBuildDate>Fri, 13 Mar 2026 02:50:21 GMT</lastBuildDate><pubDate>Fri, 13 Mar 2026 02:50:21 GMT</pubDate><ttl>60</ttl><item><title>新版本的HookLogger出来了!</title><link>http://www.cppblog.com/JavaCS/archive/2008/06/17/53765.html</link><dc:creator>姜文拓</dc:creator><author>姜文拓</author><pubDate>Tue, 17 Jun 2008 14:05:00 GMT</pubDate><guid>http://www.cppblog.com/JavaCS/archive/2008/06/17/53765.html</guid><wfw:comment>http://www.cppblog.com/JavaCS/comments/53765.html</wfw:comment><comments>http://www.cppblog.com/JavaCS/archive/2008/06/17/53765.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/JavaCS/comments/commentRss/53765.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/JavaCS/services/trackbacks/53765.html</trackback:ping><description><![CDATA[好久没有更新了, 感觉进步了许多, 也想跟大家分享, 但实在没有时间写博客, 既然原来写了HookLogger的东西就坚持到底吧<br><br>首先, 赶紧<a href="http://developer.symbian.com/main/tools_and_sdks/developer_tools/supported/hook_logger/index.jsp">下载</a>使用新版本的HookLogger吧, 呵呵<br><br>新版本修复了一些bug, 也对Symbian OS 9 提供了正式的支持<br><br>安装完后在安装路径下根据SDK版本, 运行 SetupHooks&nbsp; 即可, 具体步骤:<br>首先在命令提示符下输入<br><br>devices<br><br>获得你的SDK对应的 devices 标识, 比如S60 3rd MR版本的SDK是S60_3rd_MR:com.nokia.s60<br><br>然后找到你的HookLogger的安装路径, 并运行<br><br>SetupHooks S60_3rd_MR:com.nokia.s60<br><br>这样之后就可以启动HookLogger, 然后启动模拟器调内存泄漏了, 方法与老版本一样<br><br>据说新版本还增加了其它的一些功能, 有待研究 
<img src ="http://www.cppblog.com/JavaCS/aggbug/53765.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/JavaCS/" target="_blank">姜文拓</a> 2008-06-17 22:05 <a href="http://www.cppblog.com/JavaCS/archive/2008/06/17/53765.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决 Symbian OS 内存泄露的好工具 - HookLogger！</title><link>http://www.cppblog.com/JavaCS/archive/2007/08/28/31029.html</link><dc:creator>姜文拓</dc:creator><author>姜文拓</author><pubDate>Tue, 28 Aug 2007 08:08:00 GMT</pubDate><guid>http://www.cppblog.com/JavaCS/archive/2007/08/28/31029.html</guid><wfw:comment>http://www.cppblog.com/JavaCS/comments/31029.html</wfw:comment><comments>http://www.cppblog.com/JavaCS/archive/2007/08/28/31029.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/JavaCS/comments/commentRss/31029.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/JavaCS/services/trackbacks/31029.html</trackback:ping><description><![CDATA[再次感谢诺基亚论坛的 beover1984 提供帮助！<br><br>【参考文章】：<a href="http://www.symbian.net.cn/blog/post/5.html">http://www.symbian.net.cn/blog/post/5.html</a><br><br>声明：虽然上面的【参考文章】标题是 Use HookLogger to trace memroy leak in S60 3rd SDK ，但 S60 第二版也适用！<br><br>需要说明的是 EPOCROOT 是在 Windows 系统变量中改的且前后都要有&#8220;/&#8221;(不是 Windows 下用的&#8220;\&#8221;)<br><br>也可以不用系统变量而直接使用下面的 perl 代码&nbsp;替换 HookEUSER.pl 的内容&nbsp;, 并把第53行改为你的 SDK 路径（注意无盘符）：<br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 800px; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #008000">#</span><span style="COLOR: #008000">&nbsp;HookEUSER.pl</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">use</span><span style="COLOR: #000000">&nbsp;strict;<br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">use</span><span style="COLOR: #000000">&nbsp;FindBin&nbsp;qw(</span><span style="COLOR: #800080">$Bin</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$badArg</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$remove</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$platform</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$release</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">UDEB</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$arch</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">($</span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">ARGV&nbsp;&gt;=&nbsp;0)</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">12</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$arg</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$ARGV</span><span style="COLOR: #000000">[</span><span style="COLOR: #800000">0</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=~</span><span style="COLOR: #000000">&nbsp;m</span><span style="COLOR: #000000">!^</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">-/</span><span style="COLOR: #000000">]r$</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">i)<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$remove</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800000">1</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #800080">$arg</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">($</span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">ARGV&nbsp;&gt;=&nbsp;$arg&nbsp;&amp;&amp;&nbsp;$ARGV[$arg]&nbsp;=~&nbsp;/^wins(cw)?$/i)</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">20</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$platform</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ARGV</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$arg</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$arch</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #800080">$platform</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=~</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">/^</span><span style="COLOR: #000000">wins$</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">i)</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">eka1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">eka2</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #800080">$arg</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">($</span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">ARGV&nbsp;&gt;=&nbsp;$arg&nbsp;&amp;&amp;&nbsp;$ARGV[$arg]&nbsp;=~&nbsp;/^(udeb|urel|eka1|eka2)$/i)</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">26</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$ARGV</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$arg</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=~</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">/^</span><span style="COLOR: #000000">(udeb</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">urel)$</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">i)<br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="COLOR: #008080">29</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$release</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ARGV</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$arg</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">32</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$arch</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ARGV</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$arg</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">35</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">36</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #800080">$arg</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">37</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">38</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$badArg</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;($</span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">ARGV&nbsp;&gt;=&nbsp;$arg);</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">39</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">}<br></span><span style="COLOR: #008080">40</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">41</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$badArg</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">!</span><span style="COLOR: #0000ff">defined</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$platform</span><span style="COLOR: #000000">))<br></span><span style="COLOR: #008080">42</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>{<br></span><span style="COLOR: #008080">43</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">USAGE_EOF;<br></span><span style="COLOR: #008080">44</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>usage</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000">&nbsp;HookEUSER</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">pl&nbsp;[</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">r]&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">PLATFORM</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;[RELEASE]&nbsp;[ARCH]<br></span><span style="COLOR: #008080">45</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>where</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">PLATFORM</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;WINS&nbsp;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">&nbsp;WINSCW<br></span><span style="COLOR: #008080">46</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[RELEASE]&nbsp;&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;UDEB&nbsp;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">&nbsp;UREL&nbsp;(default&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;UDEB)<br></span><span style="COLOR: #008080">47</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ARCH]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;EKA1&nbsp;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">&nbsp;EKA2&nbsp;(default&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;EKA1&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;WINS</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;EKA2&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;WINSCW)<br></span><span style="COLOR: #008080">48</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">r&nbsp;restores&nbsp;original&nbsp;EUSER</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">DLL<br></span><span style="COLOR: #008080">49</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>USAGE_EOF<br></span><span style="COLOR: #008080">50</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">exit</span><span style="COLOR: #000000">(</span><span style="COLOR: #800000">0</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">51</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br></span><span style="COLOR: #008080">52</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">53</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$path</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">/Symbian/8.0a/S60_2nd_FP2_SC/epoc32/release/wins/udeb</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">54</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">chdir</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$path</span><span style="COLOR: #000000">)&nbsp;or&nbsp;</span><span style="COLOR: #0000ff">die</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">Failed&nbsp;setting&nbsp;cwd&nbsp;to&nbsp;$path</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">55</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$euser</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">euser.dll</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">56</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$euser_orig</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">euser.orig.dll</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">57</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$hooks</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">EUserParasite_$arch.dll</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">58</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$hooks_src</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">$Bin/$hooks</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">59</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">die</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">Can't&nbsp;find&nbsp;\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #800080">$hooks_src</span><span style="COLOR: #000000">\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">""</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">unless</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">e&nbsp;</span><span style="COLOR: #800080">$hooks_src</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">60</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">Target&nbsp;path&nbsp;is&nbsp;$path\n</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">61</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">die</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">Can't&nbsp;find&nbsp;\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #800080">$euser</span><span style="COLOR: #000000">\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">&nbsp;-&nbsp;wrong&nbsp;drive,&nbsp;arguments,&nbsp;or&nbsp;EPOCROOT&nbsp;env&nbsp;var?</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">unless</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">e&nbsp;</span><span style="COLOR: #800080">$euser</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">62</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$remove</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">63</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>{<br></span><span style="COLOR: #008080">64</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">die</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">Can't&nbsp;find&nbsp;\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #800080">$euser_orig</span><span style="COLOR: #000000">\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">&nbsp;-&nbsp;was&nbsp;EUSER.DLL&nbsp;hooked&nbsp;by&nbsp;this&nbsp;script?</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">unless</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">e&nbsp;</span><span style="COLOR: #800080">$euser_orig</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">65</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">unlink</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$euser</span><span style="COLOR: #000000">&nbsp;or&nbsp;</span><span style="COLOR: #0000ff">die</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">Can't&nbsp;delete&nbsp;hooked&nbsp;EUSER.DLL&nbsp;-&nbsp;is&nbsp;emulator&nbsp;(etc)&nbsp;running?</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">66</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">rename</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$euser_orig</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$euser</span><span style="COLOR: #000000">)&nbsp;or&nbsp;</span><span style="COLOR: #0000ff">die</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">Failed&nbsp;renaming&nbsp;$euser_orig&nbsp;to&nbsp;$euser</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">67</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">Restored&nbsp;$euser&nbsp;from&nbsp;$euser_orig;&nbsp;hooks&nbsp;no&nbsp;longer&nbsp;in&nbsp;place\n</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">68</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br></span><span style="COLOR: #008080">69</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">70</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>{<br></span><span style="COLOR: #008080">71</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">die</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #800080">$euser_orig</span><span style="COLOR: #000000">\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">&nbsp;present&nbsp;-&nbsp;has&nbsp;EUSER.DLL&nbsp;already&nbsp;been&nbsp;hooked?</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">e&nbsp;</span><span style="COLOR: #800080">$euser_orig</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">72</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$hooked_euser</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">$euser.HOOKED</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">73</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">unlink</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$hooked_euser</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">&nbsp;earlier&nbsp;attempt&nbsp;may&nbsp;have&nbsp;died&nbsp;with&nbsp;"in&nbsp;use",&nbsp;etc</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">74</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$cmd</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">copy&nbsp;\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #800080">$hooks_src</span><span style="COLOR: #000000">\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">""</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">75</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$cmd</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=~</span><span style="COLOR: #000000">&nbsp;tr</span><span style="COLOR: #000000">-/-\\-</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">76</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">system</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$cmd</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800000">0</span><span style="COLOR: #000000">&nbsp;or&nbsp;</span><span style="COLOR: #0000ff">die</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">Failed&nbsp;running&nbsp;\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #800080">$cmd</span><span style="COLOR: #000000">\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">""</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">77</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$cmd</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #800080">$Bin</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">AttachDll</span><span style="COLOR: #000000">\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">&nbsp;$euser&nbsp;$hooks&nbsp;$hooked_euser</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">78</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">system</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$cmd</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800000">0</span><span style="COLOR: #000000">&nbsp;or&nbsp;</span><span style="COLOR: #0000ff">die</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">Failed&nbsp;running&nbsp;\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #800080">$cmd</span><span style="COLOR: #000000">\</span><span style="FONT-WEIGHT: bold; COLOR: #000000">""</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">79</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">rename</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$euser</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$euser_orig</span><span style="COLOR: #000000">&nbsp;or&nbsp;</span><span style="COLOR: #0000ff">die</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">Failed&nbsp;renaming&nbsp;$euser&nbsp;to&nbsp;$euser_orig&nbsp;-&nbsp;is&nbsp;emulator&nbsp;(etc)&nbsp;running?</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">80</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">rename</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$hooked_euser</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$euser</span><span style="COLOR: #000000">&nbsp;or&nbsp;</span><span style="COLOR: #0000ff">die</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">Failed&nbsp;renaming&nbsp;$hooked_euser&nbsp;to&nbsp;$euser</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">81</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">Modified&nbsp;$euser&nbsp;to&nbsp;hook&nbsp;$hooks,&nbsp;original&nbsp;is&nbsp;$euser_orig.\nRun&nbsp;HookEUSER&nbsp;with&nbsp;-r&nbsp;to&nbsp;restore\n</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">82</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br></span><span style="COLOR: #008080">83</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>这样你只要安装完 HookLogger 并按照上面的方法更新 HookEUSER.pl，再按照【参考文章】运行程序就行了。<br>程序的使用很简单，这里不再赘述。<br>定位到内存泄露的地方后剩下的事就交给你了~~<br><br>
<img src ="http://www.cppblog.com/JavaCS/aggbug/31029.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/JavaCS/" target="_blank">姜文拓</a> 2007-08-28 16:08 <a href="http://www.cppblog.com/JavaCS/archive/2007/08/28/31029.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>S60中，实现SettingItemList中通过RunSelectDlgLD获得文件路径并将其赋给CAknTextSettingItem的代码</title><link>http://www.cppblog.com/JavaCS/archive/2007/08/08/29562.html</link><dc:creator>姜文拓</dc:creator><author>姜文拓</author><pubDate>Wed, 08 Aug 2007 04:42:00 GMT</pubDate><guid>http://www.cppblog.com/JavaCS/archive/2007/08/08/29562.html</guid><wfw:comment>http://www.cppblog.com/JavaCS/comments/29562.html</wfw:comment><comments>http://www.cppblog.com/JavaCS/archive/2007/08/08/29562.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/JavaCS/comments/commentRss/29562.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/JavaCS/services/trackbacks/29562.html</trackback:ping><description><![CDATA[其中CSettingListListbox继承自CAknSettingItemList<br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 700px; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span>&nbsp;<span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;CSettingListListbox::EditItemL(TInt&nbsp;aIndex,&nbsp;TBool&nbsp;aCalledFromMenu)<br></span><span style="COLOR: #008080">&nbsp;2</span>&nbsp;<span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;3</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;aIndex&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;)<br></span><span style="COLOR: #008080">&nbsp;4</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="COLOR: #008080">&nbsp;5</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TBuf</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">128</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;buf;<br></span><span style="COLOR: #008080">&nbsp;6</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TBool&nbsp;b&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;AknCommonDialogs::RunSelectDlgLD(buf,&nbsp;R_MEMORY_SELECTION_DIALOG);<br></span><span style="COLOR: #008080">&nbsp;7</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;b&nbsp;)<br></span><span style="COLOR: #008080">&nbsp;8</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="COLOR: #008080">&nbsp;9</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iAdvancedSettingData</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">iRingToneName.Copy(buf);<br></span><span style="COLOR: #008080">10</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">SettingItemArray())[aIndex]</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">LoadL();</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">aIndex==2</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">11</span>&nbsp;<span style="COLOR: #008000"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">SettingItemArray())[aIndex]</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">UpdateListBoxTextL();</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">aIndex==2，修改text</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">12</span>&nbsp;<span style="COLOR: #008000"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">13</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">14</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">15</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">16</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;CAknSettingItemList::EditItemL(aIndex,&nbsp;aCalledFromMenu);<br></span><span style="COLOR: #008080">17</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;((</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">SettingItemArray())[aIndex])</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">StoreL();<br></span><span style="COLOR: #008080">18</span>&nbsp;<span style="COLOR: #000000">}</span></div>
<br>感谢Nokia论坛的beover1984提供的帮助 <br><br>
<img src ="http://www.cppblog.com/JavaCS/aggbug/29562.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/JavaCS/" target="_blank">姜文拓</a> 2007-08-08 12:42 <a href="http://www.cppblog.com/JavaCS/archive/2007/08/08/29562.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>