f2d079bc97
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}
25 lines
888 B
JavaScript
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();
|