[WebKit-https.git] / Websites / webkit.org / building / debug.html
1 <?php
2     $title = "Debugging WebKit";
3     include("../header.inc");
4 ?>
6 <div class="mac-instructions">
7 <h2>Debugging on Mac OS X</h2>
8 <p>To debug from within Xcode, you can use the WebKit workspace. Ensure that the Products and Intermediates locations for the workspace match those used by <code>build-webkit</code> by choosing File > Workspace Settings and clicking the Advanced button, selecting Custom, Relative to Workspace, and entering WebKitBuild both for Products and for Intermediates. Note that if you have specified a custom build location in Xcode preferences, then you don&rsquo;t need to do this.</p>
9 <h3>Debugging UIProcess</h3>
10 <p>Follow the instructions on the <a href="debug-mac-uiprocess.html">debugging UIProcess</a> page.</p>
11 <h3>Debugging WebProcess</h3>
12 <ul>
13     <li>
14         <p>From the command line:</p>
15         <p>Execute the <code>debug-safari</code> or <code>debug-minibrowser</code> <a href="/coding/scripts.html">script</a> with the <code>--target-web-process</code> option. It will start the debugger with WebProcess as the target and with command-line arguments that will make WebProcess run Safari or MiniBrowser as its client. At the debugger prompt, enter <code>run</code> to start the process.</p>
16     </li>
17     <li>
18         <p>From Xcode:</p>
19         <p>Open the WebKit workspace and choose &ldquo;All Source (target WebProcess)&rdquo; from the Scheme pop-up menu in the toolbar, then choose Product > Run. If WebKit is already built, it is quicker to choose Product > Perform Action > Run Without Building</p>
20     </li>
21 </ul>
22 </div>
23 <div class="windows-instructions">
24 <h2>Debugging on Windows</h2>
25 <ol>
26 <li><p>Open <code>WebKit/WebKit/win/WebKit.vcproj/WebKit.sln</code></p>
27 <p>You can open it in either Visual Studio 2005, or Visual C++ Express 2005.
28 If you get errors about not being able to find <code>.vsprops</code> files, run
29 update-webkit, then close and relaunch Cygwin and Visual Studio or Visual C++
30 Express.</p>
31 </li>
32 <li><p>Set WebKit.vcproj as the solution's StartUp project</p>
33 <p>Select the WebKit project in the Solution Explorer, then choose Project >
34 Set as StartUp Project. This will cause the project to turn bold in the
35 Solution Explorer.</p>
36 <img src="set-as-startup-project-vs2005.png">
37 </li>
38 <li><p>Set WebKit.vcproj's Debugging properties</p>
39 <p>With the WebKit project selected, choose Project > Properties, then navigate
40 to Configuration Properties > Debugging. Set the following options:</p>
41 <dl>
42     <dt>Command</dt>
43     <dd><code>$(PROGRAMFILES)\Safari\Safari.exe</code></dd>
44     <dt>Environment</dt>
45     <dd><code>WEBKITNIGHTLY=$(OutDir)</code></dd>
46 </dl>
47 <p>Then click <code>OK</code> to close the properties dialog.</p>
48 <img src="set-debugging-properties-vs2005.png">
49 </li>
50 <li><p>Launch the debugger</p>
51 <p>Choose Debug > Start Debugging.</p>
52 <img src="launch-debugger-vs2005.png">
53 </ol>
54 <p>It is also recommended that you follow <a href="http://developer.apple.com/internet/safari/windows_symbols_agree.html">the instructions to configure Visual Studio to use Apple's Safari for Windows symbol server</a>. This will give Visual Studio the information it needs to provide reliable backtraces when pausing in the debugger or when a crash occurs.</p>
55 </div>
57 <?php
58     include("../footer.inc");
59 ?>