编译构建Electron-9.x-debug版本

817 阅读1分钟

Electron官方的构建流程中对构建已有详细说明,不再赘述。

但是自9.x版本后Electron官方不再提供debug版本的编译脚本debug.gn,只有testing.gn、release.gn两个编译脚本。只能编译出已优化的Electron,无法获得C++中的symbol table,导致调试时无法打印函数及变量。

要获得symbol table,编译的流程为:

  1. 编写debug.gn,在testing.gn基础上改写symbol_level=2, is_debug=true
// /electron/build/args/debug.gn

import("all.gn")

is_debug = true

is_component_build = false

is_component_ffmpeg = true

is_official_build = false

dcheck_always_on = true

symbol_level = 2
  1. 生成构建文件:gn gen out/Debug --args="import("//electron/build/args/debug.gn") $GN_EXTRA_ARGS"

  2. 修改build/config/compiler/compiler.gni,否则编译会报错

forbid_non_component_debug_builds = false
  1. 开始编译: ninja -C out/Debug electron

编译完成后可以正常打印变量值