草庐IT

c++ - 使用 GDB 调试核心转储时知道谁是继承者

我的进程崩溃了,我有一个核心转储。我看到进程在运行类似于以下代码时崩溃了:classfather{public:voidvirtualrunVirtualFunc()=0;voidfunc(){runVirtualFunc();//...crashhere...THISISTHEPLACEINEEDTOKNOWWHOISTHEINHERITOR(soIcouldanalyzewhich"runVirtualFunc"ran).}virtual~father(){}};classson1:publicfather{public:voidvirtualrunVirtualFunc(){/*

c++ - 使用 GDB 调试核心转储时知道谁是继承者

我的进程崩溃了,我有一个核心转储。我看到进程在运行类似于以下代码时崩溃了:classfather{public:voidvirtualrunVirtualFunc()=0;voidfunc(){runVirtualFunc();//...crashhere...THISISTHEPLACEINEEDTOKNOWWHOISTHEINHERITOR(soIcouldanalyzewhich"runVirtualFunc"ran).}virtual~father(){}};classson1:publicfather{public:voidvirtualrunVirtualFunc(){/*

linux - 谁生成核心转储文件?内核还是 glibc?

(这里我只针对Linux)我假设核心是由glibc的默认信号处理程序生成的。但如果我用谷歌搜索,大部分结果都说操作系统生成核心转储。如果OS生成内核,信号处理程序将首先被调用(或)内核首先被转储? 最佳答案 内核本身生成核心转储。在此处查看linux内核源代码中的核心处理例程:http://lxr.linux.no/linux+v3.12.6/fs/coredump.c如果进程收到以下任何信号1,内核通过尝试核心转储来响应。#defineSIG_KERNEL_COREDUMP_MASK(\rt_sigmask(SIGQUIT)|rt

linux - 谁生成核心转储文件?内核还是 glibc?

(这里我只针对Linux)我假设核心是由glibc的默认信号处理程序生成的。但如果我用谷歌搜索,大部分结果都说操作系统生成核心转储。如果OS生成内核,信号处理程序将首先被调用(或)内核首先被转储? 最佳答案 内核本身生成核心转储。在此处查看linux内核源代码中的核心处理例程:http://lxr.linux.no/linux+v3.12.6/fs/coredump.c如果进程收到以下任何信号1,内核通过尝试核心转储来响应。#defineSIG_KERNEL_COREDUMP_MASK(\rt_sigmask(SIGQUIT)|rt

c - 系统调用核心转储?

我有一个问题:是否存在生成核心转储的系统调用?我知道哪个核心转储可以由信号生成,但我想知道它是否可能由系统调用生成 最佳答案 voidcreatedump(void){if(!fork()){//childprocess//Crashtheappabort()||(*((void*)0)=42);}}在任何你不想转储的地方调用这个函数。这将创建一个child并使其崩溃。所以即使不退出你的程序你也可以得到转储 关于c-系统调用核心转储?,我们在StackOverflow上找到一个类似的问题

c - 系统调用核心转储?

我有一个问题:是否存在生成核心转储的系统调用?我知道哪个核心转储可以由信号生成,但我想知道它是否可能由系统调用生成 最佳答案 voidcreatedump(void){if(!fork()){//childprocess//Crashtheappabort()||(*((void*)0)=42);}}在任何你不想转储的地方调用这个函数。这将创建一个child并使其崩溃。所以即使不退出你的程序你也可以得到转储 关于c-系统调用核心转储?,我们在StackOverflow上找到一个类似的问题

c - 应用程序崩溃,但没有生成核心转储

我有一个问题,我的应用程序在几天/几周后继续转储核心,但不幸的是,没有生成核心转储。我们尝试设置ulimit-cunlimited没有成功,所以我们合并了setrlimit代码本身的功能,但这种方法也没有运气。而且,最重要的是,我们也添加了MALLOC_CHECK_。有趣的是,当我们尝试启动手动核心转储(使用kill-ABRT)时,它确实生成了核心转储。我可以在/var/log/message中看到以下消息kernel:[2302077.396021]myapp[22140]:segfaultat54552e42ip00000000f773f36fsp00000000fffdc48ce

c - 应用程序崩溃,但没有生成核心转储

我有一个问题,我的应用程序在几天/几周后继续转储核心,但不幸的是,没有生成核心转储。我们尝试设置ulimit-cunlimited没有成功,所以我们合并了setrlimit代码本身的功能,但这种方法也没有运气。而且,最重要的是,我们也添加了MALLOC_CHECK_。有趣的是,当我们尝试启动手动核心转储(使用kill-ABRT)时,它确实生成了核心转储。我可以在/var/log/message中看到以下消息kernel:[2302077.396021]myapp[22140]:segfaultat54552e42ip00000000f773f36fsp00000000fffdc48ce

ios - Linux 上读取/转储 MachO 文件的工具?

Linux上是否有可用于读取/转储/分析MachO文件的工具?像readelf或objdump这样的东西,只是为了MachO格式?这必须在Linux上运行。 最佳答案 我提供了一个previousanswer描述如何将binutils(objdump和friend)用于Mach-O格式。希望它有所帮助-但由于您提到了iOS,您可能必须将--target参数更改为ARM目标。 关于ios-Linux上读取/转储MachO文件的工具?,我们在StackOverflow上找到一个类似的问题:

ios - Linux 上读取/转储 MachO 文件的工具?

Linux上是否有可用于读取/转储/分析MachO文件的工具?像readelf或objdump这样的东西,只是为了MachO格式?这必须在Linux上运行。 最佳答案 我提供了一个previousanswer描述如何将binutils(objdump和friend)用于Mach-O格式。希望它有所帮助-但由于您提到了iOS,您可能必须将--target参数更改为ARM目标。 关于ios-Linux上读取/转储MachO文件的工具?,我们在StackOverflow上找到一个类似的问题: