diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-09-02 14:22:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-09-05 20:21:00 +0000 |
commit | 7d2c5d177e9813077a621df8d18c0deda73099b3 (patch) | |
tree | 88ad4850908e124d4f5d59f2bca571d63df34bf7 /chromium/docs/website/site/nativeclient/how-tos/debugging-documentation | |
parent | c5dbcb143405a38088d78b4b760d64aaff5157ab (diff) | |
download | qtwebengine-chromium-7d2c5d177e9813077a621df8d18c0deda73099b3.tar.gz |
BASELINE: Update Chromium to 102.0.5005.177
Change-Id: I0229f2402b8321f58c0092ec81d63372bec7e789
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/docs/website/site/nativeclient/how-tos/debugging-documentation')
34 files changed, 0 insertions, 739 deletions
diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin/debugging-a-trusted-plugin-on-linux/index.md b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin/debugging-a-trusted-plugin-on-linux/index.md deleted file mode 100644 index 8605f2222e7..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin/debugging-a-trusted-plugin-on-linux/index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -breadcrumbs: -- - /nativeclient - - Native Client -- - /nativeclient/how-tos - - '2: How Tos' -- - /nativeclient/how-tos/debugging-documentation - - Debugging Documentation -- - /nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin - - Debugging a Trusted Plugin -page_name: debugging-a-trusted-plugin-on-linux -title: Debugging a Trusted Plugin on Linux ---- - -1. Get a Chromium check-out. You can usually use the revision from the - nacl-sdk DEPS file. -2. You don’t need to build all of chromium, just pepper. - 1. Go to the src/ directory in your check-out - 2. type: ‘make ppapi_tests’ to build the pepper tests as well as - any libraries they depend on. You’ll end up with libppapi_cpp.a - and libppapi_cpp_object.a. -3. Build trusted version of the code - 1. For a C plugin you don’t have to link against anything. ppapi C - is all headers. - 2. For C++, you need libppapi_cpp.a and libppapi_cpp_objects.a. - Link against ppapi_cpp_objects and ppapi_cpp from chrome. - 1. link order matters: ppapi_cpp_objects has to come before - ppapi_cpp - 3. Be sure to specify -fno-rtti and -fPIC since chrome does not - build run-time type information by default, and you’ll be - generating a shared library as your plugin. - 4. For the linking step, be sure to specify -shared -4. To load your plugin, your application will need an embed tag. For - trusted plugins this should not have a “nacl” but a regular “type” - attribute, for example: type="application/x-hello-world" -5. Unlike with an untrusted plugin, instead of handling a onload event - in the EMBED tag, you have to call moduleDidLoad() directly after - the EMBED tag. -6. To debug, you have to use Chromium - best is to get a waterfall for - your platform build from - http://build.chromium.org/f/chromium/snapshots/ You can also finish - the chromium build you checked out but be prepared to wait a while. - This style of debugging is not supported with Google Chrome Dev - Channel -7. In a shell, launch chrome with the following arguments: - 1. --user-data-dir=/tmp/nacl_debugging_chrome_profile - 2. --register-pepper-plugins="location/of/your/plugin.so;application/x-hello-world" - 3. --single-process - 4. file://location/of/your/web_page.html -8. In Chrome, create a new tab and visit about:memory, this will list - the pid of the plugin tab. -9. You can now use gdb to attach to the pid and debug your plugin
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin/debugging-trusted-plugin-on-windows/index.md b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin/debugging-trusted-plugin-on-windows/index.md deleted file mode 100644 index 7c6ecdab808..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin/debugging-trusted-plugin-on-windows/index.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -breadcrumbs: -- - /nativeclient - - Native Client -- - /nativeclient/how-tos - - '2: How Tos' -- - /nativeclient/how-tos/debugging-documentation - - Debugging Documentation -- - /nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin - - Debugging a Trusted Plugin -page_name: debugging-trusted-plugin-on-windows -title: Debugging a Trusted Plugin on Windows ---- - -1. Get VS2008 -2. Set up the project/Solution using the wizard: make a Win32 Console - app, and then click through the wizard to modify the project to be a - Win32 DLL, that exports symbols. Visit here for more info: - <http://msdn.microsoft.com/en-us/library/ms235636(v=vs.80).aspx> -3. In the project properties, turn off precompiled headers. Do this so - you can use the same #include stack in your sources to build both - untrusted and trusted. -4. Note: I ran into problems using the ppapi headers that come with - NaCl: - 1. 1>d:\\native_client_sdk\\toolchain\\win_x86\\nacl64\\include\\machine\\_types.h(19) - : fatal error C1083: Cannot open include file: - 'native_client/src/include/portability.h': No such file or - directory - 2. I tried -D__native_client__, but this produced even more errors. - 3. To resolve this, I copied toolchain/win_x86/nacl64/include/ppapi - to sit at the same level as examples -5. In the project properties, add <native_client_sdk> to the - header search paths. -6. After copying the ppapi headers, the project still won't build - because I need to copy in the ppapi C++ sources and build them too. - I DEPSed in the ppapi sources from nacl/ppapi and added all the - files in ppapi/cpp/\*.cc to the VS project. -7. I had to change some source files. When you build under nacl-gcc, - things like inttypes.h (and stdint.h) are automagically part of the - #include chain. This is not so when building trusted. In this case, - I added #include <ppapi/c/pp_stdtype.h> to the files that - needed it. (Note that on Windows, there does not seem to be a - <stdint.h> or <inttypes.h>). -8. Edit hello_world/hello_world.html so that the embed tag has - type="application/x-hello-world" and no nacl= attribute. -9. Instead of handling a onload event in the EMBED tag, you have to - call moduleDidLoad() directly after the EMBED tag. -10. Run the local HTTP server in examples. -11. Once the DLL is built, run chrome - --register-pepper-plugins="d:\\native_client_sdk\\examples\\NaClExamples\\HelloWorld\\Debug\\HelloWorld.dll;application/x-hello-world" - --user-data-dir=d:\\trusted-debug-profile - --wait-for-debugger-children -12. Visit localhost:5103 and run the hello_world example. -13. To debug the DLL you have to attach to the right process. It isn't - clear how you find this, other than by guessing. I had limited - success in pulling up the Debug -> Attach... panel, then - launching chrome and visiting - localhost:5103/hello_world/hello_world.html, then hitting Refresh on - the Attach panel and attaching the the new "chrome.exe" process. I - have not been able to figure out how to debug startup issues. There - are some extra debugging hints here: - <http://www.chromium.org/developers/how-tos/debugging> - -Implications: - -1. The SDK will have to DEPS in and bundle src/ppapi from the chromium - project. -2. When building a trusted plugin, you have to use the chromium ppapi - headers and build the .cc files, then switch over to different - headers and link with libppapi_cpp.a to build a .nexe. We could - automate some of this by adding a build step in the SDK to build - libppapi_cpp.a and bundling that library. -3. **Potential show-stopper**: on Windows, there is no built-in - pthreads library. This means the pi_generator example will not - build, nor will any other app that uses pthread, unless we can find - a pthreads lib that we can re-distribute. -4. **Potential show-stopper**: None of this work allows for .dso's, - which are ELF. These will not load on Windows. Not sure if it's - possible to make .dso's into DLLs and mimic the dynamic loading - process. dlopen() will not work for the same reason that pthreads - don't work (no Windows support).
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin/index.md b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin/index.md deleted file mode 100644 index 36f6cfd7c34..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin/index.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -breadcrumbs: -- - /nativeclient - - Native Client -- - /nativeclient/how-tos - - '2: How Tos' -- - /nativeclient/how-tos/debugging-documentation - - Debugging Documentation -page_name: debugging-a-trusted-plugin -title: Debugging a Trusted Plugin ---- - -In some cases it can be useful to develop/port your Native Client module using a -two-step process, first as a non-portable trusted Pepper plugin for Windows, -Mac, or Linux, then porting to Native Client. In particular this approach allows -you to use the standard debuggers and tools from your preferred desktop -operating system during trusted plugin development. - -Developers should be mindful of the following potential issues when planning -this course of development: - -* Some libraries commonly used with Native Client will not build - easily on all operating systems. -* Threading models differ between trusted Pepper and untrusted Pepper - implementations. -* Extra effort may be required to get source to compile with multiple - different compilers, for example GCC vs. MS Visual Studio. -* Certain operations such as platform-specific library calls and - system calls may succeed during trusted development but fail in - Native Client. - -With this in mind, these sub-pages provide some tips on working with trusted -Pepper plugins on Windows, Mac and Linux.
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin/trusted-debugging-on-mac/index.md b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin/trusted-debugging-on-mac/index.md deleted file mode 100644 index a6508f76533..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin/trusted-debugging-on-mac/index.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -breadcrumbs: -- - /nativeclient - - Native Client -- - /nativeclient/how-tos - - '2: How Tos' -- - /nativeclient/how-tos/debugging-documentation - - Debugging Documentation -- - /nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin - - Debugging a Trusted Plugin -page_name: trusted-debugging-on-mac -title: Debugging a Trusted Plugin on Mac ---- - -<table> -<tr> - -1. <td>Make an new Xcode project, use the GUI to make a Bundle project - that uses Core Foundation.</td> -2. <td>Add existing NaCl sources</td> -3. <td>DEPS in ppapi from chromium, add the C++ sources - create a - Group and add the ppapi files directly. Adding ppapi as a folder - reference doesn't work.</td> -4. <td>Set "Header search paths" to point to the chromium ppapi headers - (|SDK_root|/third_party), NOT the built-in NaCl headers.</td> -5. <td>Add the SDK root to "Header Search Paths"</td> -6. <td>Build the plugin.</td> -7. <td>Edit hello_world/hello_world.html so that the embed tag has - type="application/x-hello-world" and no nacl= attribute.</td> -8. <td>Instead of handling a onload event in the EMBED tag, you have to - call moduleDidLoad() directly after the EMBED tag.</td> -9. <td>Make sure to uncheck "Load Symbols Lazily" in the Debugging - panel of Xcode preferences.</td> -10. <td>To debug, you have to use Chromium - best is to get a waterfall - build from http://build.chromium.org/f/chromium/snapshots/Mac/. This - style of debugging is not supported with Google Chrome Dev - Channel</td> - 1. <td>In Xcode, ctrl-click on "Executables" and select "Add Custom - Executable…".</td> - 2. <td>Call the new custom exec, say, "Chromium Dev"</td> - 3. <td>Point it at the .app wrapper for Chromium that you got from - the waterfall, e.g. ~/Downloads/chrome-mac/Chromium.app.</td> - 4. <td>Add these arguments in the Arguments tab:</td> - 1. <td>--user-data-dir=/tmp/nacl-debug-profile</td> - 2. <td>--register-pepper-plugins="$HOME/Source/nacl-sdk/src/examples/hello_world/HelloWorld/build/Debug/HelloWorld.bundle;application/x-hello-world"</td> - 3. <td>--single-process</td> - 4. <td>file://$HOME/Source/nacl-sdk/src/examples/hello_world/hello_world.html</td> -11. <td>It is possible to debug a plugin using Chrome Dev channel, but - it's a little more raw:</td> - 1. <td>In a shell, run Chrome like this: Google\\ - Chrome.app/Contents/MacOS/Google\\ Chrome - --user-data-dir=/tmp/nacl-debug-profile - --register-pepper-plugins="$HOME/Source/nacl-sdk/src/examples/hello_world/HelloWorld/build/Debug/HelloWorld.bundle;application/x-hello-world" - file://$HOME/Source/nacl-sdk/src/examples/hello_world/hello_world.html</td> - 2. <td>In Chrome, create a new tab and visit about:memory, this - will list the PID of the plugin tab.</td> - 3. <td>In Xcode, Run -> Attach To Process, then pick the - appropriate PID.</td> - 1. <td>Note: if you get various errors about formatting, just - click "Continue"</td> - -</tr> -</table>
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-chrome-os/index.md b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-chrome-os/index.md deleted file mode 100644 index 8c7afa9da77..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-chrome-os/index.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -breadcrumbs: -- - /nativeclient - - Native Client -- - /nativeclient/how-tos - - '2: How Tos' -- - /nativeclient/how-tos/debugging-documentation - - Debugging Documentation -- - /nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended - - Debugging with debug stub (recommended) -page_name: debugging-nacl-apps-in-chrome-os -title: Debugging NaCl apps in Chrome OS ---- - -It is not possible to run debugger on Chrome OS without using dev mode. Luckily, -debugger uses network connection to communicate with the NaCl debug stub. This -makes remote debugging possible with debugger running on a remote machine and -NaCl application running on Chrome OS machine. - -## Prepare Chrome OS for NaCl debugging - -On chrome://flags page there are two flags related to NaCl debugging. We need to -enable "Native Client GDB-based debugging" flag and switch "Restrict Native -Client GDB-based debugging by pattern" to "Debug everything except secure shell" -or "Debug only if URL manifest ends with debug.nmf" value. Changes on -chrome://flags page require browser restart to take effect. Log out, close and -open the lid to restart the browser. If they are set properly, secure shell -extension should work, but NaCl application we are trying to debug should hang -waiting for debugger to connect. - -## Tunneling debugger connection - -Once you launch your NaCl application now, the NaCl debug stub opens 4014 port -on Chrome OS machine. This port is not accessible from outside, so we need to -tunnel it through ssh connection to remote machine. There are two ways to do -this. - -The first way is to open new secure shell tab or window and add "-R -port-number:localhost:4014" to "SSH Arguments" field before connecting to remote -computer. Then you can use secure shell to launch NaCl debugger on that machine -where you should use "target remote :port-number" command to connect to debug -stub running on Chrome OS. - -The second way is to use an existing secure shell tab or window. Press enter, ~, -shift+c. This combination opens ssh-prompt where you can enter "-R -port-number:localhost:4014" command. Pressing enter returns control to normal -shell where you can launch NaCl debugger and use "target remote :port-number" -command to connect to debug stub running on Chrome OS. - -In both cases the port number can be any free port number on the remote machine -above 1024 including 4014.
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse add directory path 1.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse add directory path 1.png.sha1 deleted file mode 100644 index 10b369ee135..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse add directory path 1.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -ca64943da2b5ad39c4b082ce05ef6bc5d50f6ba3
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse add directory path 2.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse add directory path 2.png.sha1 deleted file mode 100644 index 688b4cf55de..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse add directory path 2.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -b65fdac12539c396a69eb5a8bcac50b08d977508
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse build behaviour tab.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse build behaviour tab.png.sha1 deleted file mode 100644 index e05359bfe83..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse build behaviour tab.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -0217e502261b5990339938cf0e151cc6475d041a
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse build variables.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse build variables.png.sha1 deleted file mode 100644 index 5934dc4f52d..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse build variables.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -7ec46055e3a1f1d8f67e0523e8680d114cb4ca88
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse build.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse build.png.sha1 deleted file mode 100644 index 8b2b25aa248..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse build.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -7055e7c625e190952b97e8f8af0b40dba722cb16
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse consoles.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse consoles.png.sha1 deleted file mode 100644 index d107fc5d32e..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse consoles.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -9066bfef70126de352541877343b8bf0a891143b
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug configuration Debugger Gdbserver Settings.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug configuration Debugger Gdbserver Settings.png.sha1 deleted file mode 100644 index d931d716598..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug configuration Debugger Gdbserver Settings.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -bec5808b06a22da25deff8483263b7cec981d28a
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug configuration Debugger Main.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug configuration Debugger Main.png.sha1 deleted file mode 100644 index cf82235a046..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug configuration Debugger Main.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -e78f102d96325e58310fac701e30f94c55f44810
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug configuration glibc Debugger Main.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug configuration glibc Debugger Main.png.sha1 deleted file mode 100644 index 17d7d7c0301..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug configuration glibc Debugger Main.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -0e046c14ee92b0f939ff9b0ea62977dd00e03813
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug configuration glibc main.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug configuration glibc main.png.sha1 deleted file mode 100644 index e3c1788a897..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug configuration glibc main.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -f1c519aa044c7c7ae4bdb59031bd51b635fb8d26
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug configuration main.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug configuration main.png.sha1 deleted file mode 100644 index c92c53401a0..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug configuration main.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -c120f1938f8513eaa852f63ede2126c777938081
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug icon.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug icon.png.sha1 deleted file mode 100644 index 8584eafa229..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse debug icon.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -0d9788d92532b0ee7fba7ce0b93f4d0ad6c778cd
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse gdb_init file.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse gdb_init file.png.sha1 deleted file mode 100644 index 3f888727957..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse gdb_init file.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -79f88416480f41213ce2b4ac87710d2efbd47fff
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse glibc hit breakpoint.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse glibc hit breakpoint.png.sha1 deleted file mode 100644 index 72068aeb700..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse glibc hit breakpoint.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -0c98492e6c4bed40599fc61dbfe44711eb7b0576
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse hammer icon.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse hammer icon.png.sha1 deleted file mode 100644 index 9c2c4345d88..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse hammer icon.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -ea173ca1523505dbe55d04b37411809a23766643
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse hit breakpoint.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse hit breakpoint.png.sha1 deleted file mode 100644 index 8d578dd84db..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse hit breakpoint.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -5ff7261a75a702d6ee9606570c16565c57520b75
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse last debug configurations.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse last debug configurations.png.sha1 deleted file mode 100644 index 49a9695a226..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse last debug configurations.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -f565b31f9413db44cbba83a9a8685cf05fe56109
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse new build variable.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse new build variable.png.sha1 deleted file mode 100644 index 97a4d9d2353..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse new build variable.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -9d14e3854ff56820abbdc18f0bd10b880fa6d1a0
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse new debug configuration icon.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse new debug configuration icon.png.sha1 deleted file mode 100644 index 6ca1151e012..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse new debug configuration icon.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -e186a744d20b1ef135dff670ad94f6870c93aa05
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse new project.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse new project.png.sha1 deleted file mode 100644 index 5f6a8b60c64..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse new project.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -03a39fa04ee83dcc4d323a70df939a1cdddd9c27
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse output location.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse output location.png.sha1 deleted file mode 100644 index 66ada924981..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse output location.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -599c895aebaec53f8775d0ba12af5385101b7dea
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse project view.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse project view.png.sha1 deleted file mode 100644 index 50c5c875e6d..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse project view.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -f288a4e038d156f78555c26ea6703f67b5ff582e
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse select preferred launcher.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse select preferred launcher.png.sha1 deleted file mode 100644 index 77e740b7734..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse select preferred launcher.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -8c91e6461916b23f0478ecd94f15a6a12d9573f4
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse source location.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse source location.png.sha1 deleted file mode 100644 index 76191ae9887..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse source location.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -f539c3ce5f461bad6b652e8efd05f18e13ce85e9
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse with indexer enabled.png.sha1 b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse with indexer enabled.png.sha1 deleted file mode 100644 index ba080511cfc..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse with indexer enabled.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -1424cd15ac7fdaee490cd965e023001a17a729bb
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/index.md b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/index.md deleted file mode 100644 index 6014b39c661..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/index.md +++ /dev/null @@ -1,222 +0,0 @@ ---- -breadcrumbs: -- - /nativeclient - - Native Client -- - /nativeclient/how-tos - - '2: How Tos' -- - /nativeclient/how-tos/debugging-documentation - - Debugging Documentation -- - /nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended - - Debugging with debug stub (recommended) -page_name: debugging-nacl-apps-in-eclipse-cdt -title: Debugging NaCl apps in Eclipse CDT ---- - -Eclipse CDT plugin is designed for development with GNU tools. Its flexibility -allows to configure it for developing NaCl applications without using any -additional plugins. The cost of this flexibility is that a lot of advanced -features are not available. The following instructions are written for Windows -but they can be used on any OS if you replace Windows paths to paths on your OS. - -## Creating NaCl project - -Create NaCl Project directory inside Eclipse workspace -(C:\\Users\\username\\workspace by default). Copy all files from -nacl_sdk\\pepper_22\\examples\\hello_world except hello_world.c to this -directory. Create src subdirectory and copy hello_world.c file there. Placing -source files in the src directory makes cleaner project structure. Now go to -File->New->Makefile Project with Existing Code menu in Eclipse. Choose -project name, enter project folder location and select Cross GCC toolchain. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20new%20project.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20new%20project.png) - -Your new project will look like this. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20project%20view.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20project%20view.png) - -## Building NaCl project - -Open Makefile in the editor. Comment out lines -ALL_TARGETS+=win/Debug/hello_world.nmf and -ALL_TARGETS+=win/Release/hello_world.nmf and replace hello_world.c with -src/hello_world.c (Edit->Find/Replace... in the menu or Ctrl+F with default -key bindings). Then right click on the project and choose Preferences in the -popup menu. Go to C/C++ Build->Build Variables page and add NACL_SDK_ROOT -variable. Point the variable to the pepper version you want to build with. If -you downloaded NaCl SDK to c:\\nacl_sdk directory and want to use 22 pepper, set -it to c:\\nacl_sdk\\pepper_22. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20new%20build%20variable.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20new%20build%20variable.png) - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20build%20variables.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20build%20variables.png) - -Now we can use this variable to set build command on C/C++ Build page to -${NACL_SDK_ROOT}/tools/make NACL_SDK_ROOT=${NACL_SDK_ROOT}. On Linux and Mac use -make NACL_SDK_ROOT=${NACL_SDK_ROOT}. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20build.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20build.png) - -Enable parallel build on Behaviour tab. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20build%20behaviour%20tab.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20build%20behaviour%20tab.png) - -Press OK in properties window. You can now build the project by right clicking -on it and selecting Build Project in the popup menu or by pressing hammer icon -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20hammer%20icon.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20hammer%20icon.png) -in the toolbar. Make build log will be shown in console view. - -## Set up eclipse indexer - -Eclipse indexer doesn't use external compiler and so it should be configured -separately. Open project properties and go to C/C++ General->Paths and -Symbols page. Open Source Location tab, add src folder using Add Folder... -button and remove root of the project using Delete button. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20source%20location.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20source%20location.png) - -Then go to Output Location path, add glibc and newlib folders there and remove -root of the project. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20output%20location.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20output%20location.png) - -Now let us setup include paths. Go to Includes tab and press Add... button. -Enter ${NACL_SDK_ROOT}/include in the directory field and select Add to all -configurations and Add to all languages checkboxes. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20add%20directory%20path%201.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20add%20directory%20path%201.png) - -Then press Add... button again and add -${NACL_SDK_ROOT}/toolchain/win_x86_glibc/x86_64-nacl/include directory (replace -win_x86_glibc with linux_x86_glibc or mac_x86_glibc if you use Linux or Mac OS X -accordingly). - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20add%20directory%20path%202.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20add%20directory%20path%202.png) - -Press OK button in properties window and open hello_world.c. There should not be -any compile errors now. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20with%20indexer%20enabled.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20with%20indexer%20enabled.png) - -## Debug NaCl newlib application - -Launching and debugging applications in Eclipse is done via running and -debugging configurations. Usually they are created automatically. Unfortunately, -NaCl debugging is done using remote debugging protocol. Setting up remote -connection requires parameters that can't be determined automatically. So we -have to create debugging configuration by hand. Go to Run->Debug -Configurations... menu or press on debug icon arrow [<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20debug%20icon.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20debug%20icon.png) -in toolbar and choose Debug Configurations... in the popup menu. Select C/C++ -Remote Application in Debug Configurations windows and press new button [<img -alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20new%20debug%20configuration%20icon.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20new%20debug%20configuration%20icon.png) -above filter text field or choose New in the popup menu. - -Change configuration name to NaCl Project newlib and fill C/C++ Application -field with ${workspace_loc}\\NaCl -Project\\newlib\\Debug\\hello_world_x86_64.nexe. We use ${workspace_loc} instead -of ${project_loc} since the later depends on currently selected project. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20debug%20configuration%20main.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20debug%20configuration%20main.png) - -Now press Select other link at the bottom of the window. If you don't see the -link, skip this step. Select Use configuration specific settings checkbox and -choose GDB (DSF) Manual Remote Debugging Launcher in the list. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20select%20preferred%20launcher.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20select%20preferred%20launcher.png) - -Press OK and go to the debugger tab. Change Stop on startup at field to -Instance_DidCreate or deselect the Stop on startup checkbox. On Main tab in -Debugger Options set GDB debugger field to -c:\\nacl_sdk\\pepper_canary\\toolchain\\win_x86_glibc\\bin\\x86_64-nacl-gdb.exe. -Ensure that Non-stop mode checkbox is not selected since nacl-gdb doesn't -support this mode. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20debug%20configuration%20Debugger%20Main.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20debug%20configuration%20Debugger%20Main.png) - -Set port number to 4014 in Gdbserver Settings tab. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20debug%20configuration%20Debugger%20Gdbserver%20Settings.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20debug%20configuration%20Debugger%20Gdbserver%20Settings.png) - -Save debug configuration by clicking Apply button. - -Now you need to launch chrome with --no-sandbox and --enable-nacl-debug flags -and run your NaCl application. NaCl debug stub will stop application at first -instruction. Then you need to open Debug Configuration window, select our debug -configuration and press Debug button. Next time, you can launch it by pressing -debug icon arrow that shows 10 last debug configurations. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20last%20debug%20configurations.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20last%20debug%20configurations.png) - -When program will stop on the start breakpoint or breakpoint you set in project, -Eclipse will switch to debug perspective. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20hit%20breakpoint.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20hit%20breakpoint.png) - -## Debugging NaCl glibc application - -Create gdb_init.txt file and add line nacl-manifest -"c:\\\\Users\\\\username\\\\workspace\\\\NaCl -Project\\\\glibc\\\\Debug\\\\hello_world.nmf". If you use debugger from -pepper_29+, you don't need to double slashes. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20gdb_init%20file.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20gdb_init%20file.png) - -Go to Run->Debug configuration... menu and duplicate newlib debug -configuration using Duplicate item in popup menu. Change new configuration name -to NaCl Project glibc and C/C++ Application field to ${workspace_loc}\\NaCl -Project\\glibc\\Debug\\lib64\\runnable-ld.so. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20debug%20configuration%20glibc%20main.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20debug%20configuration%20glibc%20main.png) - -Then go to Debugger tab and change GDB command file on Main subtab to -c:\\Users\\username\\workspace\\NaCl Project\\gdb_init.txt. Ensure that Non-stop -mode checkbox is not selected. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20debug%20configuration%20glibc%20Debugger%20Main.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20debug%20configuration%20glibc%20Debugger%20Main.png) - -Press Apply button and close the window. Now you need to run your NaCl -application in chrome with --enable-nacl-debug and --no-sandbox flags, select -this debug configuration in Debug Configurations window and press Debug button. -You may see some error messages like - -```none -No source file named hello_world.c. -warning: Could not load shared library symbols for runnable-ld.so. -Do you need "set solib-search-path" or "set sysroot"? -``` - -You should ignore them. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20glibc%20hit%20breakpoint.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20glibc%20hit%20breakpoint.png) - -## Troubleshooting - -If something goes wrong, you can look on gdb input and output. Press on the -arrow of console icon in Console view to show "NaCl Project glibc \[C/C++ Remote -Application\] gdb traces" console. - -[<img alt="image" -src="/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20consoles.png">](/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/debugging-nacl-apps-in-eclipse-cdt/eclipse%20consoles.png)
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/getting-started-with-debug-stub/index.md b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/getting-started-with-debug-stub/index.md deleted file mode 100644 index 5ceee4ee604..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/getting-started-with-debug-stub/index.md +++ /dev/null @@ -1,121 +0,0 @@ ---- -breadcrumbs: -- - /nativeclient - - Native Client -- - /nativeclient/how-tos - - '2: How Tos' -- - /nativeclient/how-tos/debugging-documentation - - Debugging Documentation -- - /nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended - - Debugging with debug stub (recommended) -page_name: getting-started-with-debug-stub -title: Getting started with debug stub ---- - -### Introduction - -New versions of chrome include NaCl with debug stub support. If ---enable-nacl-debug switch is passed to chrome or -g switch is passed to -sel_ldr, all NaCl applications start with the debug stub enabled. The debug stub -stops untrusted code at the first instruction inside the IRT and listens on a -TCP port of localhost network interface (4014 currently) for incoming connection -from nacl-gdb. When nacl-gdb connects to the debug stub, they talk with each -other using RSP protocol. Since remote debugging does not need to use -OS-specific debugging functions, we need only one version of nacl-gdb for both -32 and 64-bit debugging. Moreover, if one forwards port to a remote machine, it -is possible to use nacl-gdb for one OS to debug NaCl application on a different -OS. All the differences between OSes are abstracted away by debug stub. - -## Get the debugger - -The debugger is included in the latest version of NaCl SDK. It is located in -nacl_sdk/pepper_canary/toolchain/linux_x86_glibc/bin/x86_64-nacl-gdb on Linux, -nacl_sdk/pepper_canary/toolchain/win_x86_glibc/bin/x86_64-nacl-gdb.exe on -Windows, etc. Debuggers in \*_x86_glibc and \*_x86_newlib directories are -exactly the same. You can use either one on them. Moreover, unlike the rest of -SDK, you can copy debugger to a different folder. - -Regarding the pepper and chrome versions, the latest debugger should work with -the previous versions of chrome/sel_ldr but new functionality may be missing. - -## Debugging NaCl applications in Chrome - -NaCl applications can be launched using two ways in Chrome. You can load -unpacked extension on [chrome://chrome/extensions/](javascript:void(0);) page -(switch on developers mode) and open it. Alternative way is to launch a web -server and either launch chrome with --enable-nacl switch or enable NaCl -applications outside of Chrome Web Store or -[chrome://flags/](javascript:void(0);) page (you need to relaunch chrome after -that). In order to switch on debug stub support, you need to pass ---enable-nacl-debug and --no-sandbox switches to chrome. Create a shell script -that launches chrome with these flags. You can also add ---user-data-dir=some-path to use a separate profile. - -### Debugging newlib applications - -In order to debug NaCl application, you need to launch Chrome and open NaCl -application there first. Then run x86_64-nacl-gdb. Enter following commands -there. If you have spaces in paths, use quotes and double all slashes (or use -backslashes). For pepper29+ debugger you should use quotes without doubling -slashes. - -```none -(gdb) file c:\nacl_sdk\pepper_canary\examples\hello_world\newlib\Debug\hello_world_x86_64.nexe -(gdb) target remote :4014 -``` - -Point file command to 64-bit nexe on 64-bit platforms and to 32-bit nexe on -32-bit platforms. Then you can use all normal gdb commands. - -### Debugging glibc applications - -Debugging glibc applications is harder. You need to use following commands. - -```none -(gdb) nacl-manifest c:\nacl_sdk\pepper_canary\examples\hello_world\glibc\Debug\hello_world.nmf -(gdb) target remote :4014 -``` - -If you launched NaCl as unpacked chrome extension or from local http server, you -already have the NaCl manifest file which you should use here. If you launched -NaCl from an external http server, you need to download \*.nmf, \*.nexe and -\*.so files of the NaCl application and place them in the same directory -structure that is used on the server (\*.nmf file uses relative paths to -reference main executable and libraries). Then point nacl-manifest command to -the downloaded \*.nmf file. - -### Debugging with IRT symbols - -You can additionally load IRT symbols. This helps to understand what application -is doing when it is stopped inside NaCl syscall. - -```none -nacl-irt c:\Users\username\AppData\Local\Google\Chrome SxS\Application\23.0.x.x\nacl_irt_x86_64.nexe -``` - -### Automatic debugger launching - -Chrome can be configured to launch debugger automatically. Use additional -command-line option --nacl-gdb="path-to-nacl-gdb" on Windows or ---nacl-gdb="command line to launch nacl-gdb in the new shell" on Linux. You can -use --nacl-gdb-script="path-to-gdb-script" to execute your gdb script at start -up. Chrome will autodetect its IRT location and execute nacl-irt command. -Additionally, if NaCl application is in a chrome extension, nacl-manifest -command is executed automatically. Example chrome command lines are shown below. - -```none -chrome.exe --enable-nacl-debug --no-sandbox "--nacl-gdb=c:\nacl_sdk\pepper_canary\toolchain\win_x86_glibc\bin\x86_64-nacl-gdb" "--nacl-gdb-script=c:\Users\User Name\Documents\script.gdb" -``` - -```none -./chrome --enable-nacl-debug --no-sandbox "--nacl-gdb=xterm /home/user_name/nacl_sdk/pepper_canary/toolchain/linux_x86_glibc/bin/x86_64-nacl-gdb" --nacl-gdb-script=/home/user_name/script.gdb -``` - -## Debugging NaCl applications in sel_ldr - -Debugging command line NaCl applications is enabled by passing -g switch to -sel_ldr. Newlib debugging is the same, glibc debugging requires creating an -artificial manifest. You need to reference runnable-ld.so, main executable and -all \*.so libraries using relative paths from manifest file. If you want to load -IRT symbols, use nacl-irt command with the same IRT that is passed to sel_ldr -using -B switch.
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/index.md b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/index.md deleted file mode 100644 index 9a836944c1a..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/debugging-with-debug-stub-recommended/index.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -breadcrumbs: -- - /nativeclient - - Native Client -- - /nativeclient/how-tos - - '2: How Tos' -- - /nativeclient/how-tos/debugging-documentation - - Debugging Documentation -page_name: debugging-with-debug-stub-recommended -title: Debugging with debug stub (recommended) ---- - -Debug stub is a new way to debug NaCl applications. If --enable-nacl-debug and ---no-sandbox switches are passed to chrome or -g switch is passed to sel_ldr, a -local TCP port is opened that accepts incoming TCP connections from a debugger -via RSP protocol. This port is opened on localhost network interface, so one -need to forward this port to debug NaCl application from remote computer. This -method of debugging is preferred since debug stub inside NaCl process have an -intimate knowledge about NaCl application.
\ No newline at end of file diff --git a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/index.md b/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/index.md deleted file mode 100644 index 041a7914015..00000000000 --- a/chromium/docs/website/site/nativeclient/how-tos/debugging-documentation/index.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -breadcrumbs: -- - /nativeclient - - Native Client -- - /nativeclient/how-tos - - '2: How Tos' -page_name: debugging-documentation -title: Debugging Documentation ---- - -**The Basics** - -The NaCl team is hard at work developing an integrated debugging solution(1). -But before this feature is available, developers must resort to alternative -debugging techniques. These techniques are described here (with reservation!) -First, Native Client applications can be debugged the old school way: with -printf() and logging. Second, to a limited degree, Native Client can be debugged -with the host's GDB, but using normal GDB will have problems resolving addresses --- some manual tweaking needs to be done to map NaCl addresses into the global -address space GDB is using. Third, there are some experimental patches to -customize GDB which enable various degrees of debugging untrusted code. - -First, we recommend debugging as much as possible compiled as a normal trusted -plugin/executable outside of Native Client, which of course will allow full use -of debuggers such as GDB, MSVC, and WinDebug. Native Client most resembles -Linux, so using GCC and POSIX will be the closest match to the NaCl runtime -environment. - -For untrusted Native Client applications, we again recommend debugging on a -Linux based host, and launching a debug build of Chrome from a terminal window. -A Native Client application can use printf() which will output messages to the -terminal window from which Chrome was launched. - -Native Client's Service Runtime can output debug messages to the terminal -window. The level of detail in these logging messages can be controlled via the -environment variable NACLVERBOSITY - -For example: - -developer@host:/home/developer/chrome/src/out/Debug$ export NACLVERBOSITY=3 - -developer@host:/home/developer/chrome/src/out/Debug$ ./chrome –enable-nacl - -Additional messages from the plug-in can be separately enabled via -NACL_SRPC_DEBUG environment variable. - -To capture log output to file “outfile” use: - -developer@host:/home/developer/chrome/src/out/Debug$ ./chrome –enable-nacl -&>outfile - -To get logs in Windows, you must instead run chrome with the environment -variable NACLLOG=<absolute path to log file / path relative to -chrome.exe>. This requires running Chrome with the --no-sandbox flag. - -**Getting the output from the Native Client Program on Windows:** - -On Linux and OSX, the Native Cilent application inherits standard output and -standard error from Chrome, so though cumbersome, printf-style debugging is -feasible. On Windows, like any non-console application, standard output and -standard error outputs are thrown into the bit bucket. To get the Native Client -application's output on Windows, set the NACL_EXE_STDOUT and NACL_EXE_STDERR -environment variables to be the absolute path to files, and then start Chrome -with the --no-sandbox flag. Output written to standard output and standard error -will then be written to the specified files. - -**Getting the Process ID (PID) of the Native Client Program from Chrome:** - -Chrome -> Developer->Task Manager, right-click process table header, -toggle on "Process ID". The PID can be used to attach GDB to running Native -Client processes. Or click on a new tab and type "about:memory" into the URL -address bar.
\ No newline at end of file |