Reviewed by Adam.
[WebKit-https.git] / WebKitSite / building / debug.html
1 <?php
2     $title = "Debugging WebKit";
3     include("../");
4 ?>
6 <div class="mac-instructions">
7 <h2>Debugging on Mac OS X</h2>
8 <ol>
9 <li><p>Open a project</p>
10 <p>Each WebKit component -- JavaScriptCore, WebCore, and WebKit -- contains its own Xcode project. Open the project belonging to the component you want to debug.</p>
11 </li>
12 <li><p>Set the project's build products location</p>
13 <p>To find the WebKit you built, Xcode needs to know the build products location that <tt>build-webkit</tt> used. You can set the build products location from the project's Info window.</p>
14 <img src="info-tab.png">
15 </li>
16 <li><p>Set the project's active build configuration</p>
17 <p>Xcode also needs to know the build configuration you used. You can set the active build configuration from the project's Build window.</p>
18 <img src="build-window.png">
19 </li>
20 <li><p>Add a custom executable to the project</p>
21 <p>Choose any WebKit application you want to use for debugging. To use Safari, select /Applications/</p>
22 <img src="custom-executable.png">
23 </li>
24 <li><p>Set the project's active executable</p>
25 <p>You can set the active executable from the project's Build window. Choose the executable you just added.</p>
26 </li>
27 <li><p>Close and re-open the project</p>
28 <p>This will force Xcode to discover generated source files, which output to your build products location, allowing you to set breakpoints in them.</p>
29 </li>
30 <li><p>Launch the debugger</p>
31 <p>In the Debugger window, click the "Debug" button.</p>
32 <img src="debug.png">
33 </li>
34 </ol>
35 </div>
36 <div class="windows-instructions">
37 <h2>Debugging on Windows</h2>
38 <p>
39 You can launch the Visual Studio development environment with the following
40 command:</p>
41 <p class="code">devenv /debugexe Safari.exe [args to safari]</p>
42 <p>The arguments to Safari should be the same ones that <tt>run-safari</tt> uses,
43 namely the <tt>/frameworkPath</tt> switch (to point to the path at which the updated
44 WebKit can be found) and <tt>debug</tt> if the WebKit you built is a debug version.</p>
45 </div>
47 <?php
48     include("../");
49 ?>