如何将Crashpad与linux中的守护程序应用程序集成?是否有任何实施指南



如何在linux中将Crashpad与守护进程应用程序集成?是否有任何实施指南?我并没有在铬项目现场找到任何官方推荐的步骤。

您需要构建Crashpad并将libbase.alibclient.alibutil.a与您的应用程序链接起来。

此外,您还需要添加$CRASHPAD_DIR/include$CRASHPAD_DIR/include/third_party/mini_chromium/mini_chromium作为包含目录。

以下clang++命令将构建Crashpad并将其与源文件main.cpp:链接

clang++ $PROJECT_DIR/main.cpp 
$CRASHPAD_DIR/lib/libclient.a 
$CRASHPAD_DIR/lib/libutil.a 
$CRASHPAD_DIR/lib/libbase.a 
-I$CRASHPAD_DIR/include 
-I$CRASHPAD_DIR/include/third_party/mini_chromium/mini_chromium 
-o$OUT_DIR/$MODULE_NAME 
-g 
-Wl,--build-id

请注意,指定Crashpad库的顺序很重要!libbase.a需要是最后指定的库,否则clang++将退出并返回错误。

此外,如果在展开小型转储文件时需要函数名和行号,则需要标志-g-Wl,--build-id

在Ubuntu上使用clang++构建的示例应用程序可以在这里找到。关于构建Crashpad并将其与您自己的应用程序集成以及使用dump_symssymuploadminidump_stackwalk的完整教程,可以在此处找到。

最新更新