Remove stray doc references to valgrind.
We removed direct support for valgrind on linux quite some time ago, but apparently we missed a number of references in the docs. This CL removes them, to reduce confusion. R=mbarbella@chromium.org BUG= Review-Url: https://codereview.chromium.org/2632003002 Cr-Commit-Position: refs/heads/master@{#443967}
This commit is contained in:
@ -40,27 +40,6 @@ If `fast/dom/object-plugin-hides-properties.html` and
|
|||||||
|
|
||||||
sudo apt-get remove totem-mozilla
|
sudo apt-get remove totem-mozilla
|
||||||
|
|
||||||
|
|
||||||
## Running layout tests under valgrind on Linux
|
|
||||||
|
|
||||||
As above, but use `tools/valgrind/chrome_tests.sh -t webkit` instead. e.g.
|
|
||||||
|
|
||||||
sh tools/valgrind/chrome_tests.sh -t webkit LayoutTests/fast/
|
|
||||||
|
|
||||||
This defaults to using --debug. Read the script for more details.
|
|
||||||
|
|
||||||
If you're trying to reproduce a run from the valgrind buildbot, look for the
|
|
||||||
`--run_chunk=XX:YY` line in the bot's log. You can rerun exactly as the bot did
|
|
||||||
with the commands.
|
|
||||||
|
|
||||||
```shell
|
|
||||||
cd ~/chromium/src
|
|
||||||
echo XX > valgrind_layout_chunk.txt
|
|
||||||
sh tools/valgrind/chrome_tests.sh -t layout -n YY
|
|
||||||
```
|
|
||||||
|
|
||||||
That will run the XXth chunk of YY layout tests.
|
|
||||||
|
|
||||||
## Configuration tips
|
## Configuration tips
|
||||||
|
|
||||||
* Use an optimized `content_shell` when rebaselining or running a lot of
|
* Use an optimized `content_shell` when rebaselining or running a lot of
|
||||||
|
@ -411,29 +411,6 @@ If some messages show as unknown, check if the list of IPC message headers in
|
|||||||
up to date. In case this file reference goes out of date, try looking for usage
|
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`.
|
of macros like `IPC_MESSAGE_LOG_ENABLED` or `IPC_MESSAGE_MACROS_LOG_ENABLED`.
|
||||||
|
|
||||||
## Using valgrind
|
|
||||||
|
|
||||||
To run valgrind on the browser and renderer processes, with our suppression file
|
|
||||||
and flags:
|
|
||||||
|
|
||||||
$ cd $CHROMIUM_ROOT/src
|
|
||||||
$ tools/valgrind/valgrind.sh out/Debug/chrome
|
|
||||||
|
|
||||||
You can use valgrind on chrome and/or on the renderers e.g
|
|
||||||
`valgrind --smc-check=all ../sconsbuild/Debug/chrome`
|
|
||||||
or by passing valgrind as the argument to `--render-cmd-prefix`.
|
|
||||||
|
|
||||||
Beware that there are several valgrind "false positives" e.g. pickle, sqlite and
|
|
||||||
some instances in webkit that are ignorable. On systems with prelink and address
|
|
||||||
space randomization (e.g. Fedora), you may also see valgrind errors in libstdc++
|
|
||||||
on startup and in gnome-breakpad.
|
|
||||||
|
|
||||||
Valgrind doesn't seem to play nice with tcmalloc. To disable tcmalloc set the GN arg:
|
|
||||||
|
|
||||||
use_allocator="none"
|
|
||||||
|
|
||||||
and rebuild.
|
|
||||||
|
|
||||||
## Profiling
|
## Profiling
|
||||||
|
|
||||||
See
|
See
|
||||||
|
@ -161,37 +161,6 @@ work around this, turn off the sandbox (via `export CHROME_DEVEL_SANDBOX=`).
|
|||||||
For further information, please refer to
|
For further information, please refer to
|
||||||
http://google-perftools.googlecode.com/svn/trunk/doc/heapprofile.html.
|
http://google-perftools.googlecode.com/svn/trunk/doc/heapprofile.html.
|
||||||
|
|
||||||
### Massif
|
|
||||||
|
|
||||||
[Massif](http://valgrind.org/docs/manual/mc-manual.html) is a
|
|
||||||
[Valgrind](https://www.chromium.org/developers/how-tos/using-valgrind)-based heap
|
|
||||||
profiler. It is much slower than the heap profiler from google-perftools, but it
|
|
||||||
may have some advantages. (In particular, it handles the multi-process
|
|
||||||
executables well).
|
|
||||||
|
|
||||||
First, you will need to build massif from valgrind-variant project yourself,
|
|
||||||
it's [easy](http://code.google.com/p/valgrind-variant/wiki/HowTo).
|
|
||||||
|
|
||||||
Then, make sure your Chromium is built using the
|
|
||||||
[valgrind instructions](https://www.chromium.org/developers/how-tos/using-valgrind).
|
|
||||||
Now, you can run massif like this:
|
|
||||||
|
|
||||||
```
|
|
||||||
path-to-valgrind-variant/valgrind/inst/bin/valgrind \
|
|
||||||
--fullpath-after=/chromium/src/ \
|
|
||||||
--trace-children-skip=*npviewer*,/bin/uname,/bin/sh,/usr/bin/which,/bin/ps,/bin/grep,/usr/bin/linux32 \
|
|
||||||
--trace-children=yes \
|
|
||||||
--tool=massif \
|
|
||||||
out/Release/chrome --noerrdialogs --disable-hang-monitor --other-chrome-flags
|
|
||||||
```
|
|
||||||
|
|
||||||
The result will be stored in massif.out.PID files, which you can post-process
|
|
||||||
with [ms_print](http://valgrind.org/docs/manual/mc-manual.html).
|
|
||||||
|
|
||||||
TODO(kcc) sometimes when closing a tab the main process kills the tab process
|
|
||||||
before massif completes writing it's log file. Need a flag that tells the main
|
|
||||||
process to wait longer.
|
|
||||||
|
|
||||||
## Paint profiling
|
## Paint profiling
|
||||||
|
|
||||||
You can use Xephyr to profile how chrome repaints the screen. Xephyr is a
|
You can use Xephyr to profile how chrome repaints the screen. Xephyr is a
|
||||||
|
Reference in New Issue
Block a user