| Index: telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py
|
| diff --git a/telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py b/telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py
|
| index aaa3360e9142455cdf1b79ccd37fe216eab3c809..3e9ac8e1f839a29f8b5f7d00a6266e620dd7a56f 100644
|
| --- a/telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py
|
| +++ b/telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py
|
| @@ -441,8 +441,14 @@ class DesktopBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
|
| if not cdb:
|
| logging.warning('cdb.exe not found.')
|
| return None
|
| + # Include all the threads' stacks ("~*k30") in addition to the
|
| + # ostensibly crashed stack associated with the exception context
|
| + # record (".ecxr;k30"). Note that stack dumps, including that
|
| + # for the crashed thread, may not be as precise as the one
|
| + # starting from the exception context record.
|
| output = subprocess.check_output([cdb, '-y', self._browser_directory,
|
| - '-c', '.ecxr;k30;q', '-z', minidump])
|
| + '-c', '.ecxr;k30;~*k30;q',
|
| + '-z', minidump])
|
| # cdb output can start the stack with "ChildEBP", "Child-SP", and possibly
|
| # other things we haven't seen yet. If we can't find the start of the
|
| # stack, include output from the beginning.
|
|
|