![]() |
1
56
分叉进程,然后使子进程崩溃-它将在您需要时为您提供快照 |
![]() |
2
6
另一种方法可能是使用 Google Coredumper 图书馆。这与fork+abort技术产生了类似的结果,但对多线程应用程序的效果更好(在fork之前暂停所有线程一段时间,这样它们就不会给孩子造成混乱)。 例子: #include <google/coredumper.h> ... WriteCoreDump('core.myprogram'); /* Keep going, we generated a core file, * but we didn't crash. */ |
![]() |
3
3
Sun介绍了如何在Solaris、HP-UX、RedHat和Windows上获取核心文件。 here . Solaris有gcore程序。HP-UX可能有。 否则,使用gdb及其gcore命令。 Windows具有win dbg root\tlist.exe和win dbg root\adplus.vbs |
![]() |
4
3
你真的想要一个核心,还是只是一个stacktrace? 如果您只需要一个stacktrace,您可以查看OpenSource here 尝试从那里集成代码,或者仅仅从命令行调用它就足够了。 我相信GDB项目中的一些代码也可能有用。 另一个您可能想要做的是使用gdb连接到正在运行的进程。
|
![]() |
5
1
生成核心转储的源代码位于“gcore”中,它是gdb包的一部分。 此外,太阳 gcore . 另外,必须有一个单独的进程运行核心转储,因为当前进程必须挂起。您将在gcore源中找到详细信息,或者您只需以您的进程为目标运行平台的gcore。 |
|
Norton · c中的分段错误(核心转储)(向数组发送文本) 11 年前 |