提问人:Marsupito 提问时间:11/2/2023 更新时间:11/2/2023 访问量:38
在sentry-native中调用before_send回调时,如何确保已经创建了小型转储?
How to make sure the minidump is already created when the before_send callback is called in sentry-native?
问:
sentry_value_t before_send(sentry_value_t event, void* hint, void* closure)
{
// Get files' paths
CString srcPath = GetSentryDBPath() + "reports\\";
CString destPath = GetSentryDBPath() + "..\\ACopy.dmp";
// Get source file's name
WIN32_FIND_DATA ffd;
HANDLE hFind = FindFirstFile((srcPath + "*.dmp").GetString(), &ffd);
if (hFind != INVALID_HANDLE_VALUE)
{
srcPath += ffd.cFileName;
}
FindClose(hFind);
<more code...>
}
在上面的C++代码(在 Windows 上)中,我正在尝试复制 Sentry 创建的.dmp文件,供其他内部工具使用。但是,我调试了它(通过日志记录),似乎在我的应用程序崩溃后,当调用 Sentry 的回调时(在同一崩溃的进程中),Sentry 的后端 (crashpad_handler.exe) 还没有创建.dmp文件。有没有办法在创建.dmp文件后强制调用回调?或者我根本无法使用回调来做到这一点?before_send
答: 暂无答案
评论