我交叉编译了这个使用boost::asio库的应用程序,并在我的目标系统上进行了测试。它正常工作。但是,当我尝试用gdb调试我的应用程序时,我会在gdb控制台中得到以下消息:
Program received signal SIGSEGV, Segmentation fault.
_dl_debug_initialize (ldbase=4294967292, ns=1996288212) at dl-debug.c:55
55 if (r->r_map == NULL || ldbase != 0)
对于远程调试和本机调试,以及其他几个boost库(但不是所有人),
我正在运行一个定制的2.6.27内核,我刚刚注意到在分段错误期间生成的核心文件比为进程设置的硬核心文件大小限制要大。
更奇怪的是,核心文件有时只被截断(但没有被ulimit设置的限制)。
例如,下面是我将尝试并崩溃的程序:
int main(int argc, char **argv)
{
// Get the hard and soft limit from command line
struct rlimit new = {atoi(argv[1]), atoi(argv[1])};
// Create some memory so as to beef up t