首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从小型转储文件中获取崩溃的进程id

如何从小型转储文件中获取崩溃的进程id
EN

Stack Overflow用户
提问于 2021-01-11 19:01:31
回答 1查看 63关注 0票数 1

我的应用程序是使用Electron(v11.1.1)开发的,它使用crashpad从每个进程中捕获所有崩溃的dmp文件。如何从小型转储文件中获取崩溃的进程id或其他元数据

EN

回答 1

Stack Overflow用户

发布于 2021-04-14 00:08:18

我发现我们可以直接从dmp文件中解析一些字段

代码语言:javascript
复制
async function parseProcessDetailFromDump(dumpPath) {
  return new Promise((ok, fail) => {
    const readStream = fs.createReadStream(dumpPath)
    let ptype = null
    let pid = null
    readStream.on("data", (chunk) => {
      const text = chunk.toString(`utf-8`)
      const lines = text.split(path.sep)
      for (const line of lines) {
        const found = line.match(/ptype/)
        if (found != null && found.length > 0) {
          const regPtype = /(?<=ptype[^0-9a-zA-Z]+)[0-9a-zA-Z]+/gu
          const regPid = /(?<=pid[^0-9a-zA-Z]+)[0-9a-zA-Z]+/gu
          ptype = line.match(regPtype)[0]
          pid = line.match(regPid)[0]
        }
      }
    })
    readStream.on("error" , () => {
      rejects()
    })
    readStream.on("end", () => {
      ok({pid, ptype})
    })
  })
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65665654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档