我有兴趣将崩溃记者添加到我们的计划中。困难在于,在典型的情况下,我们的程序作为源分发,然后用户自己编译。
典型的崩溃报告系统(如核心转储和Google Breakpad)假设开发人员可以访问与生成崩溃报告的二进制文件相同的二进制文件。 (例如,Breakpad minidumps没有任何符号信息,并且依赖于在开发人员一侧生成的符号表。)如果用户编译了这个符号表,则情况不一定如此。他们自己的机器上的软件。 (由于不同的操作系统变体,不同的编译器等)
是否存在一个强大的跨平台崩溃报告系统,该系统并不依赖于开发人员手头上具有二进制相同版本的程序? (我们的跨平台主要是类似Unix的(Linux和MacOS),虽然适用于Windows的东西也会受到赞赏。)
我已经考虑过将一个 ad hoc 记者与backtrace / backtrace_symbols / __ cxa_demangle放在一起,但这只能给出最好的调用树。我想知道是否有可能获得有关局部变量内容的信息 - 特别是传递给函数的参数值。