如何在Mac OSX上显示Minidump堆栈跟踪?

时间:2018-02-13 18:37:45

标签: c++ macos crash-reports google-breakpad

我编写了一个小型测试程序,它抛出了一个C ++异常。我已经设置Breakpad在这个抛出的异常上写一个minidump。我现在有一个.dmp文件,我希望看到堆栈跟踪。一些参考文献表明我应该。

  1. 使用Breakpad' dump_syms'生成.sym文件。实用程序,我已经完成了。我在调试二进制文件上运行dump_syms(它应该内置调试符号?)。 ./dump_syms breakpad_testing > breakpad_testing.sym
  2. 此时我有.dmp文件和.sym文件

    1. 检查.sym文件的第一行以查看以获取二进制版本哈希?这看起来像这样 - MODULE mac x86_64 ED3C7C3C3C283C749036117557E0A8500 breakpad_testing
    2. 使用此选项可创建预期的文件夹结构mkdir -p ./symbols/breakpad_testing/ED3C7C3C3C283C749036117557E0A8500和 将.sym文件移到那里。 mv breakpad_testing.sym ./symbols/breakpad_testing/ED3C7C3C3C283C749036117557E0A8500
    3. 使用' minidump_stackwalk'显示堆栈工具。 minidump_stackwalk breakpad_testing.dmp ./symbols
    4. 然而,这些步骤似乎对minidump_stackwalk的输出没有任何影响,我仍然看到输出行,如minidump.cc:2122: INFO: MinidumpModule could not determine version for /Users/mb/Library/Developer/Xcode/DerivedData/<blah>/Build/Products/Debug/breakpad_testing和非符号化的堆栈跟踪。

      我是否有误解或未正确使用OSX上的Breakpad?

      这是我跟随https://blog.inventic.eu/2012/08/qt-and-google-breakpad/

      的参考之一

0 个答案:

没有答案