<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to macos_debug_howto</title><link>https://sourceforge.net/p/fldigi/wiki/macos_debug_howto/</link><description>Recent changes to macos_debug_howto</description><atom:link href="https://sourceforge.net/p/fldigi/wiki/macos_debug_howto/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 07 May 2020 18:46:01 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/fldigi/wiki/macos_debug_howto/feed" rel="self" type="application/rss+xml"/><item><title>macos_debug_howto modified by David Freese</title><link>https://sourceforge.net/p/fldigi/wiki/macos_debug_howto/</link><description>&lt;div class="markdown_content"&gt;&lt;h2 id="debugging-fldigi-flrig-etc-on-os-x-macos"&gt;Debugging fldigi, flrig, etc. on OS-X / macOS&lt;/h2&gt;
&lt;p&gt;After building fldigi, flrig, flmsg, etc. from source you may find it necessary to run from the Xcode debugger, lldb.  Each of the code snippets assumes that you are in the top level source directory for the application, for example: /Users/dave/dev/fldigi-4.0.15/&lt;/p&gt;
&lt;p&gt;fldigi:&lt;br/&gt;
If you already have a fldigi files folder, create a duplicate in the current working directory, pwd.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;$ cp -r ~/.fldigi fldigi.test
$ ./configure &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make
$ lldb src/fldigi
&lt;span class="o"&gt;(&lt;/span&gt;lldb&lt;span class="o"&gt;)&lt;/span&gt; process handle SIGUSR2 -n &lt;span class="nb"&gt;false&lt;/span&gt; -p &lt;span class="nb"&gt;true&lt;/span&gt; -s &lt;span class="nb"&gt;false&lt;/span&gt;
&lt;span class="o"&gt;(&lt;/span&gt;lldb&lt;span class="o"&gt;)&lt;/span&gt;run --config-dir fldigi.test
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;flrig:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;$ cp -r ~/.flrig flrig.test
$ ./configure &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make
$ lldb src/flrig
&lt;span class="o"&gt;(&lt;/span&gt;lldb&lt;span class="o"&gt;)&lt;/span&gt; process handle SIGUSR2 -n &lt;span class="nb"&gt;false&lt;/span&gt; -p &lt;span class="nb"&gt;true&lt;/span&gt; -s &lt;span class="nb"&gt;false&lt;/span&gt;
&lt;span class="o"&gt;(&lt;/span&gt;lldb&lt;span class="o"&gt;)&lt;/span&gt; run --config-dir flrig.test
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;flmsg:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;$ cp -r ~/.nbems flmsg.test
$ ./configure &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make
$ lldb src/flmsg
&lt;span class="o"&gt;(&lt;/span&gt;lldb&lt;span class="o"&gt;)&lt;/span&gt; process handle SIGUSR2 -n &lt;span class="nb"&gt;false&lt;/span&gt; -p &lt;span class="nb"&gt;true&lt;/span&gt; -s &lt;span class="nb"&gt;false&lt;/span&gt;
&lt;span class="o"&gt;(&lt;/span&gt;lldb&lt;span class="o"&gt;)&lt;/span&gt; run --flmsg-dir flmsg.test
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;You will be returned to the lldb prompt if a segmentation fault occurs during testing.  You can determine the fault location and the code path to the fault using the lldb back trace command:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lldb&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;bt&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;You can force an interrupt in the target program by issuing a control-C from the terminal window that is running lldb.  This may be useful if the program enters a loop in a thread that interferes with the general program flow.  The back trace command will indicate where the program was interrupted.&lt;/p&gt;
&lt;p&gt;Quit lldb with the 'q'uit command&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lldb&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;q&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Freese</dc:creator><pubDate>Thu, 07 May 2020 18:46:01 -0000</pubDate><guid>https://sourceforge.net41358d9b068bb792461dd3cca02dc384fa732f50</guid></item></channel></rss>