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

Side by Side Diff: docs/linux_debugging.md

Issue 2545363002: Use HTTPS links for Google domains in docs (Closed)
Patch Set: Modify two more files in subdirectories Created 4 years 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 unified diff | Download patch
« no previous file with comments | « docs/linux_chromium_arm.md ('k') | docs/linux_development.md » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Tips for debugging on Linux 1 # Tips for debugging on Linux
2 2
3 This page is for Chromium-specific debugging tips; learning how to run gdb is 3 This page is for Chromium-specific debugging tips; learning how to run gdb is
4 out of scope. 4 out of scope.
5 5
6 [TOC] 6 [TOC]
7 7
8 ## Symbolized stack trace 8 ## Symbolized stack trace
9 9
10 The sandbox can interfere with the internal symbolizer. Use `--no-sandbox` (but 10 The sandbox can interfere with the internal symbolizer. Use `--no-sandbox` (but
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 the renderers won't be sandboxed. It is generally not an issue, except when you 73 the renderers won't be sandboxed. It is generally not an issue, except when you
74 are trying to debug interactions with the sandbox. If that's what you are doing, 74 are trying to debug interactions with the sandbox. If that's what you are doing,
75 you will need to attach your debugger to a running renderer process (see below). 75 you will need to attach your debugger to a running renderer process (see below).
76 *** 76 ***
77 77
78 You may also want to pass `--disable-hang-monitor` to suppress the hang monitor, 78 You may also want to pass `--disable-hang-monitor` to suppress the hang monitor,
79 which is rather annoying. 79 which is rather annoying.
80 80
81 You can also use `--renderer-startup-dialog` and attach to the process in order 81 You can also use `--renderer-startup-dialog` and attach to the process in order
82 to debug the renderer code. Go to 82 to debug the renderer code. Go to
83 http://www.chromium.org/blink/getting-started-with-blink-debugging for more 83 https://www.chromium.org/blink/getting-started-with-blink-debugging for more
84 information on how this can be done. 84 information on how this can be done.
85 85
86 #### Choosing which renderers to debug 86 #### Choosing which renderers to debug
87 87
88 If you are starting multiple renderers then the above means that multiple gdb's 88 If you are starting multiple renderers then the above means that multiple gdb's
89 start and fight over the console. Instead, you can set the prefix to point to 89 start and fight over the console. Instead, you can set the prefix to point to
90 this shell script: 90 this shell script:
91 91
92 ```sh 92 ```sh
93 #!/bin/sh 93 #!/bin/sh
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 #### Single-Process mode 189 #### Single-Process mode
190 190
191 Depending on whether it's relevant to the problem, it's often easier to just run 191 Depending on whether it's relevant to the problem, it's often easier to just run
192 in "single process" mode where the renderer threads are in-process. Then you can 192 in "single process" mode where the renderer threads are in-process. Then you can
193 just run gdb on the main process. 193 just run gdb on the main process.
194 194
195 gdb --args chrome --single-process 195 gdb --args chrome --single-process
196 196
197 Currently, the `--disable-gpu` flag is also required, as there are known crashes 197 Currently, the `--disable-gpu` flag is also required, as there are known crashes
198 that occur under TextureImageTransportSurface without it. The crash described in 198 that occur under TextureImageTransportSurface without it. The crash described in
199 http://crbug.com/361689 can also sometimes occur, but that crash can be 199 https://crbug.com/361689 can also sometimes occur, but that crash can be
200 continued from without harm. 200 continued from without harm.
201 201
202 Note that for technical reasons plugins cannot be in-process, so 202 Note that for technical reasons plugins cannot be in-process, so
203 `--single-process` only puts the renderers in the browser process. The flag is 203 `--single-process` only puts the renderers in the browser process. The flag is
204 still useful for debugging plugins (since it's only two processes instead of 204 still useful for debugging plugins (since it's only two processes instead of
205 three) but you'll still need to use `--plugin-launcher` or another approach. 205 three) but you'll still need to use `--plugin-launcher` or another approach.
206 206
207 ### Printing Chromium types 207 ### Printing Chromium types
208 208
209 gdb 7 lets us use Python to write pretty-printers for Chromium types. The 209 gdb 7 lets us use Python to write pretty-printers for Chromium types. The
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 locally now - and often nearly 100% of the time. 387 locally now - and often nearly 100% of the time.
388 388
389 ## Logging 389 ## Logging
390 390
391 ### Seeing all LOG(foo) messages 391 ### Seeing all LOG(foo) messages
392 392
393 Default log level hides `LOG(INFO)`. Run with `--log-level=0` and 393 Default log level hides `LOG(INFO)`. Run with `--log-level=0` and
394 `--enable-logging=stderr` flags. 394 `--enable-logging=stderr` flags.
395 395
396 Newer versions of Chromium with VLOG may need --v=1 too. For more VLOG tips, see 396 Newer versions of Chromium with VLOG may need --v=1 too. For more VLOG tips, see
397 [the chromium-dev thread](http://groups.google.com/a/chromium.org/group/chromium -dev/browse_thread/thread/dcd0cd7752b35de6?pli=1). 397 [the chromium-dev thread](https://groups.google.com/a/chromium.org/group/chromiu m-dev/browse_thread/thread/dcd0cd7752b35de6?pli=1).
398 398
399 ### Seeing IPC debug messages 399 ### Seeing IPC debug messages
400 400
401 Run with `CHROME_IPC_LOGGING=1` eg. 401 Run with `CHROME_IPC_LOGGING=1` eg.
402 402
403 CHROME_IPC_LOGGING=1 out/Debug/chrome 403 CHROME_IPC_LOGGING=1 out/Debug/chrome
404 404
405 or within gdb: 405 or within gdb:
406 406
407 set environment CHROME_IPC_LOGGING 1 407 set environment CHROME_IPC_LOGGING 1
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
478 If you break in a debugger during a drag, Chrome will have grabbed your mouse 478 If you break in a debugger during a drag, Chrome will have grabbed your mouse
479 and keyboard so you won't be able to interact with the debugger! To work around 479 and keyboard so you won't be able to interact with the debugger! To work around
480 this, run via `Xephyr`. Instructions for how to use `Xephyr` are on the 480 this, run via `Xephyr`. Instructions for how to use `Xephyr` are on the
481 [Running layout tests on Linux](layout_tests_linux.md) page. 481 [Running layout tests on Linux](layout_tests_linux.md) page.
482 482
483 ## Tracking Down Bugs 483 ## Tracking Down Bugs
484 484
485 ### Isolating Regressions 485 ### Isolating Regressions
486 486
487 Old builds are archived here: 487 Old builds are archived here:
488 http://build.chromium.org/buildbot/snapshots/chromium-rel-linux/ 488 https://build.chromium.org/buildbot/snapshots/chromium-rel-linux/
489 (TODO: does not exist). 489 (TODO: does not exist).
490 490
491 `tools/bisect-builds.py` in the tree automates bisecting through the archived 491 `tools/bisect-builds.py` in the tree automates bisecting through the archived
492 builds. Despite a computer science education, I am still amazed how quickly 492 builds. Despite a computer science education, I am still amazed how quickly
493 binary search will find its target. 493 binary search will find its target.
494 494
495 ### Screen recording for bug reports 495 ### Screen recording for bug reports
496 496
497 sudo apt-get install gtk-recordmydesktop 497 sudo apt-get install gtk-recordmydesktop
498 498
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 [Running layout tests on Linux](layout_tests_linux.md) page. 537 [Running layout tests on Linux](layout_tests_linux.md) page.
538 538
539 If you need to test something with hardware accelerated compositing 539 If you need to test something with hardware accelerated compositing
540 (e.g., compiz), you can use `Xgl` (`sudo apt-get install xserver-xgl`). E.g.: 540 (e.g., compiz), you can use `Xgl` (`sudo apt-get install xserver-xgl`). E.g.:
541 541
542 Xgl :1 -ac -accel glx:pbuffer -accel xv:pbuffer -screen 1024x768 542 Xgl :1 -ac -accel glx:pbuffer -accel xv:pbuffer -screen 1024x768
543 543
544 ## Mozilla Tips 544 ## Mozilla Tips
545 545
546 https://developer.mozilla.org/en/Debugging_Mozilla_on_Linux_FAQ 546 https://developer.mozilla.org/en/Debugging_Mozilla_on_Linux_FAQ
OLDNEW
« no previous file with comments | « docs/linux_chromium_arm.md ('k') | docs/linux_development.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698