Electron 调试¶
调试 Electron 中的问题和错误有许多不同的方法,其中许多是平台特定的。
下面介绍了一些更常见的调试方法。
通用调试¶
Chromium 包含可用于调试的日志宏,它可以在 C++ 和 Objective-C++ 中将信息打印到控制台。
你可以使用它来打印变量值、函数名和行号等信息。
一些示例:
LOG(INFO) << "bitmap.width(): " << bitmap.width();
LOG(INFO, bitmap.width() > 10) << "bitmap.width() is greater than 10!";
还有不同的日志严重级别:INFO、WARN 和 ERROR。
有关更多信息和示例,请参阅 Chromium 源代码树中的 logging.h。
打印堆栈跟踪¶
Chromium 包含一个辅助函数,可以在不中断程序的情况下将堆栈跟踪打印到控制台。
这将使你能够观察调用链并识别潜在的问题区域。
断点调试¶
请注意,这会显著增加构建大小,占用约 50G 磁盘空间
将以下文件写入 electron/.git/info/exclude/debug.gn
import("//electron/build/args/testing.gn")
is_debug = true
symbol_level = 2
forbid_non_component_debug_builds = false
然后执行:
$ gn gen out/Debug --args="import(\"//electron/.git/info/exclude/debug.gn\") $GN_EXTRA_ARGS"
$ ninja -C out/Debug electron
现在你可以使用 LLDB 进行断点调试。
平台特定调试¶
使用符号服务器进行调试¶
调试符号可帮助你获得更好的调试体验。它们包含可执行文件和动态库中函数的信息,并为你提供获取清晰调用栈所需的信息。符号服务器允许调试器自动加载正确的符号、二进制文件和源代码,而无需强制用户下载大型调试文件。
有关如何为 Electron 设置符号服务器的更多信息,请参阅 使用符号服务器进行调试。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 el/electron