问题标签 [google-breakpad]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
383 浏览

android - 错误:在 Android 应用程序中集成 Breakpad 时出现预期的嵌套名称说明符错误

我按照 URL: https ://github.com/ashtom/breakapp/blob/master/README.md 中给出的步骤 来测试带有 Breakpad 集成的示例曲棍球应用程序,但是在执行步骤 4 时出现以下错误(ndk 构建)。

我有以下配置:Mac OSX 10.10.5 和 android-ndk-r10e-darwin-x86_64.bin。

0 投票
1 回答
1329 浏览

c++ - google-breakpad 中无用的转储

我将 google-breakpad 插入到我的测试应用程序中。但是在应用程序崩溃并且我从转储中获取信息后,在崩溃的线程中总是这样:

我究竟做错了什么?我怎样才能获得有用的崩溃地点?我的“安装代码”:

我的崩溃部分代码:

崩溃的线程堆栈跟踪:

UPD1:我发现来自不同计算机的同一崩溃程序的转储具有不同的信息。从上面的第一个转储无用,在另一个上它显示了完全需要的堆栈和位置。这件事有什么问题?

UPD2:下面的答案对我有帮助。我想补充一点,您可以安装 Cygwin 并使用它的 minidump_stackwalk 来生成有用的堆栈跟踪。如果您不想安装它并且只需要解码转储的东西,这里是存档,您可以在其中找到 minidump_stackwalk.exe 和所有需要的 dll。我从我安装的 Cygwin 中取出它们。minidump_stackwalk 存档

0 投票
0 回答
143 浏览

c++ - 如何在崩溃后调试崩溃报告者的行为?

我使用 Google Breakpad 在 Mac 和 Windows 上报告 C++ 应用程序的崩溃。在这两个平台上,Breakpad 的工作原理是为未捕获的异常注册一个处理程序。该处理程序由通常会使进程崩溃的大多数事情触发,例如取消引用空指针。

但是现在我有一个场景,处理程序没有被调用并且进程崩溃到操作系统崩溃报告器。它是 100% 可重现的,但我无法调试它,因为将调试器附加到进程会抢占未捕获的异常处理程序。

如果不是到我的处理程序,哪些技术(除了丰富的 printfs)可以帮助我追踪代码流的去向?我想我想要一些 IDE 设置来让我的调试器(Visual Studio 和/或 Xcode)跳过空指针取消引用并进入 C++ 运行时的处理程序代码。但也欢迎其他技术。

我在这里有我的问题场景的最小再现:https ://bugreports.qt.io/browse/QTBUG-50061

0 投票
1 回答
1185 浏览

linux - breakpad 32-bit build fails on a 64-bit Linux system

I am trying to build 32-bit breakpad on a 64-bit Linux system but I am getting the build error. I did the following as explained here.

./configure CXXFLAGS=-m32 CFLAGS=-m32 CPPFLAGS=-m32

make

In make, I am getting the following error:

src/common/stabs_reader.cc: In member function ‘bool google_breakpad::StabsReader::Process()’:

src/common/stabs_reader.cc:98:35: error: ‘N_UNDF’ was not declared in this scope

Makefile:4678: recipe for target 'src/common/stabs_reader.o' failed

make: *** [src/common/stabs_reader.o] Error 1

Then I looked into the ./configure output and saw that it could be the problem with a.out.h because of the following output:

checking a.out.h usability... no

checking a.out.h presence... no

checking for a.out.h... no

Anyone else face this problem? Am I missing something?

0 投票
1 回答
519 浏览

c++ - 没有使用 breakpad 核心文件在 gdb 中加载符号

我已经在使用 google-crashdumper 但我现在想试试 breakpad。我已经在我的项目中集成了 google-breakpad,并且我故意使应用程序崩溃以测试 breakpad。

我正在将 minidump 转换为核心文件并加载到 gdb 中,如下所示

问题是共享库中没有符号。它看起来像下面这样:

只发了2个线程。它与每个线程都相似,这很奇怪,因为我也向 gdb 提供了我的可执行文件。

然后我比较了breakpad的核心文件和crashdumper的核心文件。在 crashdumper 核心文件中,一切都被完美加载。所有库中的所有符号。它显示了发生崩溃的线程程序。但是在breakpad版本中没有这样的东西。

我在breakpad中缺少什么?我用谷歌搜索了很多,但徒劳无功。没有发现任何东西和任何人面临这样的问题。

更新 我可能知道它为什么会这样。我检查info sharedlibrary了 gdb 并发现以下内容:

因此,如果我没记错的话,它正在寻找不存在的共享库。即使我安装了breakpad,也没有这样的文件夹/varlib/breakpad

0 投票
1 回答
948 浏览

qt - Qt Breakpad 结果

我正在关注此网址中的注释

我在我的代码(Qt、Windows、VS 2015)上编译了它,我在调试模式下运行它,当它崩溃时,我执行以下操作:

创建符号文件

使用dmp和符号文件生成文本文件(各试一试)

但我没有看到任何显示导致应用程序崩溃的原因。我在文本中看到(600 行)(它不是所有的信息,只是希望显示我想要显示的内容。其余的数据有些相同):

我构建输出的方式有问题吗?顺便说一句,我在 Windows 上

0 投票
2 回答
3781 浏览

android - 谷歌breakpad构建错误

为 android 构建 google breakpad 但出现构建错误。不知道如何解决它们。代码结帐来自:代码

并构建为ndk build。结帐代码没有 lss 文件夹。

0 投票
2 回答
313 浏览

c++ - 使用 google breakpad 注册异常处理程序时出现总线错误

我正在尝试在我的应用程序中使用 google breakpad。但是这样做时我遇到了buserror。

示例应用:

我从下面的行收到错误:

输出 :

我做错什么了吗?

0 投票
0 回答
1104 浏览

c++ - 使用 google breakpad 的 minidump 无法显示应用程序崩溃的行号

我在崩溃时为我的应用程序获得了 minidump 文件。但它没有给我函数名称和行号等详细信息。输出如下

这些是我用来查看转储输出的步骤

我做错什么了吗?

0 投票
3 回答
25329 浏览

c++11 - 配置错误“需要支持 C++11 语言功能的编译器。”

我正在尝试根据https://chromium.googlesource.com/breakpad/breakpad/中的文档构建 breakpad 库,但是当我执行./configure && make时,在检查 c++11 时出现错误,即使我目前能够用 c++11 编译。

这是来自的输出./configure

这是来自的输出g++ --version

这是一个使用 c++11 编译的示例应用程序:

我不知道为什么 breakpad 抱怨我的 g++ 不支持 c++11,或者是否有办法可以覆盖或添加额外的参数,以便正确检测到我的编译器。

关于我可能遗漏或做错的任何提示?breakpad 是否使用了我系统中可能安装的另一个 gcc?

这是 config.log 文件: http: //pastebin.com/TuHrmiLv