import {
WechatCrashHelper,
WechatFileName,
DetachReason,
} from 'wechat-crash-helper'
const wxFile = WechatFileName.wechat
const helper = new WechatCrashHelper(wxFile)
main().catch((reason) => {
console.log('执行异常:', reason)
})
async function main() {
await helper.attach()
await helper.setDetachedCallback(onDetached)
await helper.closeBugReportFlag()
await helper.closeSendBugReport()
const info = await helper.getInfo()
console.log('从微信获得信息:', info)
const modules = await helper.enumerateModules()
console.log('当前模块列表:', JSON.stringify(modules, null, 2))
setTimeout(() => {
console.log('准备分离')
helper.detach()
}, 15000)
}
function onDetached(reason: DetachReason) {
switch (reason) {
case DetachReason.ProcessTerminated:
console.log(`进程结束: ${reason}`)
break
case DetachReason.ApplicationRequested:
console.log(`脚本分离: ${reason}`)
break
default:
break
}
}
async function onBeforeExit() {
await helper.detach()
}
process.on('beforeExit', onBeforeExit)
process.on('SIGINT', onBeforeExit)