flag is needed because otherwise the seccomp sandbox will kill the renderer process on startup, or the setuid sandbox will prevent xterm‘s execution.The “xterm” is necessary or gdb will run in the current terminal, which can get particularly confusing since it’s running in the background, and if you‘re also running the main process in gdb, won’t work at all (the two instances will fight over the terminal).Xvfb is an X11 server that redirects the graphical output to the memory, and openbox is a simple window manager that is running on top of Xvfb.
That would allow you to get a backtrace and see some local variables, though you won’t be able to step through the running program.
Note: If you‘re interested in debugging Linux Sandbox IPC process, you can attach to 694 in the above diagram.
To auto-start the renderers in the debugger, send the “run” command to the debugger: 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).
and attach to the process in order to debug the renderer code.
Once installed, you can use it like this:rr record out/Debug/content_shell --single-process --no-sandbox --disable-hang-monitor --single-process --disable-seccomp-sandbox --disable-setuid-sandbox rr replay (gdb) c (gdb) break blink:: NGBlock Node:: Layout (gdb) rc # reverse-continue to the last Layout call (gdb) jsdbg # run Js Dbg as described above to find the interesting object (gdb) watch -l box_-frame_rect_.size_.width_.value_ (gdb) rc # reverse-continue to the last time the width was changed (gdb) rn # reverse-next to the previous line (gdb) reverse-fin # run to where this function was called from 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/5Ki4LGx41Cc J for more info. You can improve GDB load time significantly at the cost of link time by splitting symbols from the object files.
In GN, set See linux_minidump_to_Many of our tests bring up windows on screen.
This can be annoying (they steal your focus) and hard to debug (they receive extra events as you mouse over them).
Instead, use -- this makes the test harness and browser process share the outermost process.