如何在linux中将Crashpad与我的守护程序应用程序集成?有没有什么实施指南?我没有在铬项目网站上找到任何官方推荐的步骤。
发布于 2020-06-16 03:29:21
您需要构建Crashpad,并将libbase.a、libclient.a和libutil.a与您的应用程序链接起来。
此外,您还需要添加$CRASHPAD_DIR/include和$CRASHPAD_DIR/include/third_party/mini_chromium/mini_chromium作为包含目录。
下面的clang++命令将构建并链接到源文件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。
在here上可以找到一个在Ubuntu上使用clang++构建的示例应用程序。有关构建和集成Crashpad与您自己的应用程序以及使用dump_syms、symupload和minidump_stackwalk的完整教程,可以在here上找到。
https://stackoverflow.com/questions/58821090
复制相似问题