OLD | NEW |
1 {{+bindTo:partials.standard_nacl_article}} | 1 {{+bindTo:partials.standard_nacl_article}} |
2 | 2 |
3 <section id="debugging"> | 3 <section id="debugging"> |
4 <span id="devcycle-debugging"></span><h1 id="debugging"><span id="devcycle-debug
ging"></span>Debugging</h1> | 4 <span id="devcycle-debugging"></span><h1 id="debugging"><span id="devcycle-debug
ging"></span>Debugging</h1> |
5 <p>This document describes tools and techniques you can use to debug, monitor, | 5 <p>This document describes tools and techniques you can use to debug, monitor, |
6 and measure your application’s performance.</p> | 6 and measure your application’s performance.</p> |
7 <div class="contents local" id="table-of-contents" style="display: none"> | 7 <div class="contents local" id="table-of-contents" style="display: none"> |
8 <p class="topic-title first">Table Of Contents</p> | 8 <p class="topic-title first">Table Of Contents</p> |
9 <ul class="small-gap"> | 9 <ul class="small-gap"> |
10 <li><p class="first"><a class="reference internal" href="#diagnostic-information
" id="id2">Diagnostic information</a></p> | 10 <li><p class="first"><a class="reference internal" href="#diagnostic-information
" id="id2">Diagnostic information</a></p> |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 <p>The Native Client SDK includes a command-line debugger that you can use to | 204 <p>The Native Client SDK includes a command-line debugger that you can use to |
205 debug Native Client modules. The debugger is based on the GNU debugger <a class=
"reference external" href="http://www.gnu.org/software/gdb/">gdb</a>, and is loc
ated at | 205 debug Native Client modules. The debugger is based on the GNU debugger <a class=
"reference external" href="http://www.gnu.org/software/gdb/">gdb</a>, and is loc
ated at |
206 <code>toolchain/<platform>_x86_newlib/bin/x86_64-nacl-gdb</code> (where <e
m><platform></em> | 206 <code>toolchain/<platform>_x86_newlib/bin/x86_64-nacl-gdb</code> (where <e
m><platform></em> |
207 is the platform of your development machine: <code>win</code>, <code>mac</code>,
or | 207 is the platform of your development machine: <code>win</code>, <code>mac</code>,
or |
208 <code>linux</code>).</p> | 208 <code>linux</code>).</p> |
209 <p>Note that this same copy of GDB can be used to debug any NaCl program, | 209 <p>Note that this same copy of GDB can be used to debug any NaCl program, |
210 whether built using newlib or glibc for x86-32, x86-64 or ARM. In the SDK, | 210 whether built using newlib or glibc for x86-32, x86-64 or ARM. In the SDK, |
211 <code>i686-nacl-gdb</code> is an alias for <code>x86_64-nacl-gdb</code>, and the
<code>newlib</code> | 211 <code>i686-nacl-gdb</code> is an alias for <code>x86_64-nacl-gdb</code>, and the
<code>newlib</code> |
212 and <code>glibc</code> toolchains both contain the same version of GDB.</p> | 212 and <code>glibc</code> toolchains both contain the same version of GDB.</p> |
213 <section id="debugging-pnacl-pexes-with-pepper-35"> | 213 <section id="debugging-pnacl-pexes-with-pepper-35"> |
214 <h4 id="debugging-pnacl-pexes-with-pepper-35">Debugging PNaCl pexes (with Pepper
35+)</h4> | 214 <span id="debugging-pnacl-pexes"></span><h4 id="debugging-pnacl-pexes-with-peppe
r-35"><span id="debugging-pnacl-pexes"></span>Debugging PNaCl pexes (with Pepper
35+)</h4> |
215 <p>If you want to use GDB to debug a program that is compiled with the PNaCl | 215 <p>If you want to use GDB to debug a program that is compiled with the PNaCl |
216 toolchain, you must have a copy of the pexe from <strong>before</strong> running | 216 toolchain, you must have a copy of the pexe from <strong>before</strong> running |
217 <code>pnacl-finalize</code>. The <code>pnacl-finalize</code> tool converts LLVM
bitcode | 217 <code>pnacl-finalize</code>. The <code>pnacl-finalize</code> tool converts LLVM
bitcode |
218 to the stable PNaCl bitcode format, but it also strips out debug | 218 to the stable PNaCl bitcode format, but it also strips out debug |
219 metadata, which we need for debugging.</p> | 219 metadata, which we need for debugging.</p> |
220 <p><strong>Note</strong> unlike the finalized copy of the pexe, the non-finalize
d debug copy | 220 <p><strong>Note</strong> unlike the finalized copy of the pexe, the non-finalize
d debug copy |
221 is not considered stable. This means that a debug copy of the PNaCl | 221 is not considered stable. This means that a debug copy of the PNaCl |
222 application created by a Pepper N SDK is only guaranteed to run | 222 application created by a Pepper N SDK is only guaranteed to run |
223 with a matching Chrome version N. If the version of the debug bitcode pexe | 223 with a matching Chrome version N. If the version of the debug bitcode pexe |
224 does not match that of Chrome then the translation process may fail, and | 224 does not match that of Chrome then the translation process may fail, and |
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
545 build a module into a .DLL.</p> | 545 build a module into a .DLL.</p> |
546 <section id="open-source-profiling-tools"> | 546 <section id="open-source-profiling-tools"> |
547 <h3 id="open-source-profiling-tools">Open source profiling tools</h3> | 547 <h3 id="open-source-profiling-tools">Open source profiling tools</h3> |
548 <p>For the brave-hearted there are open source tools at <a class="reference exte
rnal" href="http://www.chromium.org/nativeclient">Chromium.org</a> that describe
how to do profiling on | 548 <p>For the brave-hearted there are open source tools at <a class="reference exte
rnal" href="http://www.chromium.org/nativeclient">Chromium.org</a> that describe
how to do profiling on |
549 <a class="reference external" href="https://sites.google.com/a/chromium.org/dev/
nativeclient/how-tos/profiling-nacl-apps-on-64-bit-windows">64-bit Windows</a> | 549 <a class="reference external" href="https://sites.google.com/a/chromium.org/dev/
nativeclient/how-tos/profiling-nacl-apps-on-64-bit-windows">64-bit Windows</a> |
550 and <a class="reference external" href="http://www.chromium.org/nativeclient/how
-tos/limited-profiling-with-oprofile-on-x86-64">Linux</a> | 550 and <a class="reference external" href="http://www.chromium.org/nativeclient/how
-tos/limited-profiling-with-oprofile-on-x86-64">Linux</a> |
551 machines.</p> | 551 machines.</p> |
552 </section></section></section> | 552 </section></section></section> |
553 | 553 |
554 {{/partials.standard_nacl_article}} | 554 {{/partials.standard_nacl_article}} |
OLD | NEW |