Compare Revisions

Debugging on Mac OS X

Revision 55344:

Revision 55344 by mnoorenberghe on

Revision 55345:

Revision 55345 by Irving.Reid on

Title:
Debugging on Mac OS X
Debugging on Mac OS X
Slug:
Debugging_on_Mac_OS_X
Debugging_on_Mac_OS_X
Tags:
"Developing Mozilla", Debugging
"Developing Mozilla", Debugging
Content:

Revision 55344
Revision 55345
n17      Creating the project in Xcoden17      Creating the project in Xcode (up to v3)
n22    <h4>n
23      XCode 4
24    </h4>
25    <ol>
26      <li>Open Xcode, and create a new workspace using File &gt; 
>New &gt; New Workspace<br> 
27        Name and save your .xcworkspace file in your source direc
>tory 
28      </li>
29      <li>Select File &gt; Add Files to "Workspace" ("Workspace" 
>will appear as your workspace's unique name)<br> 
30        Choose your source folder and click "Add files"<br>
31        Select the "Create groups for any added folders" option.<
>br> 
32        This will take a few minutes.
33      </li>
34      <li>Create a new Project with File &gt; New Project<br>
35        Choose command-line application<br>
36        Make sure it is a 32-bit (x86) application<br>
37        Name it "Firefox"<br>
38        You won't actually build this command line app, but you n
>eed a project in order to create a Scheme. 
39      </li>
40      <li>Create a new Scheme with Product &gt; New Scheme<br>
41        Target: Firefox<br>
42        Name: Firefox
43      </li>
44      <li>Modify the scheme to launch the actual Firefox binary u
>sing Product &gt; Edit Scheme<br> 
45        Under Debug:<br>
46        Build Configuration: Debug<br>
47        Executable: Choose the path to your debug build (NightlyD
>ebug.app) on disk.<br> 
48        Debugger: GDB<br>
49        Launch: Automatically<br>
50        <br>
51        Now you can set breakpoints, in Xcode and choose Product 
>&gt; Run to start Firefox and debug. 
52      </li>
53    </ol>
54    <h4>
55      XCode 3
56    </h4>
nn43    <h3 name="Creating_the_project_in_Xcode">
44      Creating the project in Xcode v4
45    </h3>
46    <p>
47      Apple changed a lot of things in Xcode 4 (Mac OS X 10.6/10.
 >7)
48    </p>
49    <ol>
50      <li>Open Xcode, and create a new Project with File &gt; New
 > Project. Select the "Other" template group and choose "Empty Pro
 >ject" as the project type, click Next, name the project and choos
 >e where to save the project, then click Finish.
51      </li>
52      <li>In the Project menu, select "New Scheme" and name your 
 >scheme. Then back to the menu for Project / Edit Scheme to bring 
 >up the settings. Select "Run" on the left-hand list, and select t
 >he "Info" tab.
53      </li>
54      <li>Set the Executable by clicking on "None" and selecting 
 >"Other...". A new dialog titled "Choose an executable to launch" 
 >will pop up. Browse to the .app file that you want to debug (Mozi
 >lla.app, Firefox.app, DeerParkDebug.app etc). The .app file is ty
 >pically found inside the "dist" folder in your build directory.
55      </li>
56      <li>if you are debugging Firefox, Thunderbird or some other
 > application that supports multiple profiles, using a separate pr
 >ofile for debugging purposes is recommended. See "Having a profil
 >e for debugging purposes" below. Select the "Arguments" tab in th
 >e scheme editor, and click the '+' below the "Arguments passed on
 > launch" field. Add "-P <em>profilename</em>". Also in the "Argum
 >ents" panel, add an environment variable "NO_EM_RESTART" with val
 >ue "1" to the variable list. You may also want to add an environm
 >ent variable "MOZ_QUIET" with value 1 to supress the noisy ++DOMW
 >INDOW debug output.
57      </li>
58      <li>At this point you can run the application, and it shoul
 >d show you source files when you pause or hit breakpoints, but it
 > doesn't automatically pick up your source tree.
59      </li>
60      <li>In order for Xcode to know what sources you want to deb
 >ug, you need to tell it where to find them. In the File menu choo
 >se 'Add Files to <span style="font-style: italic;">"</span><em>yo
 >ur-project</em>"'. Browse to your source tree and either command-
 >click the set of directories you care about, or just select the w
 >hole tree. Xcode will import everything, including .hg directorie
 >s, so you will need to remove a lot of junk from your project aft
 >er the import. The amount of work to carefully select which sourc
 >e files to input doesn't seem to be much different than the effor
 >t to clean up after importing everything.
61      </li>
62    </ol>
nn66    <h4>
67      Xcode 3
68    </h4>
tt71    </p>
72    <h4>
73      Xcode 4
74    </h4>
75    <p>
76      Make sure breakpoints are active (which implies running und
 >er the debugger) by opening the Product menu and selecting "Debug
 > / Activate Breakpoints" (also shown by the "Breakpoints" button 
 >in the top right section of the main window). Then click the "Run
 >" button or select "Run" from the Product menu.

Back to History