v8/tools/dumpcpp-driver.mjs
Camillo Bruni f2d079bc97 [tools][system-analyzer] Add local symbol server
Start a local symbol server using the local-web-sever node package:
   ws --stack system-analyzer/lws-middleware.js lws-static cors

The system-analyzer will then use it to symbolize profiles.

Note: The symbol server will execute `nm` and `objdump` locally.

Change-Id: Icff6e9f5af24f214f353c049f5cd13eedccf0f88
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979591
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75501}
2021-07-01 09:59:17 +00:00

25 lines
888 B
JavaScript

// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import {
CppProcessor, ArgumentsProcessor, LinuxCppEntriesProvider,
WindowsCppEntriesProvider, MacOSCppEntriesProvider
} from "./dumpcpp.mjs";
// Dump C++ symbols of shared library if possible
const entriesProviders = {
'linux': LinuxCppEntriesProvider,
'windows': WindowsCppEntriesProvider,
'macos': MacOSCppEntriesProvider
};
const params = ArgumentsProcessor.process(arguments);
const cppProcessor = new CppProcessor(
new (entriesProviders[params.platform])(params.nm, params.targetRootFS,
params.apkEmbeddedLibrary),
params.timedRange, params.pairwiseTimedRange);
await cppProcessor.processLogFile(params.logFileName);
cppProcessor.dumpCppSymbols();