<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>On Oct 7, 2013, at 5:19 PM, Jean-Yves Avenard <<a href="mailto:jyavenard@gmail.com">jyavenard@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hello<br><br>Thanks for answering!... very much appreciated<br><br>On 8 October 2013 10:40, Greg Clayton <<a href="mailto:gclayton@apple.com">gclayton@apple.com</a>> wrote:<br><br><blockquote type="cite">This works for me currently using the exact source for cmdtemplate.py:<br></blockquote><br>duh.. I feel silly.<br><br>I had called the script lldbfunc.py<br>After I changed:<br>   debugger.HandleCommand('command script add -f<br>cmdtemplate.the_framestats_command framestats')<br><br>into:<br>   debugger.HandleCommand('command script add -f<br>lldbfunc.the_framestats_command framestats')<br><br>then it works...<br><br>It's a bit of a worry though when the code being run in a file is<br>dependent on the name of that file !<br></blockquote><div><br></div><div>This is unfortunately Python’s fault</div><div>There are a couple ways that we could work around it.</div><div><br></div><div>One is to use __file__ (without the .py extension of course) to know the module name. Now you still somehow depend on your module name, but this dependency is masked by Python itself doing the undignified work of figuring that out for you</div><div><br></div><div>Alternatively, you can use the @lldb.command decorator</div><div><br></div><div>At the top of your life, just import lldb (which you might be doing anyway), and then you can mark your commands with @lldb.command, as in:</div><div><div><br></div><div><font face="Courier New">import lldb</font></div><div><font face="Courier New"><br></font></div><div><font face="Courier New">@lldb.command(“<i>TheNameOfMyCommandHere</i>")</font></div><div><font face="Courier New">def <i>MyCommandImplementor</i>(debugger,args,retval,unused):</font></div><div><font face="Courier New"><span class="Apple-tab-span" style="white-space:pre">       </span>print>>retval,"Hello world this is me"</font></div><div><font face="Courier New"><span class="Apple-tab-span" style="white-space:pre"> </span>print>>retval,args</font></div></div><div><br></div><div>
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style=" orphans: 2; widows: 2; border-collapse: separate; border-spacing: 0px;"><span style="font-size: 12px; orphans: auto; widows: auto;">Enrico Granata</span><br style="font-size: 12px; orphans: auto; widows: auto;"><span style="font-size: 12px; orphans: auto; widows: auto;">📩 egranata@</span><font color="#ff2600" style="font-size: 12px; orphans: auto; widows: auto;"></font><span style="font-size: 12px; orphans: auto; widows: auto;">.com</span><br style="font-size: 12px; orphans: auto; widows: auto;"><span style="font-size: 12px; orphans: auto; widows: auto;">☎️ 27683</span></div></div></div>
</div>
<br><div><div><br></div></div></body></html>