Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(814)

Unified Diff: native_client_sdk/src/doc/devguide/devcycle/debugging.rst

Issue 618823003: Add debugging information for nacl_io library. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Respond to feedback from Patch Set 5. Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « native_client_sdk/src/doc/devguide/coding/nacl_io.rst ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: native_client_sdk/src/doc/devguide/devcycle/debugging.rst
diff --git a/native_client_sdk/src/doc/devguide/devcycle/debugging.rst b/native_client_sdk/src/doc/devguide/devcycle/debugging.rst
index b00adb6526514554e358884825fedc450dda0902..35cba5a2b3721cc9a94bd666032a6b5f2684226c 100644
--- a/native_client_sdk/src/doc/devguide/devcycle/debugging.rst
+++ b/native_client_sdk/src/doc/devguide/devcycle/debugging.rst
@@ -86,9 +86,19 @@ calling fprintf() directly, or by using cover functions like these:
fprintf(stderr,"logerr: %s\n",pMsg);
}
+.. _using-chromes-stdout-and-stderr:
+
+Using Chrome's stdout and stderr Streams
+----------------------------------------
+
By default stdout and stderr will appear in Chrome's stdout and stderr stream
-but they can also be redirected as described below.
+but they can also be redirected to log files. (See the next section.) On Mac and
+Linux, launching Chrome from a terminal makes stderr and stdout appear in that
+terminal. If you launch Chrome this way, be sure it doesn't attach to an existing
+instance. One simple way to do this is to pass a new directory to chrome as your
+user data directory (``chrome --user-data-dir=<newdir>``).
+.. _redirecting-output-to-log:
Redirecting output to log files
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -179,12 +189,11 @@ with a matching Chrome version N. If the version of the debug bitcode pexe
does not match that of Chrome then the translation process may fail, and
you will see an error message in the JavaScript console.
-Also, make sure you are passing the ``-g`` :ref:`compile option
-<compile_flags>` to ``pnacl-clang`` to enable generating debugging info.
-You might also want to omit ``-O2`` from the compile-time and link-time
-options, otherwise GDB not might be able to print variables' values when
-debugging (this is more of a problem with the PNaCl/LLVM toolchain than
-with GCC).
+Also, make sure you are passing the ``-g`` :ref:`compile option <compile_flags>`
+to ``pnacl-clang`` to enable generating debugging info. You might also want to
+omit ``-O2`` from the compile-time and link-time options, otherwise GDB not
+might be able to print variables' values when debugging (this is more of a
+problem with the PNaCl/LLVM toolchain than with GCC).
Once you have built a non-stable debug copy of the pexe, list the URL of
that copy in your application's manifest file:
@@ -214,12 +223,13 @@ and run the ``debug_version.bc`` instead of ``release_version.pexe``.
Once the debug version is loaded, you are ready to :ref:`run nacl-gdb
<running_nacl_gdb>`
-Whether you publish the NMF file containing the debug URL to the release
-web server, is up to you. One reason to avoid publishing the debug URL
-is that it is only guaranteed to work for the Chrome version that matches
-the SDK version. Developers who may have left the ``--enable-nacl-debug``
-flag turned on may end up loading the debug copy of your application
-(which may or may not work, depending on their version of Chrome).
+Whether you publish the NMF file containing the debug URL to the
+release web server, is up to you. One reason to avoid publishing the
+debug URL is that it is only guaranteed to work for the Chrome version
+that matches the SDK version. Developers who may have left the
+``--enable-nacl-debug`` flag turned on may end up loading the debug
+copy of your application (which may or may not work, depending on
+their version of Chrome).
Debugging PNaCl pexes (with older Pepper toolchains)
@@ -236,6 +246,7 @@ pepper 35 or later.)
options.
* Secondly, use ``pnacl-translate`` to convert your ``pexe`` to one or more
+
``nexe`` files. For example:
.. naclcode::
@@ -525,15 +536,13 @@ Linux; .bundle files on Mac) are loaded directly in either the Chrome renderer
process or a separate plugin process, rather than in Native Client. Building a
module as a trusted Pepper plugin allows you to use standard debuggers and
development tools on your system, but when you're finished developing the
-plugin, you need to port it to Native Client (i.e., build the module with one
-of the toolchains in the NaCl SDK so that the module runs in Native Client).
-For details on this advanced development technique, see `Debugging a Trusted
-Plugin
+plugin, you need to port it to Native Client (i.e., build the module with one of
+the toolchains in the NaCl SDK so that the module runs in Native Client). For
+details on this advanced development technique, see `Debugging a Trusted Plugin
<http://www.chromium.org/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin>`_.
Note that starting with the ``pepper_22`` bundle, the NaCl SDK for Windows
includes pre-built libraries and library source code, making it much easier to
build a module into a .DLL.
-
.. |menu-icon| image:: /images/menu-icon.png
.. |puzzle| image:: /images/puzzle.png
« no previous file with comments | « native_client_sdk/src/doc/devguide/coding/nacl_io.rst ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698