C++ POSIX 上的故障转储

发布于 2024-11-14 19:11:45 字数 153 浏览 5 评论 0原文

我有一个很大的 C++ 代码(某些应用程序的服务器)。 该应用程序很大,平均每 2 个月就会发生一次崩溃。 我无法用 gdb 模拟这次崩溃来捕获她。

是否存在一些很酷的 api 来分析故障转储上的内存(堆栈跟踪、本地变量)?

捕获堆栈损坏时间的最佳方法是什么?

I have a big C++ code (server for some application).
This application is big, and catch a crash per 2 months in average.
And i can't simulate this crash to catch her with gdb.

Is exists some cool api to analyze memory on crash dump (stacktrace, local vars)?

What is best way to catch stack corruption time?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

薄荷港 2024-11-21 19:11:45

启用核心转储,等待它崩溃。然后将核心加载到 gdb 中并像往常一样进行调试。

ulimit -c 无限制

Enable core dumping, wait for it to crash. Then load the core into gdb and debug as usual.

ulimit -c unlimited

无力看清 2024-11-21 19:11:45

您可以执行以下几项操作:
1. 对代码进行单元测试,并使用 valgrind 执行它们
2.启用核心转储(正如Let_Me_Be在他的回答中所说)

There are several things you can do :
1. Unit test your code, and execute them using valgrind
2. enable core dumps (as Let_Me_Be said in his answer)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文