Electron 追溯堆栈信息

178 阅读1分钟

背景

Electron 项目底层动态库与依赖动态库崩溃信息追溯困难,缺少追溯手段;经一段时间的挠头,在摸爬滚打中发现了在比较好用的LLDB、WinDbg 感谢C++小伙伴Rubber

释义

动态库(动态链接库) 以 .dylib 或者 .framework 后缀结尾 与静态库相反,动态库在编译时并不会被拷贝到目标程序中,目标程序中只会存储指向动态库的引用。等到程序运行时,动态库才会被真正加载进来。

Mac追溯

  1. 运行项目
  2. 运行目录下执行(以开发模式为例)
  // your`s App path 
  lldb Electron.app/Contents/MacOS/Electron
  1. 输入attch 线程(eg:10704)
// 你的Electron Host pid
attach -pid 10704
  1. 堆栈信息追溯 image.png

Window中追溯

  1. 工具:WinDbg
  2. 解压&环境变量配置
  3. 运行项目
  4. 找到主进程pid 【attch pid(eg:10704)】

image.png 5. 堆栈信息追溯

image.png

End