Index: docs/linux_debugging.md |
diff --git a/docs/linux_debugging.md b/docs/linux_debugging.md |
index 259467204b4c8f3b2e9e0e4144211dc7a2368f20..fdeac948e0d0a5d325bb2a0226504ffe0b759597 100644 |
--- a/docs/linux_debugging.md |
+++ b/docs/linux_debugging.md |
@@ -16,7 +16,9 @@ needed. Talk to security@chromium.org. |
## GDB |
-**GDB-7.7 is required in order to debug Chrome on Linux.** |
+*** promo |
+GDB-7.7 is required in order to debug Chrome on Linux. |
+*** |
Any prior version will fail to resolve symbols or segfault. |
@@ -59,17 +61,19 @@ if you're also running the main process in gdb, won't work at all (the two |
instances will fight over the terminal). To auto-start the renderers in the |
debugger, send the "run" command to the debugger: |
- chrome --no-sandbox --renderer-cmd-prefix='xterm -title renderer -e gdb -ex \ |
- run --args |
+ chrome --no-sandbox --renderer-cmd-prefix='xterm -title renderer -e gdb \ |
+ -ex run --args |
If you're using Emacs and `M-x gdb`, you can do |
chrome "--renderer-cmd-prefix=gdb --args" |
+*** note |
Note: using the `--renderer-cmd-prefix` option bypasses the zygote launcher, so |
the renderers won't be sandboxed. It is generally not an issue, except when you |
are trying to debug interactions with the sandbox. If that's what you are doing, |
you will need to attach your debugger to a running renderer process (see below). |
+*** |
You may also want to pass `--disable-hang-monitor` to suppress the hang monitor, |
which is rather annoying. |
@@ -177,8 +181,10 @@ Same strategies as renderers above, but the flag is called `--plugin-launcher`: |
chrome --plugin-launcher='xterm -e gdb --args' |
-_Note: For now, this does not currently apply to PPAPI plugins because they |
-currently run in the renderer process._ |
+*** note |
+Note: For now, this does not currently apply to PPAPI plugins because they |
+currently run in the renderer process. |
+*** |
#### Single-Process mode |
@@ -257,7 +263,7 @@ Use the `gdb-add-index` script (e.g. |
`build/gdb-add-index out/Debug/browser_tests`) |
Only makes sense if you run the binary multiple times or maybe if you use the |
-component build since most .so files won't require reindexing on a rebuild. |
+component build since most `.so` files won't require reindexing on a rebuild. |
See |
https://groups.google.com/a/chromium.org/forum/#!searchin/chromium-dev/gdb-add-index/chromium-dev/ELRuj1BDCL4/5Ki4LGx41CcJ |
@@ -364,7 +370,7 @@ Alternatively, you can use testing/xvfb.py to set up your environment for you: |
testing/xvfb.py out/Debug out/Debug/browser_tests \ |
--gtest_filter="MyBrowserTest.MyActivateWindowTest" |
-### `BROWSER_WRAPPER` |
+### BROWSER_WRAPPER |
You can also get the browser under a debugger by setting the `BROWSER_WRAPPER` |
environment variable. (You can use this for `browser_tests` too, but see above |
@@ -391,8 +397,7 @@ Default log level hides `LOG(INFO)`. Run with `--log-level=0` and |
`--enable-logging=stderr` flags. |
Newer versions of chromium with VLOG may need --v=1 too. For more VLOG tips, see |
-the chromium-dev thread: |
-http://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/dcd0cd7752b35de6?pli=1 |
+[the chromium-dev thread](http://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/dcd0cd7752b35de6?pli=1). |
### Seeing IPC debug messages |
@@ -405,9 +410,9 @@ or within gdb: |
set environment CHROME_IPC_LOGGING 1 |
If some messages show as unknown, check if the list of IPC message headers in |
-`chrome/common/logging_chrome.cc` is up-to-date. In case this file reference |
-goes out of date, try looking for usage of macros like `IPC_MESSAGE_LOG_ENABLED` |
-or `IPC_MESSAGE_MACROS_LOG_ENABLED`. |
+[chrome/common/logging_chrome.cc](/chrome/common/logging_chrome.cc) is |
+up-to-date. In case this file reference goes out of date, try looking for usage |
+of macros like `IPC_MESSAGE_LOG_ENABLED` or `IPC_MESSAGE_MACROS_LOG_ENABLED`. |
## Using valgrind |
@@ -469,7 +474,7 @@ with the appropriate instructions if you know what they are.) |
## Breakpad |
-See the last section of [linux_crash_dumping.md](linux_crash_dumping.md); you |
+See the last section of [Linux Crash Dumping](linux_crash_dumping.md); you |
need to set a gyp variable and an environment variable for the crash dump tests |
to work. |
@@ -478,7 +483,7 @@ to work. |
If you break in a debugger during a drag, Chrome will have grabbed your mouse |
and keyboard so you won't be able to interact with the debugger! To work around |
this, run via `Xephyr`. Instructions for how to use `Xephyr` are on the |
-[layout_tests_linux.md](layout_tests_linux.md) page. |
+[Running layout tests on Linux](layout_tests_linux.md) page. |
## Tracking Down Bugs |
@@ -486,6 +491,7 @@ this, run via `Xephyr`. Instructions for how to use `Xephyr` are on the |
Old builds are archived here: |
http://build.chromium.org/buildbot/snapshots/chromium-rel-linux/ |
+(TODO: does not exist). |
`tools/bisect-builds.py` in the tree automates bisecting through the archived |
builds. Despite a computer science education, I am still amazed how quickly |
@@ -533,7 +539,7 @@ Some strategies are: |
To test on various window managers, you can use a nested X server like `Xephyr`. |
Instructions for how to use `Xephyr` are on the |
-[layout_tests_linux.md](layout_tests_linux.md) page. |
+[Running layout tests on Linux](layout_tests_linux.md) page. |
If you need to test something with hardware accelerated compositing |
(e.g., compiz), you can use `Xgl` (`sudo apt-get install xserver-xgl`). E.g.: |